clang API Documentation
#include <APValue.h>
Classes | |
struct | AddrLabelDiffData |
struct | Arr |
struct | ComplexAPFloat |
struct | ComplexAPSInt |
struct | LV |
union | LValuePathEntry |
struct | MemberPointerData |
struct | NoLValuePath |
struct | StructData |
struct | UninitArray |
struct | UninitStruct |
struct | UnionData |
struct | Vec |
Public Types | |
enum | ValueKind { Uninitialized, Int, Float, ComplexInt, ComplexFloat, LValue, Vector, Array, Struct, Union, MemberPointer, AddrLabelDiff } |
typedef llvm::PointerUnion < const ValueDecl *, const Expr * > | LValueBase |
typedef llvm::PointerIntPair < const Decl *, 1, bool > | BaseOrMemberType |
Public Member Functions | |
APValue () | |
APValue (APSInt I) | |
APValue (APFloat F) | |
APValue (const APValue *E, unsigned N) | |
APValue (APSInt R, APSInt I) | |
APValue (APFloat R, APFloat I) | |
APValue (const APValue &RHS) | |
APValue (APValue &&RHS) | |
APValue (LValueBase B, const CharUnits &O, NoLValuePath N, unsigned CallIndex) | |
APValue (LValueBase B, const CharUnits &O, ArrayRef< LValuePathEntry > Path, bool OnePastTheEnd, unsigned CallIndex) | |
APValue (UninitArray, unsigned InitElts, unsigned Size) | |
APValue (UninitStruct, unsigned B, unsigned M) | |
APValue (const FieldDecl *D, const APValue &V=APValue()) | |
APValue (const ValueDecl *Member, bool IsDerivedMember, ArrayRef< const CXXRecordDecl * > Path) | |
APValue (const AddrLabelExpr *LHSExpr, const AddrLabelExpr *RHSExpr) | |
~APValue () | |
bool | needsCleanup () const |
Returns whether the object performed allocations. | |
void | swap (APValue &RHS) |
Swaps the contents of this and the given APValue. | |
ValueKind | getKind () const |
bool | isUninit () const |
bool | isInt () const |
bool | isFloat () 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 |
void | printPretty (raw_ostream &OS, ASTContext &Ctx, QualType Ty) const |
std::string | getAsString (ASTContext &Ctx, QualType Ty) const |
APSInt & | getInt () |
const APSInt & | getInt () const |
APFloat & | getFloat () |
const APFloat & | getFloat () 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 |
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 | 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, unsigned CallIndex) |
void | setLValue (LValueBase B, const CharUnits &O, ArrayRef< LValuePathEntry > Path, bool OnePastTheEnd, unsigned CallIndex) |
void | setUnion (const FieldDecl *Field, const APValue &Value) |
void | setAddrLabelDiff (const AddrLabelExpr *LHSExpr, const AddrLabelExpr *RHSExpr) |
APValue & | operator= (APValue RHS) |
Assign by swapping from a copy of the RHS. |
APValue - This class implements a discriminated union of [uninitialized] [APSInt] [APFloat], [Complex APSInt] [Complex APFloat], [Expr + Offset], [Vector: N * APValue], [Array: N * APValue]
typedef llvm::PointerIntPair<const Decl *, 1, bool> clang::APValue::BaseOrMemberType |
typedef llvm::PointerUnion<const ValueDecl *, const Expr *> clang::APValue::LValueBase |
clang::APValue::APValue | ( | ) | [inline] |
clang::APValue::APValue | ( | APSInt | I | ) | [inline, explicit] |
clang::APValue::APValue | ( | APFloat | F | ) | [inline, explicit] |
Definition at line 124 of file APValue.h.
References setFloat().
clang::APValue::APValue | ( | const APValue * | E, |
unsigned | N | ||
) | [inline, explicit] |
Definition at line 127 of file APValue.h.
References setVector().
clang::APValue::APValue | ( | APSInt | R, |
APSInt | I | ||
) | [inline] |
Definition at line 130 of file APValue.h.
References setComplexInt().
clang::APValue::APValue | ( | APFloat | R, |
APFloat | I | ||
) | [inline] |
Definition at line 133 of file APValue.h.
References setComplexFloat().
APValue::APValue | ( | const APValue & | RHS | ) |
Definition at line 125 of file APValue.cpp.
References AddrLabelDiff, Array, ComplexFloat, ComplexInt, Float, getAddrLabelDiffLHS(), getAddrLabelDiffRHS(), getArrayFiller(), getArrayInitializedElt(), getArrayInitializedElts(), getArraySize(), getComplexFloatImag(), getComplexFloatReal(), getComplexIntImag(), getComplexIntReal(), getFloat(), getInt(), getKind(), getLValueBase(), getLValueCallIndex(), getLValueOffset(), getLValuePath(), getMemberPointerDecl(), getMemberPointerPath(), getStructBase(), getStructField(), getStructNumBases(), getStructNumFields(), getUnionField(), getUnionValue(), getVectorLength(), hasArrayFiller(), hasLValuePath(), Int, isLValueOnePastTheEnd(), isMemberPointerToDerivedMember(), LValue, MemberPointer, setAddrLabelDiff(), setComplexFloat(), setComplexInt(), setFloat(), setInt(), setLValue(), setUnion(), setVector(), Struct, Uninitialized, Union, and Vector.
clang::APValue::APValue | ( | APValue && | RHS | ) | [inline] |
clang::APValue::APValue | ( | LValueBase | B, |
const CharUnits & | O, | ||
NoLValuePath | N, | ||
unsigned | CallIndex | ||
) | [inline] |
Definition at line 138 of file APValue.h.
References setLValue().
clang::APValue::APValue | ( | LValueBase | B, |
const CharUnits & | O, | ||
ArrayRef< LValuePathEntry > | Path, | ||
bool | OnePastTheEnd, | ||
unsigned | CallIndex | ||
) | [inline] |
Definition at line 142 of file APValue.h.
References setLValue().
clang::APValue::APValue | ( | UninitArray | , |
unsigned | InitElts, | ||
unsigned | Size | ||
) | [inline] |
clang::APValue::APValue | ( | UninitStruct | , |
unsigned | B, | ||
unsigned | M | ||
) | [inline] |
clang::APValue::APValue | ( | const FieldDecl * | D, |
const APValue & | V = APValue() |
||
) | [inline, explicit] |
Definition at line 153 of file APValue.h.
References setUnion().
clang::APValue::APValue | ( | const ValueDecl * | Member, |
bool | IsDerivedMember, | ||
ArrayRef< const CXXRecordDecl * > | Path | ||
) | [inline] |
clang::APValue::APValue | ( | const AddrLabelExpr * | LHSExpr, |
const AddrLabelExpr * | RHSExpr | ||
) | [inline] |
Definition at line 161 of file APValue.h.
References setAddrLabelDiff().
clang::APValue::~APValue | ( | ) | [inline] |
void APValue::dump | ( | ) | const |
Definition at line 258 of file APValue.cpp.
Referenced by dump().
void APValue::dump | ( | raw_ostream & | OS | ) | const |
Definition at line 271 of file APValue.cpp.
References AddrLabelDiff, Array, ComplexFloat, ComplexInt, dump(), Float, GetApproxValue(), getArrayFiller(), getArrayInitializedElt(), getArrayInitializedElts(), getArraySize(), getComplexFloatImag(), getComplexFloatReal(), getComplexIntImag(), getComplexIntReal(), getFloat(), getInt(), getKind(), getStructBase(), getStructField(), getStructNumBases(), getStructNumFields(), getUnionValue(), getVectorElt(), getVectorLength(), hasArrayFiller(), Int, LValue, MemberPointer, Struct, Uninitialized, Union, and Vector.
const AddrLabelExpr* clang::APValue::getAddrLabelDiffLHS | ( | ) | const [inline] |
Definition at line 338 of file APValue.h.
References isAddrLabelDiff().
Referenced by APValue(), clang::CodeGen::CodeGenModule::EmitConstantValue(), and printPretty().
const AddrLabelExpr* clang::APValue::getAddrLabelDiffRHS | ( | ) | const [inline] |
Definition at line 342 of file APValue.h.
References isAddrLabelDiff().
Referenced by APValue(), clang::CodeGen::CodeGenModule::EmitConstantValue(), and printPretty().
APValue& clang::APValue::getArrayFiller | ( | ) | [inline] |
Definition at line 282 of file APValue.h.
References getArrayInitializedElts(), hasArrayFiller(), and isArray().
Referenced by APValue(), CheckConstantExpression(), dump(), clang::CodeGen::CodeGenModule::EmitConstantValue(), expandArray(), expandStringLiteral(), findSubobject(), and getArrayFiller().
const APValue& clang::APValue::getArrayFiller | ( | ) | const [inline] |
Definition at line 287 of file APValue.h.
References getArrayFiller().
APValue& clang::APValue::getArrayInitializedElt | ( | unsigned | I | ) | [inline] |
Definition at line 271 of file APValue.h.
References getArrayInitializedElts(), and isArray().
Referenced by APValue(), CheckConstantExpression(), dump(), clang::CodeGen::CodeGenModule::EmitConstantValue(), expandArray(), expandStringLiteral(), findSubobject(), getArrayInitializedElt(), and printPretty().
const APValue& clang::APValue::getArrayInitializedElt | ( | unsigned | I | ) | const [inline] |
Definition at line 276 of file APValue.h.
References getArrayInitializedElt().
unsigned clang::APValue::getArrayInitializedElts | ( | ) | const [inline] |
Definition at line 290 of file APValue.h.
References isArray().
Referenced by APValue(), CheckConstantExpression(), dump(), clang::CodeGen::CodeGenModule::EmitConstantValue(), expandArray(), expandStringLiteral(), findSubobject(), getArrayFiller(), getArrayInitializedElt(), hasArrayFiller(), and printPretty().
unsigned clang::APValue::getArraySize | ( | ) | const [inline] |
Definition at line 294 of file APValue.h.
References isArray().
Referenced by APValue(), dump(), clang::CodeGen::CodeGenModule::EmitConstantValue(), expandArray(), and hasArrayFiller().
std::string APValue::getAsString | ( | ASTContext & | Ctx, |
QualType | Ty | ||
) | const |
Definition at line 545 of file APValue.cpp.
References printPretty().
Referenced by clang::Sema::CheckConvertedConstantExpression(), and DiagnoseNarrowingInInitList().
APFloat& clang::APValue::getComplexFloatImag | ( | ) | [inline] |
Definition at line 240 of file APValue.h.
References isComplexFloat().
Referenced by APValue(), dump(), clang::CodeGen::CodeGenModule::EmitConstantValue(), findSubobject(), getComplexFloatImag(), HandleConversionToBool(), needsCleanup(), and printPretty().
const APFloat& clang::APValue::getComplexFloatImag | ( | ) | const [inline] |
Definition at line 244 of file APValue.h.
References getComplexFloatImag().
APFloat& clang::APValue::getComplexFloatReal | ( | ) | [inline] |
Definition at line 232 of file APValue.h.
References isComplexFloat().
Referenced by APValue(), dump(), clang::CodeGen::CodeGenModule::EmitConstantValue(), findSubobject(), getComplexFloatReal(), HandleConversionToBool(), needsCleanup(), and printPretty().
const APFloat& clang::APValue::getComplexFloatReal | ( | ) | const [inline] |
Definition at line 236 of file APValue.h.
References getComplexFloatReal().
APSInt& clang::APValue::getComplexIntImag | ( | ) | [inline] |
Definition at line 224 of file APValue.h.
References isComplexInt().
Referenced by APValue(), dump(), clang::CodeGen::CodeGenModule::EmitConstantValue(), findSubobject(), getComplexIntImag(), HandleConversionToBool(), needsCleanup(), and printPretty().
const APSInt& clang::APValue::getComplexIntImag | ( | ) | const [inline] |
Definition at line 228 of file APValue.h.
References getComplexIntImag().
APSInt& clang::APValue::getComplexIntReal | ( | ) | [inline] |
Definition at line 216 of file APValue.h.
References isComplexInt().
Referenced by APValue(), dump(), clang::CodeGen::CodeGenModule::EmitConstantValue(), findSubobject(), getComplexIntReal(), HandleConversionToBool(), needsCleanup(), and printPretty().
const APSInt& clang::APValue::getComplexIntReal | ( | ) | const [inline] |
Definition at line 220 of file APValue.h.
References getComplexIntReal().
APFloat& clang::APValue::getFloat | ( | ) | [inline] |
Definition at line 208 of file APValue.h.
References isFloat().
Referenced by APValue(), dump(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CodeGen::CodeGenModule::EmitConstantValue(), EvalAndBitcastToAPInt(), getFloat(), clang::StandardConversionSequence::getNarrowingKind(), HandleConversionToBool(), needsCleanup(), and printPretty().
const APFloat& clang::APValue::getFloat | ( | ) | const [inline] |
Definition at line 212 of file APValue.h.
References getFloat().
APSInt& clang::APValue::getInt | ( | ) | [inline] |
Definition at line 200 of file APValue.h.
References isInt().
Referenced by APValue(), clang::Sema::CheckConvertedConstantExpression(), clang::Sema::CheckEnableIf(), dump(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CodeGen::CodeGenModule::EmitConstantValue(), EvalAndBitcastToAPInt(), EvaluateCPlusPlus11IntegralConstantExpr(), EvaluateInteger(), getInt(), HandleConversionToBool(), needsCleanup(), printPretty(), truncateBitfieldValue(), and clang::Sema::VerifyIntegerConstantExpression().
const APSInt& clang::APValue::getInt | ( | ) | const [inline] |
ValueKind clang::APValue::getKind | ( | ) | const [inline] |
Definition at line 180 of file APValue.h.
Referenced by APValue(), dump(), clang::CodeGen::CodeGenModule::EmitConstantValue(), EvaluateBuiltinConstantP(), HandleConversionToBool(), needsCleanup(), and printPretty().
const APValue::LValueBase APValue::getLValueBase | ( | ) | const |
Definition at line 553 of file APValue.cpp.
References isLValue().
Referenced by APValue(), clang::CodeGen::CodeGenModule::EmitConstantValue(), EvalPointerValueAsBool(), findSubobject(), isNullPointerValueTemplateArgument(), and printPretty().
unsigned APValue::getLValueCallIndex | ( | ) | const |
Definition at line 563 of file APValue.cpp.
References isLValue().
Referenced by APValue(), clang::CodeGen::CodeGenModule::EmitConstantValue(), EvalPointerValueAsBool(), getLValueOffset(), and printPretty().
const CharUnits& clang::APValue::getLValueOffset | ( | ) | const [inline] |
Definition at line 250 of file APValue.h.
References getLValueOffset().
ArrayRef< APValue::LValuePathEntry > APValue::getLValuePath | ( | ) | const |
Definition at line 573 of file APValue.cpp.
References clang::APValue::LV::getPath(), hasLValuePath(), and isLValue().
Referenced by APValue(), findSubobject(), and printPretty().
const ValueDecl * APValue::getMemberPointerDecl | ( | ) | const |
Definition at line 608 of file APValue.cpp.
References isMemberPointer().
Referenced by APValue(), clang::CodeGen::CGCXXABI::getMemberPointerPathAdjustment(), HandleConversionToBool(), isNullPointerValueTemplateArgument(), and printPretty().
ArrayRef< const CXXRecordDecl * > APValue::getMemberPointerPath | ( | ) | const |
Definition at line 622 of file APValue.cpp.
References clang::APValue::MemberPointerData::getPath(), and isMemberPointer().
Referenced by APValue(), and clang::CodeGen::CGCXXABI::getMemberPointerPathAdjustment().
APValue& clang::APValue::getStructBase | ( | unsigned | i | ) | [inline] |
Definition at line 307 of file APValue.h.
References isStruct().
Referenced by APValue(), CheckConstantExpression(), dump(), findSubobject(), getStructBase(), HandleConstructorCall(), and printPretty().
const APValue& clang::APValue::getStructBase | ( | unsigned | i | ) | const [inline] |
Definition at line 315 of file APValue.h.
References getStructBase().
APValue& clang::APValue::getStructField | ( | unsigned | i | ) | [inline] |
Definition at line 311 of file APValue.h.
References getStructNumBases(), and isStruct().
Referenced by APValue(), CheckConstantExpression(), dump(), findSubobject(), getStructField(), HandleConstructorCall(), and printPretty().
const APValue& clang::APValue::getStructField | ( | unsigned | i | ) | const [inline] |
Definition at line 318 of file APValue.h.
References getStructField().
unsigned clang::APValue::getStructNumBases | ( | ) | const [inline] |
Definition at line 299 of file APValue.h.
References isStruct().
Referenced by APValue(), dump(), getStructField(), and printPretty().
unsigned clang::APValue::getStructNumFields | ( | ) | const [inline] |
Definition at line 303 of file APValue.h.
References isStruct().
const FieldDecl* clang::APValue::getUnionField | ( | ) | const [inline] |
Definition at line 322 of file APValue.h.
References isUnion().
Referenced by APValue(), CheckConstantExpression(), findSubobject(), HandleConstructorCall(), and printPretty().
APValue& clang::APValue::getUnionValue | ( | ) | [inline] |
Definition at line 326 of file APValue.h.
References isUnion().
Referenced by APValue(), CheckConstantExpression(), dump(), findSubobject(), getUnionValue(), HandleConstructorCall(), and printPretty().
const APValue& clang::APValue::getUnionValue | ( | ) | const [inline] |
Definition at line 330 of file APValue.h.
References getUnionValue().
APValue& clang::APValue::getVectorElt | ( | unsigned | I | ) | [inline] |
Definition at line 258 of file APValue.h.
References getVectorLength(), and isVector().
Referenced by dump(), clang::CodeGen::CodeGenModule::EmitConstantValue(), EvalAndBitcastToAPInt(), getVectorElt(), and printPretty().
const APValue& clang::APValue::getVectorElt | ( | unsigned | I | ) | const [inline] |
Definition at line 263 of file APValue.h.
References getVectorElt().
unsigned clang::APValue::getVectorLength | ( | ) | const [inline] |
Definition at line 266 of file APValue.h.
References isVector().
Referenced by APValue(), dump(), clang::CodeGen::CodeGenModule::EmitConstantValue(), EvalAndBitcastToAPInt(), getVectorElt(), and printPretty().
bool clang::APValue::hasArrayFiller | ( | ) | const [inline] |
Definition at line 279 of file APValue.h.
References getArrayInitializedElts(), and getArraySize().
Referenced by APValue(), CheckConstantExpression(), dump(), clang::CodeGen::CodeGenModule::EmitConstantValue(), expandArray(), expandStringLiteral(), and getArrayFiller().
bool APValue::hasLValuePath | ( | ) | const |
Definition at line 568 of file APValue.cpp.
References isLValue().
Referenced by APValue(), findSubobject(), getLValuePath(), and printPretty().
bool clang::APValue::isAddrLabelDiff | ( | ) | const [inline] |
Definition at line 192 of file APValue.h.
References AddrLabelDiff.
Referenced by getAddrLabelDiffLHS(), and getAddrLabelDiffRHS().
bool clang::APValue::isArray | ( | ) | const [inline] |
Definition at line 188 of file APValue.h.
References Array.
Referenced by CheckConstantExpression(), getArrayFiller(), getArrayInitializedElt(), getArrayInitializedElts(), and getArraySize().
bool clang::APValue::isComplexFloat | ( | ) | const [inline] |
Definition at line 185 of file APValue.h.
References ComplexFloat.
Referenced by findSubobject(), getComplexFloatImag(), getComplexFloatReal(), and setComplexFloat().
bool clang::APValue::isComplexInt | ( | ) | const [inline] |
Definition at line 184 of file APValue.h.
References ComplexInt.
Referenced by findSubobject(), getComplexIntImag(), getComplexIntReal(), and setComplexInt().
bool clang::APValue::isFloat | ( | ) | const [inline] |
Definition at line 183 of file APValue.h.
References Float.
Referenced by clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), EvalAndBitcastToAPInt(), getFloat(), clang::StandardConversionSequence::getNarrowingKind(), and setFloat().
bool clang::APValue::isInt | ( | ) | const [inline] |
Definition at line 182 of file APValue.h.
References Int.
Referenced by clang::Sema::CheckConvertedConstantExpression(), clang::Sema::CheckEnableIf(), CheckEvalInICE(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CodeGen::CodeGenModule::EmitConstantValue(), EvalAndBitcastToAPInt(), EvaluateCPlusPlus11IntegralConstantExpr(), EvaluateInteger(), getInt(), setInt(), truncateBitfieldValue(), and clang::Sema::VerifyIntegerConstantExpression().
bool clang::APValue::isLValue | ( | ) | const [inline] |
Definition at line 186 of file APValue.h.
References LValue.
Referenced by CheckConstantExpression(), findSubobject(), getLValueBase(), getLValueCallIndex(), getLValueOffset(), getLValuePath(), hasLValuePath(), isLValueOnePastTheEnd(), isNullPointerValueTemplateArgument(), setLValue(), and truncateBitfieldValue().
bool APValue::isLValueOnePastTheEnd | ( | ) | const |
Definition at line 558 of file APValue.cpp.
References isLValue().
Referenced by APValue(), and printPretty().
bool clang::APValue::isMemberPointer | ( | ) | const [inline] |
Definition at line 191 of file APValue.h.
References MemberPointer.
Referenced by getMemberPointerDecl(), getMemberPointerPath(), isMemberPointerToDerivedMember(), and isNullPointerValueTemplateArgument().
bool APValue::isMemberPointerToDerivedMember | ( | ) | const |
Definition at line 615 of file APValue.cpp.
References isMemberPointer().
Referenced by APValue(), and clang::CodeGen::CGCXXABI::getMemberPointerPathAdjustment().
bool clang::APValue::isStruct | ( | ) | const [inline] |
Definition at line 189 of file APValue.h.
References Struct.
Referenced by CheckConstantExpression(), getStructBase(), getStructField(), getStructNumBases(), and getStructNumFields().
bool clang::APValue::isUninit | ( | ) | const [inline] |
Definition at line 181 of file APValue.h.
References Uninitialized.
Referenced by CheckConstantExpression(), clang::VarDecl::evaluateValue(), findSubobject(), clang::CodeGen::CodeGenModule::GetAddrOfGlobalTemporary(), and HandleConstructorCall().
bool clang::APValue::isUnion | ( | ) | const [inline] |
Definition at line 190 of file APValue.h.
References Union.
Referenced by CheckConstantExpression(), getUnionField(), getUnionValue(), HandleConstructorCall(), and setUnion().
bool clang::APValue::isVector | ( | ) | const [inline] |
Definition at line 187 of file APValue.h.
References Vector.
Referenced by EvalAndBitcastToAPInt(), getVectorElt(), getVectorLength(), and setVector().
bool APValue::needsCleanup | ( | ) | const |
Returns whether the object performed allocations.
If APValues are constructed via placement new, needsCleanup()
indicates whether the destructor must be called in order to correctly free all allocated memory.
Definition at line 215 of file APValue.cpp.
References AddrLabelDiff, Array, ComplexFloat, ComplexInt, Float, getComplexFloatImag(), getComplexFloatReal(), getComplexIntImag(), getComplexIntReal(), getFloat(), getInt(), getKind(), Int, LValue, MemberPointer, Struct, Uninitialized, Union, and Vector.
Referenced by clang::VarDecl::evaluateValue().
void APValue::printPretty | ( | raw_ostream & | OS, |
ASTContext & | Ctx, | ||
QualType | Ty | ||
) | const |
Definition at line 344 of file APValue.cpp.
References AddrLabelDiff, Array, clang::CXXRecordDecl::bases_begin(), clang::CXXRecordDecl::bases_end(), ComplexFloat, ComplexInt, Float, getAddrLabelDiffLHS(), getAddrLabelDiffRHS(), GetApproxValue(), getArrayInitializedElt(), getArrayInitializedElts(), clang::Type::getAs(), clang::ASTContext::getAsArrayType(), getComplexFloatImag(), getComplexFloatReal(), getComplexIntImag(), getComplexIntReal(), clang::ArrayType::getElementType(), getElementType(), getFloat(), getInt(), getKind(), clang::AddrLabelExpr::getLabel(), getLValueBase(), getLValueOffset(), getLValuePath(), getMemberPointerDecl(), clang::NamedDecl::getName(), clang::QualType::getNonReferenceType(), clang::Type::getPointeeType(), clang::ASTContext::getPrintingPolicy(), clang::ASTContext::getRecordType(), getStructBase(), getStructField(), getStructNumBases(), clang::Expr::getType(), clang::ASTContext::getTypeSizeInChars(), getUnionField(), getUnionValue(), getVectorElt(), getVectorLength(), hasLValuePath(), Int, clang::Type::isBooleanType(), isLValueOnePastTheEnd(), clang::QualType::isNull(), clang::Type::isReferenceType(), clang::CharUnits::isZero(), LValue, MemberPointer, clang::CharUnits::One(), printPretty(), clang::Stmt::printPretty(), S, Struct, Uninitialized, Union, and Vector.
Referenced by describeCall(), getAsString(), and printPretty().
void clang::APValue::setAddrLabelDiff | ( | const AddrLabelExpr * | LHSExpr, |
const AddrLabelExpr * | RHSExpr | ||
) | [inline] |
void clang::APValue::setComplexFloat | ( | APFloat | R, |
APFloat | I | ||
) | [inline] |
void clang::APValue::setComplexInt | ( | APSInt | R, |
APSInt | I | ||
) | [inline] |
void clang::APValue::setFloat | ( | APFloat | F | ) | [inline] |
void clang::APValue::setInt | ( | APSInt | I | ) | [inline] |
void APValue::setLValue | ( | LValueBase | B, |
const CharUnits & | O, | ||
NoLValuePath | , | ||
unsigned | CallIndex | ||
) |
Definition at line 584 of file APValue.cpp.
References isLValue(), and clang::APValue::LV::resizePath().
Referenced by APValue().
void APValue::setLValue | ( | LValueBase | B, |
const CharUnits & | O, | ||
ArrayRef< LValuePathEntry > | Path, | ||
bool | OnePastTheEnd, | ||
unsigned | CallIndex | ||
) |
Definition at line 595 of file APValue.cpp.
References clang::APValue::LV::getPath(), isLValue(), and clang::APValue::LV::resizePath().
void clang::APValue::setUnion | ( | const FieldDecl * | Field, |
const APValue & | Value | ||
) | [inline] |
void clang::APValue::setVector | ( | const APValue * | E, |
unsigned | N | ||
) | [inline] |
void APValue::swap | ( | APValue & | RHS | ) |
Swaps the contents of this and the given APValue.
Definition at line 250 of file APValue.cpp.
Referenced by APValue(), expandArray(), and operator=().