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 0 (2→3) taken 374 times.
✓ Branch 1 (2→4) taken 1790 times.
✗ Branch 2 (3→4) not taken.
✓ Branch 3 (3→5) taken 374 times.
|
2164 | [[nodiscard]] bool isTemporary() const { return entry == nullptr || entry->anonymous; } |
25 | }; | ||
26 | |||
27 | } // namespace spice::compiler | ||
28 |