GCC Code Coverage Report


Directory: ../
File: src/exception/ErrorManager.cpp
Date: 2025-12-07 00:53:49
Coverage Exec Excl Total
Lines: 100.0% 8 0 8
Functions: 100.0% 3 0 3
Branches: 58.3% 7 0 12

Line Branch Exec Source
1 // Copyright (c) 2021-2025 ChilliBits. All rights reserved.
2
3 #include "ErrorManager.h"
4
5 #include <ast/ASTNodes.h>
6
7 namespace spice::compiler {
8
9 135 void ErrorManager::addSoftError(const ASTNode *astNode, SemanticErrorType errorType, const std::string &message) {
10 // Build error message
11
1/2
✓ Branch 2 → 3 taken 135 times.
✗ Branch 2 → 20 not taken.
135 const SemanticError semanticError(astNode, errorType, message);
12 // Add to soft errors list
13
2/4
✓ Branch 6 → 7 taken 135 times.
✗ Branch 6 → 14 not taken.
✓ Branch 7 → 8 taken 135 times.
✗ Branch 7 → 12 not taken.
135 addSoftError(astNode->codeLoc, semanticError.what());
14 135 }
15
16 135 void ErrorManager::addSoftError(const CodeLoc &codeLoc, const std::string &message) {
17 // Avoid duplicate errors
18
2/2
✓ Branch 3 → 4 taken 126 times.
✓ Branch 3 → 8 taken 9 times.
233 if (std::ranges::none_of(softErrors, [&](const SoftError &err) { return err.codeLoc == codeLoc; }))
19
2/4
✓ Branch 4 → 5 taken 126 times.
✗ Branch 4 → 11 not taken.
✓ Branch 5 → 6 taken 126 times.
✗ Branch 5 → 9 not taken.
126 softErrors.emplace_back(SoftError{codeLoc, message});
20 135 }
21
22 } // namespace spice::compiler
23