Home | History | Annotate | Download | only in AST

Lines Matching defs:Designator

235     /// relevant diagnostic and set the designator as invalid.
238 /// Update this designator to refer to the first element within this array.
250 /// Update this designator to refer to the given base or member of this
266 /// Update this designator to refer to the given complex component.
997 SubobjectDesignator Designator;
1003 SubobjectDesignator &getLValueDesignator() { return Designator; }
1004 const SubobjectDesignator &getLValueDesignator() const { return Designator;}
1007 if (Designator.Invalid)
1010 V = APValue(Base, Offset, Designator.Entries,
1011 Designator.IsOnePastTheEnd, CallIndex);
1019 Designator = SubobjectDesignator(Ctx, V);
1027 Designator = SubobjectDesignator(getType(B));
1035 // a diagnostic and mark the designator as invalid.
1038 if (Designator.Invalid)
1043 Designator.setInvalid();
1049 // Check this LValue refers to an object. If not, set the designator to be
1053 Designator.checkSubobject(Info, E, CSK);
1059 Designator.addDeclUnchecked(D, Virtual);
1063 Designator.addArrayUnchecked(CAT);
1067 Designator.addComplexUnchecked(EltTy, Imag);
1071 Designator.adjustIndex(Info, E, N);
1209 Frame->This->Designator.MostDerivedType);
1330 const SubobjectDesignator &Designator = LVal.getLValueDesignator();
1339 << IsReferenceType << !Designator.Entries.empty()
1391 if (!Designator.Invalid && Designator.isOnePastTheEnd()) {
1394 << !Designator.Entries.empty() << !!VD << VD;
1857 SubobjectDesignator &D = Result.Designator;
1905 SubobjectDesignator &D = Obj.Designator;
2286 // Walk the designator's path to find the subobject.
2323 // designator which points more than one past the end of the array.
2797 if (LVal.Designator.Invalid)
2816 return extractSubobject(Info, Conv, LitObj, LVal.Designator, RVal);
2823 return extractSubobject(Info, Conv, StrObj, LVal.Designator, RVal);
2828 return Obj && extractSubobject(Info, Conv, Obj, LVal.Designator, RVal);
2834 if (LVal.Designator.Invalid)
2843 return Obj && modifySubobject(Info, E, Obj, LVal.Designator, Val);
2955 if (LVal.Designator.Invalid)
2966 return Obj && findSubobject(Info, E, Obj, LVal.Designator, Handler);
3104 if (LVal.Designator
3115 return Obj && findSubobject(Info, E, Obj, LVal.Designator, Handler);
3141 /// the resulting LValue subobject designator. This is not possible when
3166 if (LV.Designator.MostDerivedPathLength + MemPtr.Path.size() >
3167 LV.Designator.Entries.size()) {
3172 LV.Designator.Entries.size() - MemPtr.Path.size();
3175 LV.Designator.Entries[PathLengthToMember + I]);
3189 LV.Designator.Entries.reserve(LV.Designator.Entries.size() +
3249 SubobjectDesignator &D = Result.Designator;
4323 SubobjectDesignator Designator(BaseTy);
4324 Designator.addDeclUnchecked(FD);
4327 return extractSubobject(Info, E, Obj, Designator, Result) &&
4605 Result.Designator.setInvalid();
4973 Result.Designator.setInvalid();
5020 Result.Designator.setInvalid();
5043 Result.Designator.setInvalid();
5126 Result.Designator.setInvalid();
5139 Result.Designator.setInvalid();
6337 /// Checks to see if the given LValue's Designator is at the end of the LValue's
6350 assert(!LVal.Designator.Invalid);
6372 for (int I = 0, E = LVal.Designator.Entries.size(); I != E; ++I) {
6375 // the index iff this is the last array in the Designator.
6379 uint64_t Index = LVal.Designator.Entries[I].ArrayIndex;
6385 uint64_t Index = LVal.Designator.Entries[I].ArrayIndex;
6389 Designator.Entries[I])) {
6394 assert(getAsBaseClass(LVal.Designator.Entries[I]) != nullptr &&
6402 /// Tests to see if the LValue has a designator (that isn't necessarily valid).
6404 if (LVal.Designator.Invalid || !LVal.Designator.Entries.empty())
6472 // with a known designator if Type & 1 is 1. For instance:
6483 // object designator
6489 if (!SubobjectOnly || (End.Designator.Invalid && Type == 1)) {
6492 End.Designator.setInvalid();
6494 End.Designator = SubobjectDesignator(T);
6502 if (End.Designator.Invalid)
6509 if (End.Designator.MostDerivedIsArrayElement &&
6510 End.Designator.Entries.size() == End.Designator.MostDerivedPathLength) {
6512 AmountToAdd = End.Designator.MostDerivedArraySize -
6513 End.Designator.Entries.back().ArrayIndex;
6514 } else if (End.Designator.isOnePastTheEnd()) {
6519 QualType PointeeType = End.Designator.MostDerivedType;
6524 if (!HandleLValueArrayAdjustment(Info, E, End, End.Designator.MostDerivedType,
6541 End.Designator.Entries.size() == End.Designator.MostDerivedPathLength &&
6542 End.Designator.MostDerivedIsArrayElement &&
6543 End.Designator.MostDerivedArraySize < 2 &&
6855 // If the designator is valid and refers to a subobject, we're not pointing
7827 LV.Designator.setInvalid();