clang
10.0.0git
|
Structure used to store a statement, the constant value to which it was evaluated (if any), and whether or not the statement is an integral constant expression (if known). More...
#include "clang/AST/Decl.h"
Public Member Functions | |
EvaluatedStmt () | |
Public Attributes | |
bool | WasEvaluated: 1 |
Whether this statement was already evaluated. More... | |
bool | IsEvaluating: 1 |
Whether this statement is being evaluated. More... | |
bool | CheckedICE: 1 |
Whether we already checked whether this statement was an integral constant expression. More... | |
bool | CheckingICE: 1 |
Whether we are checking whether this statement is an integral constant expression. More... | |
bool | IsICE: 1 |
Whether this statement is an integral constant expression, or in C++11, whether the statement is a constant expression. More... | |
bool | HasConstantDestruction: 1 |
Whether this variable is known to have constant destruction. More... | |
Stmt * | Value |
APValue | Evaluated |
Structure used to store a statement, the constant value to which it was evaluated (if any), and whether or not the statement is an integral constant expression (if known).
bool clang::EvaluatedStmt::CheckedICE |
Whether we already checked whether this statement was an integral constant expression.
Definition at line 793 of file Decl.h.
Referenced by clang::VarDecl::checkInitIsICE(), clang::VarDecl::evaluateValue(), clang::ASTNodeImporter::ImportInitializer(), clang::ASTDeclReader::UpdateDecl(), and clang::ASTDeclReader::VisitVarDeclImpl().
bool clang::EvaluatedStmt::CheckingICE |
Whether we are checking whether this statement is an integral constant expression.
Definition at line 797 of file Decl.h.
Referenced by clang::VarDecl::checkInitIsICE().
APValue clang::EvaluatedStmt::Evaluated |
Definition at line 812 of file Decl.h.
Referenced by clang::VarDecl::evaluateValue().
bool clang::EvaluatedStmt::HasConstantDestruction |
Whether this variable is known to have constant destruction.
That is, whether running the destructor on the initial value is a side-effect (and doesn't inspect any state that might have changed during program execution). This is currently only computed if the destructor is non-trivial.
Definition at line 809 of file Decl.h.
Referenced by clang::ASTDeclWriter::VisitVarDecl(), and clang::ASTDeclReader::VisitVarDeclImpl().
bool clang::EvaluatedStmt::IsEvaluating |
Whether this statement is being evaluated.
Definition at line 789 of file Decl.h.
Referenced by clang::VarDecl::evaluateValue().
bool clang::EvaluatedStmt::IsICE |
Whether this statement is an integral constant expression, or in C++11, whether the statement is a constant expression.
Only valid if CheckedICE is true.
Definition at line 802 of file Decl.h.
Referenced by clang::VarDecl::checkInitIsICE(), clang::VarDecl::evaluateValue(), clang::ASTNodeImporter::ImportInitializer(), clang::ASTDeclReader::UpdateDecl(), and clang::ASTDeclReader::VisitVarDeclImpl().
Stmt* clang::EvaluatedStmt::Value |
Definition at line 811 of file Decl.h.
Referenced by clang::VarDecl::checkInitIsICE(), clang::VarDecl::ensureEvaluatedStmt(), clang::VarDecl::evaluateValue(), and VariableCanNeverBeAConstantExpression().
bool clang::EvaluatedStmt::WasEvaluated |
Whether this statement was already evaluated.
Definition at line 786 of file Decl.h.
Referenced by clang::VarDecl::evaluateValue().