Lines Matching refs:Designator
1548 SubobjectDesignator Designator; member
1555 SubobjectDesignator &getLValueDesignator() { return Designator; } in getLValueDesignator()
1556 const SubobjectDesignator &getLValueDesignator() const { return Designator;} in getLValueDesignator()
1563 if (Designator.Invalid) in moveInto()
1567 V = APValue(Base, Offset, Designator.Entries, in moveInto()
1568 Designator.IsOnePastTheEnd, IsNullPtr); in moveInto()
1576 Designator = SubobjectDesignator(Ctx, V); in setFrom()
1593 Designator = SubobjectDesignator(getType(B)); in set()
1602 Designator = SubobjectDesignator(PointerTy->getPointeeType()); in setNull()
1621 if (Designator.Invalid) in checkNullPointerDiagnosingWith()
1625 Designator.setInvalid(); in checkNullPointerDiagnosingWith()
1650 Designator.checkSubobject(Info, E, CSK); in checkSubobject()
1656 Designator.addDeclUnchecked(D, Virtual); in addDecl()
1659 if (!Designator.Entries.empty()) { in addUnsizedArray()
1661 Designator.setInvalid(); in addUnsizedArray()
1666 Designator.FirstEntryIsAnUnsizedArray = true; in addUnsizedArray()
1667 Designator.addUnsizedArrayUnchecked(ElemTy); in addUnsizedArray()
1672 Designator.addArrayUnchecked(CAT); in addArray()
1676 Designator.addComplexUnchecked(EltTy, Imag); in addComplex()
1697 Designator.adjustIndex(Info, E, Index); in adjustOffsetAndIndex()
1920 This->Designator.MostDerivedType); in describe()
2132 const SubobjectDesignator &Designator = LVal.getLValueDesignator(); in CheckLValueConstantExpression() local
2157 << IsReferenceType << !Designator.Entries.empty() << InvalidBaseKind in CheckLValueConstantExpression()
2179 << IsReferenceType << !Designator.Entries.empty() in CheckLValueConstantExpression()
2207 << IsReferenceType << !Designator.Entries.empty(); in CheckLValueConstantExpression()
2287 if (!Designator.Invalid && Designator.isOnePastTheEnd()) { in CheckLValueConstantExpression()
2289 << !Designator.Entries.empty() << !!BaseVD << BaseVD; in CheckLValueConstantExpression()
3043 SubobjectDesignator &D = Result.Designator; in CastToDerivedClass()
3091 SubobjectDesignator &D = Obj.Designator; in HandleLValueBase()
4239 if (LVal.Designator.Invalid) in handleLValueToRValueConversion()
4285 return extractSubobject(Info, Conv, LitObj, LVal.Designator, RVal, AK); in handleLValueToRValueConversion()
4289 assert(LVal.Designator.Entries.size() <= 1 && in handleLValueToRValueConversion()
4291 if (LVal.Designator.Entries.empty()) { in handleLValueToRValueConversion()
4298 if (LVal.Designator.isOnePastTheEnd()) { in handleLValueToRValueConversion()
4305 uint64_t CharIndex = LVal.Designator.Entries[0].getAsArrayIndex(); in handleLValueToRValueConversion()
4312 return Obj && extractSubobject(Info, Conv, Obj, LVal.Designator, RVal, AK); in handleLValueToRValueConversion()
4318 if (LVal.Designator.Invalid) in handleAssignment()
4327 return Obj && modifySubobject(Info, E, Obj, LVal.Designator, Val); in handleAssignment()
4461 if (LVal.Designator.Invalid) in handleCompoundAssignment()
4472 return Obj && findSubobject(Info, E, Obj, LVal.Designator, Handler); in handleCompoundAssignment()
4605 if (LVal.Designator.Invalid) in handleIncDec()
4616 return Obj && findSubobject(Info, E, Obj, LVal.Designator, Handler); in handleIncDec()
4667 if (LV.Designator.MostDerivedPathLength + MemPtr.Path.size() > in HandleMemberPointerAccess()
4668 LV.Designator.Entries.size()) { in HandleMemberPointerAccess()
4673 LV.Designator.Entries.size() - MemPtr.Path.size(); in HandleMemberPointerAccess()
4676 LV.Designator.Entries[PathLengthToMember + I]); in HandleMemberPointerAccess()
4690 LV.Designator.Entries.reserve(LV.Designator.Entries.size() + in HandleMemberPointerAccess()
4750 SubobjectDesignator &D = Result.Designator; in HandleBaseToDerivedCast()
5601 if (This.Designator.Invalid) in checkDynamicType()
5613 if (This.Designator.isOnePastTheEnd() || in checkDynamicType()
5614 This.Designator.isMostDerivedAnUnsizedArray()) { in checkDynamicType()
5615 Info.FFDiag(E, This.Designator.isOnePastTheEnd() in checkDynamicType()
5626 Info.Ctx.getLValueReferenceType(This.Designator.getType(Info.Ctx)); in checkDynamicType()
5635 return Obj && findSubobject(Info, E, Obj, This.Designator, Handler); in checkDynamicType()
5656 static const CXXRecordDecl *getBaseClassType(SubobjectDesignator &Designator, in getBaseClassType() argument
5658 assert(PathLength >= Designator.MostDerivedPathLength && PathLength <= in getBaseClassType()
5659 Designator.Entries.size() && "invalid path length"); in getBaseClassType()
5660 return (PathLength == Designator.MostDerivedPathLength) in getBaseClassType()
5661 ? Designator.MostDerivedType->getAsCXXRecordDecl() in getBaseClassType()
5662 : getAsBaseClass(Designator.Entries[PathLength - 1]); in getBaseClassType()
5681 This.Designator.MostDerivedType->getAsCXXRecordDecl(); in ComputeDynamicType()
5691 ArrayRef<APValue::LValuePathEntry> Path = This.Designator.Entries; in ComputeDynamicType()
5692 for (unsigned PathLength = This.Designator.MostDerivedPathLength; in ComputeDynamicType()
5708 return DynamicType{getBaseClassType(This.Designator, PathLength), in ComputeDynamicType()
5736 for (/**/; PathLength <= This.Designator.Entries.size(); ++PathLength) { in HandleVirtualDispatch()
5737 const CXXRecordDecl *Class = getBaseClassType(This.Designator, PathLength); in HandleVirtualDispatch()
5761 CovariantPathLength != This.Designator.Entries.size(); in HandleVirtualDispatch()
5764 getBaseClassType(This.Designator, CovariantPathLength); in HandleVirtualDispatch()
5830 SubobjectDesignator &D = Ptr.Designator; in HandleDynamicCast()
5880 << DiagKind << Ptr.Designator.getType(Info.Ctx) in HandleDynamicCast()
5889 for (int PathLength = Ptr.Designator.Entries.size(); in HandleDynamicCast()
5891 const CXXRecordDecl *Class = getBaseClassType(Ptr.Designator, PathLength); in HandleDynamicCast()
5896 !isBaseClassPublic(getBaseClassType(Ptr.Designator, PathLength - 1), in HandleDynamicCast()
5977 if (LHS.InvalidBase || LHS.Designator.Invalid) in HandleUnionActiveMemberChange()
5983 unsigned PathLength = LHS.Designator.Entries.size(); in HandleUnionActiveMemberChange()
6007 LHS.Designator.Entries[PathLength] in HandleUnionActiveMemberChange()
6034 LHS.Designator.Entries[PathLength] in HandleUnionActiveMemberChange()
6057 SubobjectDesignator D = LHS.Designator; in HandleUnionActiveMemberChange()
6226 ObjectUnderConstruction{This.getLValueBase(), This.Designator.Entries}, in HandleConstructorCall()
6535 ObjectUnderConstruction{This.getLValueBase(), This.Designator.Entries}); in HandleDestructionImpl()
6632 return Obj && findSubobject(Info, E, Obj, This.Designator, Handler); in HandleDestruction()
6764 Subobject = Pointer.Designator.MostDerivedPathLength != 0 || in CheckDeleteKind()
6765 Pointer.Designator.isOnePastTheEnd(); in CheckDeleteKind()
6767 Subobject = Pointer.Designator.Entries.size() != 1 || in CheckDeleteKind()
6768 Pointer.Designator.Entries[0].getAsArrayIndex() != 0; in CheckDeleteKind()
6772 << PointerAsString() << Pointer.Designator.isOnePastTheEnd(); in CheckDeleteKind()
6797 if (Pointer.Designator.Invalid) in HandleOperatorDeleteCall()
7842 SubobjectDesignator Designator(BaseTy); in VisitMemberExpr() local
7843 Designator.addDeclUnchecked(FD); in VisitMemberExpr()
7846 return extractSubobject(Info, E, Obj, Designator, Result) && in VisitMemberExpr()
8185 Result.Designator.setInvalid(); in VisitCastExpr()
8874 !Result.InvalidBase && !Result.Designator.Invalid && in VisitCastExpr()
8876 Info.Ctx.hasSameUnqualifiedType(Result.Designator.getType(Info.Ctx), in VisitCastExpr()
8890 Result.Designator.setInvalid(); in VisitCastExpr()
8944 Result.Designator.setInvalid(); in VisitCastExpr()
9143 Result.Designator.setInvalid(); in VisitBuiltinCallExpr()
9155 Result.Designator.setInvalid(); in VisitBuiltinCallExpr()
9245 Result.Designator.Invalid) in VisitBuiltinCallExpr()
9247 QualType CharTy = Result.Designator.getType(Info.Ctx); in VisitBuiltinCallExpr()
9372 if (Src.Designator.Invalid || Dest.Designator.Invalid) in VisitBuiltinCallExpr()
9378 QualType T = Dest.Designator.getType(Info.Ctx); in VisitBuiltinCallExpr()
9379 QualType SrcT = Src.Designator.getType(Info.Ctx); in VisitBuiltinCallExpr()
9411 uint64_t RemainingSrcSize = Src.Designator.validIndexAdjustments().second; in VisitBuiltinCallExpr()
9412 uint64_t RemainingDestSize = Dest.Designator.validIndexAdjustments().second; in VisitBuiltinCallExpr()
9496 if (Result.Designator.Invalid) in VisitCXXNewExpr()
9644 if (!Obj || !findSubobject(Info, E, Obj, Result.Designator, Handler)) in VisitCXXNewExpr()
9938 ObjectUnderConstruction{This.getLValueBase(), This.Designator.Entries}, in VisitInitListExpr()
11495 assert(!LVal.Designator.Invalid); in isDesignatorAtObjectEnd()
11523 if (LVal.Designator.FirstEntryIsAnUnsizedArray) { in isDesignatorAtObjectEnd()
11533 for (unsigned E = LVal.Designator.Entries.size(); I != E; ++I) { in isDesignatorAtObjectEnd()
11534 const auto &Entry = LVal.Designator.Entries[I]; in isDesignatorAtObjectEnd()
11569 if (LVal.Designator.Invalid) in refersToCompleteObject()
11572 if (!LVal.Designator.Entries.empty()) in refersToCompleteObject()
11573 return LVal.Designator.isMostDerivedAnUnsizedArray(); in refersToCompleteObject()
11587 const SubobjectDesignator &Designator = LVal.Designator; in isUserWritingOffTheEnd() local
11601 Designator.Entries.size() == Designator.MostDerivedPathLength && in isUserWritingOffTheEnd()
11602 Designator.MostDerivedIsArrayElement && in isUserWritingOffTheEnd()
11603 (Designator.isMostDerivedAnUnsizedArray() || in isUserWritingOffTheEnd()
11604 Designator.getMostDerivedArraySize() == 0 || in isUserWritingOffTheEnd()
11605 (Designator.getMostDerivedArraySize() == 1 && in isUserWritingOffTheEnd()
11642 if (!(Type & 1) || LVal.Designator.Invalid || DetermineForCompleteObject) { in determineEndOffset()
11660 const SubobjectDesignator &Designator = LVal.Designator; in determineEndOffset() local
11685 if (!CheckedHandleSizeof(Designator.MostDerivedType, BytesPerElem)) in determineEndOffset()
11692 if (Designator.MostDerivedIsArrayElement && in determineEndOffset()
11693 Designator.Entries.size() == Designator.MostDerivedPathLength) { in determineEndOffset()
11694 uint64_t ArraySize = Designator.getMostDerivedArraySize(); in determineEndOffset()
11695 uint64_t ArrayIndex = Designator.Entries.back().getAsArrayIndex(); in determineEndOffset()
11698 ElemsRemaining = Designator.isOnePastTheEnd() ? 0 : 1; in determineEndOffset()
12165 String1.Designator.Invalid || String2.Designator.Invalid) in VisitBuiltinCallExpr()
12168 QualType CharTy1 = String1.Designator.getType(Info.Ctx); in VisitBuiltinCallExpr()
12169 QualType CharTy2 = String2.Designator.getType(Info.Ctx); in VisitBuiltinCallExpr()
13541 LV.Designator.setInvalid(); in VisitCastExpr()
14693 if (Pointer.Designator.Invalid) in VisitCXXDeleteExpr()
14714 if (!E->isArrayForm() && Pointer.Designator.Entries.size() != 0 && in VisitCXXDeleteExpr()