clang 20.0.0git
|
#include "clang/AST/ComparisonCategories.h"
Public Member Functions | |
ValueInfo (ComparisonCategoryResult Kind, VarDecl *VD) | |
bool | hasValidIntValue () const |
True iff we've successfully evaluated the variable as a constant expression and extracted its integer value. | |
llvm::APSInt | getIntValue () const |
Get the constant integer value used by this variable to represent the comparison category result type. | |
Public Attributes | |
ComparisonCategoryResult | Kind |
VarDecl * | VD |
Definition at line 85 of file ComparisonCategories.h.
|
inline |
Definition at line 89 of file ComparisonCategories.h.
llvm::APSInt ComparisonCategoryInfo::ValueInfo::getIntValue | ( | ) | const |
Get the constant integer value used by this variable to represent the comparison category result type.
Attempt to determine the integer value used to represent the comparison category result by evaluating the initializer for the specified VarDecl as a constant expression and retrieving the value of the class's first (and only) field.
Note: The STL types are expected to have the form: struct X { T value; }; where T is an integral or enumeration type.
Definition at line 67 of file ComparisonCategories.cpp.
bool ComparisonCategoryInfo::ValueInfo::hasValidIntValue | ( | ) | const |
True iff we've successfully evaluated the variable as a constant expression and extracted its integer value.
Definition at line 44 of file ComparisonCategories.cpp.
References clang::Type::getAsCXXRecordDecl(), clang::Decl::getASTContext(), clang::ValueDecl::getType(), clang::VarDecl::isUsableInConstantExpressions(), and VD.
Referenced by clang::Sema::CheckComparisonCategoryType(), and clang::ComparisonCategoryInfo::getValueInfo().
ComparisonCategoryResult clang::ComparisonCategoryInfo::ValueInfo::Kind |
Definition at line 86 of file ComparisonCategories.h.
VarDecl* clang::ComparisonCategoryInfo::ValueInfo::VD |
Definition at line 87 of file ComparisonCategories.h.
Referenced by clang::Sema::CheckComparisonCategoryType(), and hasValidIntValue().