clang  12.0.0git
Public Member Functions | Public Attributes | List of all members
clang::ComparisonCategoryInfo::ValueInfo Struct Reference

#include "clang/AST/ComparisonCategories.h"

Collaboration diagram for clang::ComparisonCategoryInfo::ValueInfo:
Collaboration graph
[legend]

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. More...
 
llvm::APSInt getIntValue () const
 Get the constant integer value used by this variable to represent the comparison category result type. More...
 

Public Attributes

ComparisonCategoryResult Kind
 
VarDeclVD
 

Detailed Description

Definition at line 83 of file ComparisonCategories.h.

Constructor & Destructor Documentation

◆ ValueInfo()

clang::ComparisonCategoryInfo::ValueInfo::ValueInfo ( ComparisonCategoryResult  Kind,
VarDecl VD 
)
inline

Definition at line 87 of file ComparisonCategories.h.

Member Function Documentation

◆ getIntValue()

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 retreiving 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 66 of file ComparisonCategories.cpp.

References clang::DeclContextLookupResult::back(), clang::DeclContextLookupResult::empty(), clang::VarDecl::evaluateValue(), clang::DeclContextLookupResult::front(), clang::CXXRecordDecl::getCanonicalDecl(), clang::APValue::getInt(), clang::ComparisonCategories::getResultString(), clang::APValue::getStructField(), hasValidIntValue(), Kind, clang::DeclContext::lookup(), clang::ComparisonCategoryInfo::Record, and VD.

◆ hasValidIntValue()

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 43 of file ComparisonCategories.cpp.

References clang::VarDecl::checkInitIsICE(), distance(), clang::RecordDecl::field_begin(), clang::RecordDecl::field_end(), clang::Type::getAsCXXRecordDecl(), clang::ValueDecl::getType(), clang::ComparisonCategoryInfo::Record, and VD.

Referenced by getIntValue(), and clang::ComparisonCategoryInfo::getValueInfo().

Member Data Documentation

◆ Kind

ComparisonCategoryResult clang::ComparisonCategoryInfo::ValueInfo::Kind

Definition at line 84 of file ComparisonCategories.h.

Referenced by getIntValue().

◆ VD

VarDecl* clang::ComparisonCategoryInfo::ValueInfo::VD

Definition at line 85 of file ComparisonCategories.h.

Referenced by getIntValue(), and hasValidIntValue().


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