reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
19 Pointer::Pointer(const Pointer &P) : Pointer(P.Pointee, P.Base, P.Offset) {} 22 : Pointee(P.Pointee), Base(P.Base), Offset(P.Offset) { 48 Base = P.Base; 48 Base = P.Base; 65 Base = P.Base; 65 Base = P.Base; 150 return Base == 0 || getInlineDesc()->IsInitialized; 172 assert(Base != 0 && "Only composite fields can be initialised"); 179 assert(Base != 0 && "Only composite fields can be initialised"); 192 return A.Base == B.Base && A.getFieldDesc()->IsArray; 192 return A.Base == B.Base && A.getFieldDesc()->IsArray;tools/clang/lib/AST/Interp/Pointer.h
59 if (Base == RootPtrMark) 66 return Pointer(Pointee, Base, Base + Off); 66 return Pointer(Pointee, Base, Base + Off); 82 if (Base == RootPtrMark) 87 return Pointer(Pointee, Base, PastEndMark); 94 if (Offset != Base) 96 return Pointer(Pointee, Base, Offset + sizeof(InitMap *)); 100 if (Offset != Base) 107 const unsigned NewBase = Base + sizeof(InlineDescriptor); 120 return Pointer(Pointee, Base, Base + getSize() + Adjust); 120 return Pointer(Pointee, Base, Base + getSize() + Adjust); 124 if (Base != Offset) 128 if (Base == 0) 132 unsigned Next = Base - getInlineDesc()->Offset; 144 bool isField() const { return Base != 0 && Base != RootPtrMark; } 144 bool isField() const { return Base != 0 && Base != RootPtrMark; } 152 if (Base == RootPtrMark) { 154 return Pointer(Pointee, Base, 0); 156 assert(Offset == Base && "not an inner field"); 157 unsigned NewBase = Base - getInlineDesc()->Offset; 162 if (Base == RootPtrMark) { 164 return Pointer(Pointee, Base, 0); 166 assert(Offset != Base && "not an array element"); 167 return Pointer(Pointee, Base, Base); 167 return Pointer(Pointee, Base, Base); 172 if (Base == 0 || Base == RootPtrMark) 172 if (Base == 0 || Base == RootPtrMark) 182 if (Base == RootPtrMark) 192 if (Base == RootPtrMark) 196 if (Offset != Base) { 202 return Offset - Base - Adjust; 214 bool isArrayElement() const { return Base != Offset; } 217 return (Base == 0 || Base == RootPtrMark) && Offset == 0; 217 return (Base == 0 || Base == RootPtrMark) && Offset == 0; 238 bool isMutable() const { return Base != 0 && getInlineDesc()->IsMutable; } 242 bool isActive() const { return Base == 0 || getInlineDesc()->IsActive; } 248 return Base == 0 ? getDeclDesc()->IsConst : getInlineDesc()->IsConst; 304 OS << "{" << Base << ", " << Offset << ", "; 319 InlineDescriptor *getInlineDesc() const { return getDescriptor(Base); } 329 return *reinterpret_cast<InitMap **>(Pointee->data() + Base);