clang: clang::APValue Class Reference (original ) (raw )APValue - This class implements a discriminated union of [uninitialized] [APSInt] [APFloat], [Complex APSInt] [Complex APFloat], [Expr + Offset], [Vector: N * APValue ], [Array: N * APValue ]. More...
#include "[clang/AST/APValue.h](APValue%5F8h%5Fsource.html)"
Public Types
enum
ValueKind { None , Indeterminate , Int , Float , FixedPoint , ComplexInt , ComplexFloat , LValue , Vector , Array , Struct , Union , MemberPointer , AddrLabelDiff }
typedef llvm::PointerIntPair< const Decl *, 1, bool >
BaseOrMemberType
A FieldDecl or CXXRecordDecl , along with a flag indicating whether we mean a virtual or non-virtual base class subobject.
Public Member Functions
APValue ()
Creates an empty APValue of type None.
APValue (APSInt I)
Creates an integer APValue holding the given value.
APValue (APFloat F)
Creates a float APValue holding the given value.
APValue (APFixedPoint FX)
Creates a fixed-point APValue holding the given value.
APValue (const APValue *E , unsigned N)
Creates a vector APValue with N elements.
APValue (APSInt R, APSInt I)
Creates an integer complex APValue with the given real and imaginary values.
APValue (APFloat R, APFloat I)
Creates a float complex APValue with the given real and imaginary values.
APValue (const APValue &RHS)
APValue (APValue &&RHS)
APValue (LValueBase Base , const CharUnits &Offset, NoLValuePath , bool IsNullPtr=false )
Creates an lvalue APValue without an lvalue path.
APValue (LValueBase Base , const CharUnits &Offset, ArrayRef < LValuePathEntry > Path , bool OnePastTheEnd, bool IsNullPtr=false )
Creates an lvalue APValue with an lvalue path.
APValue (UninitArray , unsigned InitElts, unsigned Size)
Creates a new array APValue .
APValue (UninitStruct , unsigned NumBases, unsigned NumMembers)
Creates a new struct APValue .
APValue (const FieldDecl *ActiveDecl, const APValue &ActiveValue=APValue ())
Creates a new union APValue .
APValue (const ValueDecl *Member , bool IsDerivedMember, ArrayRef < const CXXRecordDecl * > Path )
Creates a new member pointer APValue .
APValue (const AddrLabelExpr *LHSExpr, const AddrLabelExpr *RHSExpr)
Creates a new address label diff APValue .
APValue &
operator= (const APValue &RHS)
APValue &
operator= (APValue &&RHS)
~APValue ()
bool
needsCleanup () const
Returns whether the object performed allocations.
void
swap (APValue &RHS)
Swaps the contents of this and the given APValue .
void
Profile (llvm::FoldingSetNodeID &ID ) const
profile this value.
ValueKind
getKind () const
bool
isAbsent () const
bool
isIndeterminate () const
bool
hasValue () const
bool
isInt () const
bool
isFloat () const
bool
isFixedPoint () const
bool
isComplexInt () const
bool
isComplexFloat () const
bool
isLValue () const
bool
isVector () const
bool
isArray () const
bool
isStruct () const
bool
isUnion () const
bool
isMemberPointer () const
bool
isAddrLabelDiff () const
void
dump () const
void
dump (raw_ostream &OS, const ASTContext &Context) const
void
printPretty (raw_ostream &OS, const ASTContext &Ctx, QualType Ty) const
void
printPretty (raw_ostream &OS, const PrintingPolicy &Policy, QualType Ty, const ASTContext *Ctx=nullptr) const
std::string
getAsString (const ASTContext &Ctx, QualType Ty) const
APSInt &
getInt ()
const APSInt &
getInt () const
bool
toIntegralConstant (APSInt &Result , QualType SrcTy, const ASTContext &Ctx) const
Try to convert this value to an integral constant.
APFloat &
getFloat ()
const APFloat &
getFloat () const
APFixedPoint &
getFixedPoint ()
const APFixedPoint &
getFixedPoint () const
APSInt &
getComplexIntReal ()
const APSInt &
getComplexIntReal () const
APSInt &
getComplexIntImag ()
const APSInt &
getComplexIntImag () const
APFloat &
getComplexFloatReal ()
const APFloat &
getComplexFloatReal () const
APFloat &
getComplexFloatImag ()
const APFloat &
getComplexFloatImag () const
const LValueBase
getLValueBase () const
CharUnits &
getLValueOffset ()
const CharUnits &
getLValueOffset () const
bool
isLValueOnePastTheEnd () const
bool
hasLValuePath () const
ArrayRef < LValuePathEntry >
getLValuePath () const
unsigned
getLValueCallIndex () const
unsigned
getLValueVersion () const
bool
isNullPointer () const
APValue &
getVectorElt (unsigned I)
const APValue &
getVectorElt (unsigned I) const
unsigned
getVectorLength () const
APValue &
getArrayInitializedElt (unsigned I)
const APValue &
getArrayInitializedElt (unsigned I) const
bool
hasArrayFiller () const
APValue &
getArrayFiller ()
const APValue &
getArrayFiller () const
unsigned
getArrayInitializedElts () const
unsigned
getArraySize () const
unsigned
getStructNumBases () const
unsigned
getStructNumFields () const
APValue &
getStructBase (unsigned i)
APValue &
getStructField (unsigned i)
const APValue &
getStructBase (unsigned i) const
const APValue &
getStructField (unsigned i) const
const FieldDecl *
getUnionField () const
APValue &
getUnionValue ()
const APValue &
getUnionValue () const
const ValueDecl *
getMemberPointerDecl () const
bool
isMemberPointerToDerivedMember () const
ArrayRef < const CXXRecordDecl * >
getMemberPointerPath () const
const AddrLabelExpr *
getAddrLabelDiffLHS () const
const AddrLabelExpr *
getAddrLabelDiffRHS () const
void
setInt (APSInt I)
void
setFloat (APFloat F)
void
setFixedPoint (APFixedPoint FX)
void
setVector (const APValue *E , unsigned N)
void
setComplexInt (APSInt R, APSInt I)
void
setComplexFloat (APFloat R, APFloat I)
void
setLValue (LValueBase B, const CharUnits &O, NoLValuePath , bool IsNullPtr)
void
setLValue (LValueBase B, const CharUnits &O, ArrayRef < LValuePathEntry > Path , bool OnePastTheEnd, bool IsNullPtr)
void
setUnion (const FieldDecl *Field, const APValue &Value )
void
setAddrLabelDiff (const AddrLabelExpr *LHSExpr, const AddrLabelExpr *RHSExpr)
APValue - This class implements a discriminated union of [uninitialized] [APSInt] [APFloat], [Complex APSInt] [Complex APFloat], [Expr + Offset], [Vector: N * APValue ], [Array: N * APValue ].
Definition at line 122 of file APValue.h .
◆ BaseOrMemberType◆ ValueKind
Enumerator
None
There is no such object (it's outside its lifetime).
Indeterminate
This object has an indeterminate value (C++ [basic.indet]).
Int
Float
FixedPoint
ComplexInt
ComplexFloat
LValue
Vector
Array
Struct
Union
MemberPointer
AddrLabelDiff
Definition at line 127 of file APValue.h .
◆ APValue() [1/16]
clang::APValue::APValue ( )
inline
◆ APValue() [2/16]
clang::APValue::APValue ( APSInt I )
inlineexplicit
◆ APValue() [3/16]
clang::APValue::APValue ( APFloat F )
inlineexplicit
◆ APValue() [4/16]
clang::APValue::APValue ( APFixedPoint FX )
inlineexplicit
Creates a fixed-point APValue holding the given value.
Definition at line 326 of file APValue.h .
◆ APValue() [5/16]◆ APValue() [6/16]
clang::APValue::APValue ( APSInt R , APSInt I )
inline
◆ APValue() [7/16]
clang::APValue::APValue ( APFloat R , APFloat I )
inline
◆ APValue() [8/16]
APValue::APValue
(
const APValue &
RHS
)
Definition at line 311 of file APValue.cpp .
References AddrLabelDiff , Array , ComplexFloat , ComplexInt , FixedPoint , Float , getAddrLabelDiffLHS() , getAddrLabelDiffRHS() , getArrayFiller() , getArrayInitializedElt() , getArrayInitializedElts() , getArraySize() , getComplexFloatImag() , getComplexFloatReal() , getComplexIntImag() , getComplexIntReal() , getFixedPoint() , getFloat() , getInt() , getKind() , getLValueBase() , getLValueOffset() , getLValuePath() , getMemberPointerDecl() , getMemberPointerPath() , getStructBase() , getStructField() , getStructNumBases() , getStructNumFields() , getUnionField() , getUnionValue() , getVectorLength() , hasArrayFiller() , hasLValuePath() , Indeterminate , Int , isLValueOnePastTheEnd() , isMemberPointerToDerivedMember() , isNullPointer() , LValue , MemberPointer , None , setAddrLabelDiff() , setComplexFloat() , setComplexInt() , setFloat() , setInt() , setLValue() , setUnion() , setVector() , Struct , Union , and Vector .
◆ APValue() [9/16]◆ APValue() [10/16]Creates an lvalue APValue without an lvalue path.
Parameters
Base
The base of the lvalue.
Offset
The offset of the lvalue.
IsNullPtr
Whether this lvalue is a null pointer.
Definition at line 349 of file APValue.h .
References setLValue() .
◆ APValue() [11/16]Creates an lvalue APValue with an lvalue path.
Parameters
Base
The base of the lvalue.
Offset
The offset of the lvalue.
Path
The lvalue path.
OnePastTheEnd
Whether this lvalue is one-past-the-end of the subobject it points to.
IsNullPtr
Whether this lvalue is a null pointer.
Definition at line 362 of file APValue.h .
References Path , and setLValue() .
◆ APValue() [12/16]Creates a new array APValue .
Parameters
UninitArray
Marker. Pass an empty UninitArray .
InitElts
Number of elements you're going to initialize in the array.
Size
Full size of the array.
Definition at line 374 of file APValue.h .
◆ APValue() [13/16]◆ APValue() [14/16]Creates a new union APValue .
Parameters
ActiveDecl
The FieldDecl of the active union member.
ActiveValue
The value of the active union member.
Definition at line 387 of file APValue.h .
References setUnion() .
◆ APValue() [15/16]Creates a new member pointer APValue .
Parameters
Member
Declaration of the member
IsDerivedMember
Whether member is a derived one.
Path
The path of the member.
Definition at line 397 of file APValue.h .
References clang::Member , and Path .
◆ APValue() [16/16]Creates a new address label diff APValue .
Parameters
LHSExpr
The left-hand side of the difference.
RHSExpr
The right-hand side of the difference.
Definition at line 404 of file APValue.h .
References setAddrLabelDiff() .
clang::APValue::~APValue ( )
inline
◆ dump() [1/2]
LLVM_DUMP_METHOD void APValue::dump
(
)
const
◆ dump() [2/2]
LLVM_DUMP_METHOD void APValue::dump
(
raw_ostream &
OS ,
const ASTContext &
Context
)
const
◆ getAddrLabelDiffLHS()
const AddrLabelExpr * clang::APValue::getAddrLabelDiffLHS ( ) const
inline
◆ getAddrLabelDiffRHS()
const AddrLabelExpr * clang::APValue::getAddrLabelDiffRHS ( ) const
inline
◆ getArrayFiller() [1/2]
APValue & clang::APValue::getArrayFiller ( )
inline
◆ getArrayFiller() [2/2]
const APValue & clang::APValue::getArrayFiller ( ) const
inline
◆ getArrayInitializedElt() [1/2]Definition at line 552 of file APValue.h .
References Data , getArrayInitializedElts() , and isArray() .
Referenced by APValue() , expandArray() , findSubobject() , getArrayInitializedElt() , clang::MSGuidDecl::getAsAPValue() , printPretty() , Profile() , clang::interp::Pointer::toRValue() , and clang::interp::Compiler< Emitter >::visitAPValueInitializer() .
◆ getArrayInitializedElt() [2/2]
const APValue & clang::APValue::getArrayInitializedElt ( unsigned I ) const
inline
◆ getArrayInitializedElts()
unsigned clang::APValue::getArrayInitializedElts ( ) const
inline
◆ getArraySize()
unsigned clang::APValue::getArraySize ( ) const
inline
◆ getAsString()Definition at line 946 of file APValue.cpp .
References printPretty() , and clang::Result .
Referenced by BuildConvertedConstantExpression() , checkDynamicType() , checkThreeWayNarrowingConversion() , DiagnoseNarrowingInInitList() , findCompleteObject() , HandleDestructionImpl() , isNullPointerValueTemplateArgument() , clang::interp::FunctionPointer::toDiagnosticString() , clang::interp::MemberPointer::toDiagnosticString() , and clang::interp::Pointer::toDiagnosticString() .
◆ getComplexFloatImag() [1/2]
APFloat & clang::APValue::getComplexFloatImag ( )
inline
◆ getComplexFloatImag() [2/2]
const APFloat & clang::APValue::getComplexFloatImag ( ) const
inline
◆ getComplexFloatReal() [1/2]
APFloat & clang::APValue::getComplexFloatReal ( )
inline
◆ getComplexFloatReal() [2/2]
const APFloat & clang::APValue::getComplexFloatReal ( ) const
inline
◆ getComplexIntImag() [1/2]
APSInt & clang::APValue::getComplexIntImag ( )
inline
◆ getComplexIntImag() [2/2]
const APSInt & clang::APValue::getComplexIntImag ( ) const
inline
◆ getComplexIntReal() [1/2]
APSInt & clang::APValue::getComplexIntReal ( )
inline
◆ getComplexIntReal() [2/2]
const APSInt & clang::APValue::getComplexIntReal ( ) const
inline
◆ getFixedPoint() [1/2]
APFixedPoint & clang::APValue::getFixedPoint ( )
inline
◆ getFixedPoint() [2/2]
const APFixedPoint & clang::APValue::getFixedPoint ( ) const
inline
◆ getFloat() [1/2]
APFloat & clang::APValue::getFloat ( )
inline
Definition at line 479 of file APValue.h .
References Data , and isFloat() .
Referenced by APValue() , BuildExpressionFromNonTypeTemplateArgumentValue() , getFloat() , clang::StandardConversionSequence::getNarrowingKind() , handleCompareOpForVector() , HandleConversionToBool() , handleLogicalOpForVector() , handleVectorUnaryOperator() , handleVectorVectorBinOp() , IsSameFloatAfterCast() , needsCleanup() , printPretty() , Profile() , clang::CodeGen::ConstantEmitter::tryEmitPrivate() , and clang::interp::Compiler< Emitter >::visitAPValue() .
◆ getFloat() [2/2]
const APFloat & clang::APValue::getFloat ( ) const
inline
◆ getInt() [1/2]
APSInt & clang::APValue::getInt ( )
inline
Definition at line 465 of file APValue.h .
References Data , and isInt() .
Referenced by clang::SemaOpenACC::ActOnArraySectionExpr() , clang::SemaOpenMP::ActOnOMPArrayShapingExpr() , APValue() , clang::ast_matchers::libc_func_matchers::AST_MATCHER() , BuildExpressionFromNonTypeTemplateArgumentValue() , BuiltinAlignment() , calculateConstraintSatisfaction() , canConvertIntToOtherIntTy() , canConvertIntTyToFloatTy() , clang::Sema::CheckAdditionOperands() , clang::SemaAMDGPU::CheckAMDGCNBuiltinFunctionCall() , clang::Sema::checkCall() , checkFormatStringExpr() , clang::Sema::CheckLogicalOperands() , checkOpenMPLoop() , checkSimdlenSafelenSpecified() , clang::Sema::CheckSubtractionOperands() , DiagnoseBadDivideOrRemainderValues() , DiagnoseBadShiftValues() , diagnoseWellFormedUnsatisfiedConstraintExpr() , EvaluateBuiltinStrLen() , clang::Expr::EvaluateCharRangeAsString() , EvaluateInteger() , clang::Sema::FillInlineAsmIdentifierInfo() , getInt() , clang::ConstantExpr::getResultAsAPSInt() , GetValueRange() , handleCompareOpForVector() , HandleConversionToBool() , handleLogicalOpForVector() , handleVectorUnaryOperator() , handleVectorVectorBinOp() , needsCleanup() , clang::InitializationSequence::Perform() , printPretty() , Profile() , shouldAddCase() , toIntegralConstant() , clang::CodeGen::ConstantEmitter::tryEmitPrivate() , clang::Sema::VerifyIntegerConstantExpression() , clang::interp::Compiler< Emitter >::visitAPValue() , and clang::interp::Compiler< Emitter >::VisitSourceLocExpr() .
◆ getInt() [2/2]
const APSInt & clang::APValue::getInt ( ) const
inline
◆ getKind()
ValueKind clang::APValue::getKind ( ) const
inline
◆ getLValueBase()Definition at line 973 of file APValue.cpp .
References isLValue() .
Referenced by APValue() , EvaluateBuiltinConstantPForLValue() , getLValueType() , clang::ASTNodeImporter::ImportAPValue() , clang::interp::interp__builtin_constant_p() , clang::Expr::EvalResult::isGlobalLValue() , isNullPointerValueTemplateArgument() , printPretty() , Profile() , toIntegralConstant() , clang::interp::Compiler< Emitter >::visitAPValue() , and clang::interp::Compiler< Emitter >::VisitSourceLocExpr() .
◆ getLValueCallIndex()
unsigned APValue::getLValueCallIndex
(
)
const
◆ getLValueOffset() [1/2]◆ getLValueOffset() [2/2]
const CharUnits & clang::APValue::getLValueOffset ( ) const
inline
◆ getLValuePath()◆ getLValueVersion()
unsigned APValue::getLValueVersion
(
)
const
◆ getMemberPointerDecl()
const ValueDecl * APValue::getMemberPointerDecl
(
)
const
◆ getMemberPointerPath()◆ getStructBase() [1/2]◆ getStructBase() [2/2]◆ getStructField() [1/2]◆ getStructField() [2/2]◆ getStructNumBases()
unsigned clang::APValue::getStructNumBases ( ) const
inline
◆ getStructNumFields()
unsigned clang::APValue::getStructNumFields ( ) const
inline
◆ getUnionField()
const FieldDecl * clang::APValue::getUnionField ( ) const
inline
◆ getUnionValue() [1/2]
APValue & clang::APValue::getUnionValue ( )
inline
◆ getUnionValue() [2/2]
const APValue & clang::APValue::getUnionValue ( ) const
inline
◆ getVectorElt() [1/2]Definition at line 539 of file APValue.h .
References Data , getVectorLength() , and isVector() .
Referenced by BuildExpressionFromNonTypeTemplateArgumentValue() , findSubobject() , GetValueRange() , getVectorElt() , handleVectorShuffle() , handleVectorVectorBinOp() , IsSameFloatAfterCast() , printPretty() , and Profile() .
◆ getVectorElt() [2/2]◆ getVectorLength()
unsigned clang::APValue::getVectorLength ( ) const
inline
Definition at line 547 of file APValue.h .
References Data , and isVector() .
Referenced by APValue() , BuildExpressionFromNonTypeTemplateArgumentValue() , GetValueRange() , getVectorElt() , handleVectorShuffle() , handleVectorVectorBinOp() , clang::ASTNodeImporter::ImportAPValue() , IsSameFloatAfterCast() , printPretty() , and Profile() .
◆ hasArrayFiller()
bool clang::APValue::hasArrayFiller ( ) const
inline
◆ hasLValuePath()
bool APValue::hasLValuePath
(
)
const
◆ hasValue()
bool clang::APValue::hasValue ( ) const
inline
◆ IndeterminateValue()
static APValue clang::APValue::IndeterminateValue ( )
inlinestatic
◆ isAbsent()
bool clang::APValue::isAbsent ( ) const
inline
◆ isAddrLabelDiff()
bool clang::APValue::isAddrLabelDiff ( ) const
inline
◆ isArray()
bool clang::APValue::isArray ( ) const
inline
◆ isComplexFloat()
bool clang::APValue::isComplexFloat ( ) const
inline
◆ isComplexInt()
bool clang::APValue::isComplexInt ( ) const
inline
◆ isFixedPoint()
bool clang::APValue::isFixedPoint ( ) const
inline
◆ isFloat()
bool clang::APValue::isFloat ( ) const
inline
◆ isIndeterminate()
bool clang::APValue::isIndeterminate ( ) const
inline
◆ isInt()
bool clang::APValue::isInt ( ) const
inline
Definition at line 443 of file APValue.h .
References Int , and Kind .
Referenced by BuildConvertedConstantExpression() , calculateConstraintSatisfaction() , CheckEvalInICE() , EvaluateBuiltinStrLen() , clang::Sema::EvaluateConvertedConstantExpression() , EvaluateInteger() , getInt() , GetValueRange() , setInt() , shouldAddCase() , toIntegralConstant() , clang::CodeGen::ConstantEmitter::tryEmitPrivate() , clang::Sema::VerifyIntegerConstantExpression() , clang::interp::Compiler< Emitter >::visitAPValue() , clang::interp::Compiler< Emitter >::visitAPValueInitializer() , and clang::interp::Compiler< Emitter >::VisitSourceLocExpr() .
◆ isLValue()
bool clang::APValue::isLValue ( ) const
inline
Definition at line 448 of file APValue.h .
References Kind , and LValue .
Referenced by FastEvaluateAsRValue() , getLValueBase() , getLValueCallIndex() , getLValueOffset() , getLValuePath() , getLValueVersion() , GetValueRange() , handleVectorVectorBinOp() , hasLValuePath() , clang::interp::interp__builtin_constant_p() , clang::Expr::EvalResult::isGlobalLValue() , isLValueOnePastTheEnd() , isNullPointer() , isNullPointerValueTemplateArgument() , setLValue() , toIntegralConstant() , clang::interp::Compiler< Emitter >::visitAPValue() , clang::interp::Compiler< Emitter >::visitAPValueInitializer() , and clang::interp::Compiler< Emitter >::VisitSourceLocExpr() .
◆ isLValueOnePastTheEnd()
bool APValue::isLValueOnePastTheEnd
(
)
const
◆ isMemberPointer()
bool clang::APValue::isMemberPointer ( ) const
inline
◆ isMemberPointerToDerivedMember()
bool APValue::isMemberPointerToDerivedMember
(
)
const
◆ isNullPointer()
bool APValue::isNullPointer
(
)
const
◆ isStruct()
bool clang::APValue::isStruct ( ) const
inline
◆ isUnion()
bool clang::APValue::isUnion ( ) const
inline
◆ isVector()
bool clang::APValue::isVector ( ) const
inline
◆ needsCleanup()
bool APValue::needsCleanup
(
)
const
Returns whether the object performed allocations.
If APValues are constructed via placement new, [needsCleanup()](classclang%5F1%5F1APValue.html#a70f81f6a4f3d9836beaa45b9d361b231 "Returns whether the object performed allocations.")
indicates whether the destructor must be called in order to correctly free all allocated memory.
Definition at line 431 of file APValue.cpp .
References AddrLabelDiff , Array , ComplexFloat , ComplexInt , FixedPoint , Float , getComplexFloatImag() , getComplexFloatReal() , getComplexIntImag() , getComplexIntReal() , getFixedPoint() , getFloat() , getInt() , getKind() , Indeterminate , Int , LValue , MemberPointer , needsCleanup() , None , Struct , Union , and Vector .
Referenced by needsCleanup() , and clang::ASTDeclReader::ReadVarDeclInit() .
◆ operator=() [1/2]◆ operator=() [2/2]◆ printPretty() [1/2]◆ printPretty() [2/2]Definition at line 698 of file APValue.cpp .
References AddrLabelDiff , Array , clang::CXXRecordDecl::bases_begin() , clang::CXXRecordDecl::bases_end() , clang::Type::castAs() , clang::Type::castAsArrayTypeUnsafe() , ComplexFloat , ComplexInt , E , clang::PrintingPolicy::EntireContentsOfLargeArray , clang::RecordDecl::fields() , clang::First , FixedPoint , Float , getAddrLabelDiffLHS() , getAddrLabelDiffRHS() , GetApproxValue() , getArrayInitializedElt() , getArrayInitializedElts() , clang::Type::getAs() , getComplexFloatImag() , getComplexFloatReal() , getComplexIntImag() , getComplexIntReal() , clang::ArrayType::getElementType() , getFixedPoint() , getFloat() , getInt() , getKind() , clang::AddrLabelExpr::getLabel() , getLValueBase() , getLValueOffset() , getLValuePath() , getMemberPointerDecl() , clang::NamedDecl::getName() , clang::QualType::getNonReferenceType() , clang::Type::getPointeeType() , clang::CharUnits::getQuantity() , getStructBase() , getStructField() , getStructNumBases() , clang::ValueDecl::getType() , clang::CXXBaseSpecifier::getType() , clang::ASTContext::getTypeSizeInCharsIfKnown() , getUnionField() , getUnionValue() , getVectorElt() , getVectorLength() , hasLValuePath() , Indeterminate , Int , clang::Type::isAnyComplexType() , clang::Type::isBooleanType() , isLValueOnePastTheEnd() , clang::QualType::isNull() , isNullPointer() , clang::Type::isRecordType() , clang::Type::isReferenceType() , clang::Type::isVoidType() , clang::CharUnits::isZero() , LValue , MemberPointer , None , clang::PrintingPolicy::Nullptr , clang::CharUnits::One() , Path , printPretty() , clang::Stmt::printPretty() , clang::QualType::stream() , Struct , TryPrintAsStringLiteral() , Union , Vector , and clang::CharUnits::Zero() .
◆ Profile()
void APValue::Profile
(
llvm::FoldingSetNodeID &
ID
)
const
profile this value.
There is no guarantee that values of different types will not produce the same profiled value, so the type should typically also be profiled if it's not implied by the context.
Definition at line 479 of file APValue.cpp .
References AddrLabelDiff , Array , ComplexFloat , ComplexInt , D , E , FixedPoint , Float , getAddrLabelDiffLHS() , getAddrLabelDiffRHS() , getArrayFiller() , getArrayInitializedElt() , getArrayInitializedElts() , getArraySize() , getCanonicalDecl() , getComplexFloatImag() , getComplexFloatReal() , getComplexIntImag() , getComplexIntReal() , getFixedPoint() , getFloat() , getInt() , getLValueBase() , getLValueOffset() , getLValuePath() , getMemberPointerDecl() , getMemberPointerPath() , getStructBase() , getStructField() , getStructNumBases() , getStructNumFields() , getUnionField() , getUnionValue() , getVectorElt() , getVectorLength() , hasArrayFiller() , hasLValuePath() , Indeterminate , Int , isLValueOnePastTheEnd() , isMemberPointerToDerivedMember() , isNullPointer() , LValue , MemberPointer , None , clang::APValue::LValueBase::Profile() , Profile() , clang::Stmt::Profile() , profileIntValue() , Struct , Union , and Vector .
Referenced by Profile() , clang::TemplateArgument::Profile() , clang::UnnamedGlobalConstantDecl::Profile() , and clang::TemplateArgument::structurallyEquals() .
◆ setAddrLabelDiff()◆ setComplexFloat()
void clang::APValue::setComplexFloat ( APFloat R , APFloat I )
inline
◆ setComplexInt()
void clang::APValue::setComplexInt ( APSInt R , APSInt I )
inline
◆ setFixedPoint()
void clang::APValue::setFixedPoint ( APFixedPoint FX )
inline
◆ setFloat()
void clang::APValue::setFloat ( APFloat F )
inline
◆ setInt()
void clang::APValue::setInt ( APSInt I )
inline
◆ setLValue() [1/2]◆ setLValue() [2/2]◆ setUnion()◆ setVector()◆ swap()
void APValue::swap
(
APValue &
RHS
)
◆ toIntegralConstant()Try to convert this value to an integral constant.
This works if it's an integer, null pointer, or offset from a null pointer. Returns true on success.
Definition at line 953 of file APValue.cpp .
References getInt() , getLValueBase() , getLValueOffset() , clang::ASTContext::getTargetNullPointerValue() , isInt() , isLValue() , isNullPointer() , clang::ASTContext::MakeIntValue() , and clang::Result .
Referenced by clang::Sema::ActOnGCCAsmStmt() .
◆ ASTImporter◆ ASTNodeImporter◆ clang::serialization::BasicReaderBase
The documentation for this class was generated from the following files: