Lines Matching defs:APValue

1 //===--- APValue.cpp - Union class for APFloat/APSInt/Complex -------------===//
10 // This file implements the APValue class.
14 #include "clang/AST/APValue.h"
28 llvm::PointerIntPair<APValue::LValueBase, 1, bool> BaseAndIsOnePastTheEnd;
35 struct APValue::LV : LVBase {
76 struct APValue::MemberPointerData : MemberPointerBase {
108 APValue::Arr::Arr(unsigned NumElts, unsigned Size) :
109 Elts(new APValue[NumElts + (NumElts != Size ? 1 : 0)]),
111 APValue::Arr::~Arr() { delete [] Elts; }
113 APValue::StructData::StructData(unsigned NumBases, unsigned NumFields) :
114 Elts(new APValue[NumBases+NumFields]),
116 APValue::StructData::~StructData() {
120 APValue::UnionData::UnionData() : Field(nullptr), Value(new APValue) {}
121 APValue::UnionData::~UnionData () {
125 APValue::APValue(const APValue &RHS) : Kind(Uninitialized) {
189 void APValue::DestroyDataAndMakeUninit() {
215 bool APValue::needsCleanup() const {
247 llvm_unreachable("Unknown APValue kind!");
250 void APValue::swap(APValue &RHS) {
258 void APValue::dump() const {
271 void APValue::dump(raw_ostream &OS) const {
341 llvm_unreachable("Unknown APValue kind!");
344 void APValue::printPretty(raw_ostream &Out, ASTContext &Ctx, QualType Ty) const{
346 case APValue::Uninitialized:
349 case APValue::Int:
355 case APValue::Float:
358 case APValue::Vector: {
369 case APValue::ComplexInt:
372 case APValue::ComplexFloat:
376 case APValue::LValue: {
474 case APValue::Array: {
493 case APValue::Struct: {
519 case APValue::Union:
527 case APValue::MemberPointer:
536 case APValue::AddrLabelDiff:
542 llvm_unreachable("Unknown APValue kind!");
545 std::string APValue::getAsString(ASTContext &Ctx, QualType Ty) const {
553 const APValue::LValueBase APValue::getLValueBase() const {
558 bool APValue::isLValueOnePastTheEnd() const {
563 CharUnits &APValue::getLValueOffset() {
568 bool APValue::hasLValuePath() const {
573 ArrayRef<APValue::LValuePathEntry> APValue::getLValuePath() const {
579 unsigned APValue::getLValueCallIndex() const {
584 void APValue::setLValue(LValueBase B, const CharUnits &O, NoLValuePath,
595 void APValue::setLValue(LValueBase B, const CharUnits &O,
608 const ValueDecl *APValue::getMemberPointerDecl() const {
615 bool APValue::isMemberPointerToDerivedMember() const {
622 ArrayRef<const CXXRecordDecl*> APValue::getMemberPointerPath() const {
629 void APValue::MakeLValue() {
636 void APValue::MakeArray(unsigned InitElts, unsigned Size) {
642 void APValue::MakeMemberPointer(const ValueDecl *Member, bool IsDerivedMember,