clang  10.0.0svn
Public Member Functions | Public Attributes | List of all members
clang::EvaluatedStmt Struct Reference

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"

Collaboration diagram for clang::EvaluatedStmt:
Collaboration graph
[legend]

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...
 
StmtValue
 
APValue Evaluated
 

Detailed Description

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).

Definition at line 791 of file Decl.h.

Constructor & Destructor Documentation

◆ EvaluatedStmt()

clang::EvaluatedStmt::EvaluatedStmt ( )
inline

Definition at line 821 of file Decl.h.

Member Data Documentation

◆ CheckedICE

bool clang::EvaluatedStmt::CheckedICE

Whether we already checked whether this statement was an integral constant expression.

Definition at line 800 of file Decl.h.

Referenced by clang::VarDecl::checkInitIsICE(), clang::VarDecl::evaluateValue(), clang::ASTNodeImporter::ImportInitializer(), clang::ASTDeclReader::UpdateDecl(), and clang::ASTDeclReader::VisitVarDeclImpl().

◆ CheckingICE

bool clang::EvaluatedStmt::CheckingICE

Whether we are checking whether this statement is an integral constant expression.

Definition at line 804 of file Decl.h.

Referenced by clang::VarDecl::checkInitIsICE().

◆ Evaluated

APValue clang::EvaluatedStmt::Evaluated

Definition at line 819 of file Decl.h.

Referenced by clang::VarDecl::evaluateValue().

◆ HasConstantDestruction

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 816 of file Decl.h.

Referenced by clang::ASTDeclWriter::VisitVarDecl(), and clang::ASTDeclReader::VisitVarDeclImpl().

◆ IsEvaluating

bool clang::EvaluatedStmt::IsEvaluating

Whether this statement is being evaluated.

Definition at line 796 of file Decl.h.

Referenced by clang::VarDecl::evaluateValue().

◆ IsICE

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 809 of file Decl.h.

Referenced by clang::VarDecl::checkInitIsICE(), clang::VarDecl::evaluateValue(), clang::ASTNodeImporter::ImportInitializer(), clang::ASTDeclReader::UpdateDecl(), and clang::ASTDeclReader::VisitVarDeclImpl().

◆ Value

Stmt* clang::EvaluatedStmt::Value

◆ WasEvaluated

bool clang::EvaluatedStmt::WasEvaluated

Whether this statement was already evaluated.

Definition at line 793 of file Decl.h.

Referenced by clang::VarDecl::evaluateValue().


The documentation for this struct was generated from the following file: