GCC Code Coverage Report


Directory: ../
File: src/irgenerator/LLVMExprResult.h
Date: 2025-10-09 06:28:01
Coverage Exec Excl Total
Lines: 100.0% 1 0 1
Functions: 100.0% 1 0 1
Branches: 75.0% 3 0 4

Line Branch Exec Source
1 // Copyright (c) 2021-2025 ChilliBits. All rights reserved.
2
3 #pragma once
4
5 #include <symboltablebuilder/SymbolTableEntry.h>
6
7 #include <llvm/IR/Value.h>
8
9 namespace spice::compiler {
10
11 // Forward declarations
12 class SymbolTableEntry;
13 class ExprNode;
14
15 // For routing through multiple LLVM values at once
16 struct LLVMExprResult {
17 llvm::Value *value = nullptr;
18 llvm::Constant *constant = nullptr;
19 llvm::Value *ptr = nullptr;
20 llvm::Value *refPtr = nullptr;
21 SymbolTableEntry *entry = nullptr;
22 const ExprNode *node = nullptr;
23
24
3/4
✓ Branch 2 → 3 taken 338 times.
✓ Branch 2 → 4 taken 2033 times.
✗ Branch 3 → 4 not taken.
✓ Branch 3 → 5 taken 338 times.
2371 [[nodiscard]] bool isTemporary() const { return entry == nullptr || entry->anonymous; }
25 };
26
27 } // namespace spice::compiler
28