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