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