Lines Matching defs:TL

346   QualType TransformType(TypeLocBuilder &TLB, TypeLoc TL);
674 TemplateTypeParmTypeLoc TL,
678 SubstTemplateTypeParmPackTypeLoc TL,
683 FunctionProtoTypeLoc TL,
697 TemplateSpecializationTypeLoc TL,
702 DependentTemplateSpecializationTypeLoc TL,
707 TypeLocBuilder &TLB, DependentTemplateSpecializationTypeLoc TL,
782 QualType TransformReferenceType(TypeLocBuilder &TLB, ReferenceTypeLoc TL);
835 QualType RebuildQualifiedType(QualType T, QualifiedTypeLoc TL);
4219 TypeLoc TransformTypeInObjectScope(TypeLoc TL,
4229 TypeSourceInfo *TransformTSIInObjectScope(TypeLoc TL, QualType ObjectType,
4234 DependentNameTypeLoc TL,
4611 TypeLoc TL = TransformTypeInObjectScope(Q.getTypeLoc(), ObjectType,
4614 if (!TL)
4617 QualType T = TL.getType();
4621 SemaRef.Diag(TL.getBeginLoc(),
4624 if (const auto ETL = TL.getAs<ElaboratedTypeLoc>()) {
4626 TL = ETL.getNamedTypeLoc();
4629 SS.Extend(SemaRef.Context, TL.getTemplateKeywordLoc(), TL,
4635 TypedefTypeLoc TTL = TL.getAsAdjusted<TypedefTypeLoc>();
4637 SemaRef.Diag(TL.getBeginLoc(), diag::err_nested_name_spec_non_tag)
5140 TypeLoc TL = DI->getTypeLoc();
5141 TLB.reserve(TL.getFullDataSize());
5143 QualType Result = getDerived().TransformType(TLB, TL);
5192 TypeLoc TL = DI->getTypeLoc();
5193 TLB.reserve(TL.getFullDataSize());
5195 auto QTL = TL.getAs<QualifiedTypeLoc>();
5197 TL = QTL.getUnqualifiedLoc();
5199 auto DNTL = TL.castAs<DependentNameTypeLoc>();
5252 QualifiedTypeLoc TL) {
5254 SourceLocation Loc = TL.getBeginLoc();
5255 Qualifiers Quals = TL.getType().getLocalQualifiers();
5261 << TL.getType() << T;
5323 TreeTransform<Derived>::TransformTypeInObjectScope(TypeLoc TL,
5327 if (getDerived().AlreadyTransformed(TL.getType()))
5328 return TL;
5331 TransformTSIInObjectScope(TL, ObjectType, UnqualLookup, SS);
5352 TypeLoc TL, QualType ObjectType, NamedDecl *UnqualLookup,
5354 QualType T = TL.getType();
5362 TL.castAs<TemplateSpecializationTypeLoc>();
5374 TL.castAs<DependentTemplateSpecializationTypeLoc>();
5392 Result = getDerived().TransformType(TLB, TL);
5427 AdjustedTypeLoc TL) {
5429 return getDerived().TransformType(TLB, TL.getOriginalLoc());
5434 DecayedTypeLoc TL) {
5435 QualType OriginalType = getDerived().TransformType(TLB, TL.getOriginalLoc());
5439 QualType Result = TL.getType();
5441 OriginalType != TL.getOriginalLoc().getType())
5451 ArrayParameterTypeLoc TL) {
5452 QualType OriginalType = getDerived().TransformType(TLB, TL.getElementLoc());
5456 QualType Result = TL.getType();
5458 OriginalType != TL.getElementLoc().getType())
5467 PointerTypeLoc TL) {
5469 = getDerived().TransformType(TLB, TL.getPointeeLoc());
5473 QualType Result = TL.getType();
5482 NewT.setStarLoc(TL.getStarLoc());
5487 PointeeType != TL.getPointeeLoc().getType()) {
5488 Result = getDerived().RebuildPointerType(PointeeType, TL.getSigilLoc());
5498 NewT.setSigilLoc(TL.getSigilLoc());
5505 BlockPointerTypeLoc TL) {
5507 = getDerived().TransformType(TLB, TL.getPointeeLoc());
5511 QualType Result = TL.getType();
5513 PointeeType != TL.getPointeeLoc().getType()) {
5515 TL.getSigilLoc());
5521 NewT.setSigilLoc(TL.getSigilLoc());
5532 ReferenceTypeLoc TL) {
5533 const ReferenceType *T = TL.getTypePtr();
5536 QualType PointeeType = getDerived().TransformType(TLB, TL.getPointeeLoc());
5540 QualType Result = TL.getType();
5545 TL.getSigilLoc());
5561 NewTL.setSigilLoc(TL.getSigilLoc());
5569 LValueReferenceTypeLoc TL) {
5570 return TransformReferenceType(TLB, TL);
5576 RValueReferenceTypeLoc TL) {
5577 return TransformReferenceType(TLB, TL);
5583 MemberPointerTypeLoc TL) {
5584 QualType PointeeType = getDerived().TransformType(TLB, TL.getPointeeLoc());
5588 TypeSourceInfo* OldClsTInfo = TL.getClassTInfo();
5596 const MemberPointerType *T = TL.getTypePtr();
5607 QualType Result = TL.getType();
5612 TL.getStarLoc());
5626 NewTL.setSigilLoc(TL.getSigilLoc());
5635 ConstantArrayTypeLoc TL) {
5636 const ConstantArrayType *T = TL.getTypePtr();
5637 QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
5642 Expr *OldSize = TL.getSizeExpr();
5653 QualType Result = TL.getType();
5661 TL.getBracketsRange());
5671 NewTL.setLBracketLoc(TL.getLBracketLoc());
5672 NewTL.setRBracketLoc(TL.getRBracketLoc());
5681 IncompleteArrayTypeLoc TL) {
5682 const IncompleteArrayType *T = TL.getTypePtr();
5683 QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
5687 QualType Result = TL.getType();
5693 TL.getBracketsRange());
5699 NewTL.setLBracketLoc(TL.getLBracketLoc());
5700 NewTL.setRBracketLoc(TL.getRBracketLoc());
5709 VariableArrayTypeLoc TL) {
5710 const VariableArrayType *T = TL.getTypePtr();
5711 QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
5730 QualType Result = TL.getType();
5738 TL.getBracketsRange());
5746 NewTL.setLBracketLoc(TL.getLBracketLoc());
5747 NewTL.setRBracketLoc(TL.getRBracketLoc());
5756 DependentSizedArrayTypeLoc TL) {
5757 const DependentSizedArrayType *T = TL.getTypePtr();
5758 QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
5770 Expr *origSize = TL.getSizeExpr();
5781 QualType Result = TL.getType();
5789 TL.getBracketsRange());
5797 NewTL.setLBracketLoc(TL.getLBracketLoc());
5798 NewTL.setRBracketLoc(TL.getRBracketLoc());
5806 TypeLocBuilder &TLB, DependentVectorTypeLoc TL) {
5807 const DependentVectorType *T = TL.getTypePtr();
5808 QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
5820 QualType Result = TL.getType();
5833 NewTL.setNameLoc(TL.getNameLoc());
5836 NewTL.setNameLoc(TL.getNameLoc());
5845 DependentSizedExtVectorTypeLoc TL) {
5846 const DependentSizedExtVectorType *T = TL.getTypePtr();
5849 QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
5862 QualType Result = TL.getType();
5877 NewTL.setNameLoc(TL.getNameLoc());
5880 NewTL.setNameLoc(TL.getNameLoc());
5889 ConstantMatrixTypeLoc TL) {
5890 const ConstantMatrixType *T = TL.getTypePtr();
5895 QualType Result = TL.getType();
5904 NewTL.setAttrNameLoc(TL.getAttrNameLoc());
5905 NewTL.setAttrOperandParensRange(TL.getAttrOperandParensRange());
5906 NewTL.setAttrRowOperand(TL.getAttrRowOperand());
5907 NewTL.setAttrColumnOperand(TL.getAttrColumnOperand());
5914 TypeLocBuilder &TLB, DependentSizedMatrixTypeLoc TL) {
5915 const DependentSizedMatrixType *T = TL.getTypePtr();
5926 Expr *origRows = TL.getAttrRowOperand();
5929 Expr *origColumns = TL.getAttrColumnOperand();
5946 QualType Result = TL.getType();
5959 NewTL.setAttrNameLoc(TL.getAttrNameLoc());
5960 NewTL.setAttrOperandParensRange(TL.getAttrOperandParensRange());
5968 TypeLocBuilder &TLB, DependentAddressSpaceTypeLoc TL) {
5969 const DependentAddressSpaceType *T = TL.getTypePtr();
5972 getDerived().TransformType(TLB, TL.getPointeeTypeLoc());
5986 QualType Result = TL.getType();
6000 NewTL.setAttrOperandParensRange(TL.getAttrOperandParensRange());
6001 NewTL.setAttrExprOperand(TL.getAttrExprOperand());
6002 NewTL.setAttrNameLoc(TL.getAttrNameLoc());
6013 VectorTypeLoc TL) {
6014 const VectorType *T = TL.getTypePtr();
6015 QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
6019 QualType Result = TL.getType();
6029 NewTL.setNameLoc(TL.getNameLoc());
6036 ExtVectorTypeLoc TL) {
6037 const VectorType *T = TL.getTypePtr();
6038 QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
6042 QualType Result = TL.getType();
6053 NewTL.setNameLoc(TL.getNameLoc());
6139 TypeLoc TL = OldParm->getTypeSourceInfo()->getTypeLoc();
6140 PackExpansionTypeLoc ExpansionTL = TL.castAs<PackExpansionTypeLoc>();
6351 FunctionProtoTypeLoc TL) {
6354 TLB, TL, nullptr, Qualifiers(),
6356 return getDerived().TransformExceptionSpec(TL.getBeginLoc(), ESI,
6363 TypeLocBuilder &TLB, FunctionProtoTypeLoc TL, CXXRecordDecl *ThisContext,
6376 const FunctionProtoType *T = TL.getTypePtr();
6382 TL.getBeginLoc(), TL.getParams(),
6383 TL.getTypePtr()->param_type_begin(),
6399 ResultType = getDerived().TransformType(TLB, TL.getReturnLoc());
6405 ResultType = getDerived().TransformType(TLB, TL.getReturnLoc());
6410 TL.getBeginLoc(), TL.getParams(),
6411 TL.getTypePtr()->param_type_begin(),
6427 llvm::ArrayRef(EPI.ExtParameterInfos, TL.getNumParams()) !=
6476 TL.getBeginLoc())) {
6486 QualType Result = TL.getType();
6495 NewTL.setLocalRangeBegin(TL.getLocalRangeBegin());
6496 NewTL.setLParenLoc(TL.getLParenLoc());
6497 NewTL.setRParenLoc(TL.getRParenLoc());
6498 NewTL.setExceptionSpecRange(TL.getExceptionSpecRange());
6499 NewTL.setLocalRangeEnd(TL.getLocalRangeEnd());
6612 FunctionNoProtoTypeLoc TL) {
6613 const FunctionNoProtoType *T = TL.getTypePtr();
6614 QualType ResultType = getDerived().TransformType(TLB, TL.getReturnLoc());
6618 QualType Result = TL.getType();
6623 NewTL.setLocalRangeBegin(TL.getLocalRangeBegin());
6624 NewTL.setLParenLoc(TL.getLParenLoc());
6625 NewTL.setRParenLoc(TL.getRParenLoc());
6626 NewTL.setLocalRangeEnd(TL.getLocalRangeEnd());
6633 TypeLocBuilder &TLB, UnresolvedUsingTypeLoc TL) {
6634 const UnresolvedUsingType *T = TL.getTypePtr();
6635 Decl *D = getDerived().TransformDecl(TL.getNameLoc(), T->getDecl());
6639 QualType Result = TL.getType();
6641 Result = getDerived().RebuildUnresolvedUsingType(TL.getNameLoc(), D);
6649 NewTL.setNameLoc(TL.getNameLoc());
6656 UsingTypeLoc TL) {
6657 const UsingType *T = TL.getTypePtr();
6660 TL.getLocalSourceRange().getBegin(), T->getFoundDecl()));
6668 QualType Result = TL.getType();
6676 TLB.pushTypeSpec(Result).setNameLoc(TL.getNameLoc());
6682 TypedefTypeLoc TL) {
6683 const TypedefType *T = TL.getTypePtr();
6685 = cast_or_null<TypedefNameDecl>(getDerived().TransformDecl(TL.getNameLoc(),
6690 QualType Result = TL.getType();
6699 NewTL.setNameLoc(TL.getNameLoc());
6706 TypeOfExprTypeLoc TL) {
6712 ExprResult E = getDerived().TransformExpr(TL.getUnderlyingExpr());
6720 QualType Result = TL.getType();
6722 if (getDerived().AlwaysRebuild() || E.get() != TL.getUnderlyingExpr()) {
6724 getDerived().RebuildTypeOfExprType(E.get(), TL.getTypeofLoc(), Kind);
6730 NewTL.setTypeofLoc(TL.getTypeofLoc());
6731 NewTL.setLParenLoc(TL.getLParenLoc());
6732 NewTL.setRParenLoc(TL.getRParenLoc());
6739 TypeOfTypeLoc TL) {
6740 TypeSourceInfo* Old_Under_TI = TL.getUnmodifiedTInfo();
6745 QualType Result = TL.getType();
6754 NewTL.setTypeofLoc(TL.getTypeofLoc());
6755 NewTL.setLParenLoc(TL.getLParenLoc());
6756 NewTL.setRParenLoc(TL.getRParenLoc());
6764 DecltypeTypeLoc TL) {
6765 const DecltypeType *T = TL.getTypePtr();
6780 QualType Result = TL.getType();
6783 Result = getDerived().RebuildDecltypeType(E.get(), TL.getDecltypeLoc());
6790 NewTL.setDecltypeLoc(TL.getDecltypeLoc());
6791 NewTL.setRParenLoc(TL.getRParenLoc());
6798 PackIndexingTypeLoc TL) {
6805 IndexExpr = getDerived().TransformExpr(TL.getIndexExpr());
6809 QualType Pattern = TL.getPattern();
6811 const PackIndexingType *PIT = TL.getTypePtr();
6839 if (getDerived().TryExpandParameterPacks(TL.getEllipsisLoc(), SourceRange(),
6848 SemaRef.getASTContext().getTrivialTypeSourceInfo(T, TL.getBeginLoc());
6855 Pack, IndexExpr.get(), SourceLocation(), TL.getEllipsisLoc(),
6861 Loc.setEllipsisLoc(TL.getEllipsisLoc());
6891 QualType Result = getDerived().TransformType(TLB, TL.getPatternLoc());
6894 Result, IndexExpr.get(), SourceLocation(), TL.getEllipsisLoc(),
6900 Loc.setEllipsisLoc(TL.getEllipsisLoc());
6907 UnaryTransformTypeLoc TL) {
6908 QualType Result = TL.getType();
6910 const UnaryTransformType *T = TL.getTypePtr();
6913 getDerived().TransformType(TL.getUnderlyingTInfo());
6920 TL.getKWLoc());
6926 NewTL.setKWLoc(TL.getKWLoc());
6927 NewTL.setParensRange(TL.getParensRange());
6928 NewTL.setUnderlyingTInfo(TL.getUnderlyingTInfo());
6934 TypeLocBuilder &TLB, DeducedTemplateSpecializationTypeLoc TL) {
6935 const DeducedTemplateSpecializationType *T = TL.getTypePtr();
6939 SS, T->getTemplateName(), TL.getTemplateNameLoc());
6958 NewTL.setTemplateNameLoc(TL.getTemplateNameLoc());
6965 RecordTypeLoc TL) {
6966 const RecordType *T = TL.getTypePtr();
6968 = cast_or_null<RecordDecl>(getDerived().TransformDecl(TL.getNameLoc(),
6973 QualType Result = TL.getType();
6982 NewTL.setNameLoc(TL.getNameLoc());
6989 EnumTypeLoc TL) {
6990 const EnumType *T = TL.getTypePtr();
6992 = cast_or_null<EnumDecl>(getDerived().TransformDecl(TL.getNameLoc(),
6997 QualType Result = TL.getType();
7006 NewTL.setNameLoc(TL.getNameLoc());
7014 InjectedClassNameTypeLoc TL) {
7015 Decl *D = getDerived().TransformDecl(TL.getNameLoc(),
7016 TL.getTypePtr()->getDecl());
7020 TLB.pushTypeSpec(T).setNameLoc(TL.getNameLoc());
7027 TemplateTypeParmTypeLoc TL) {
7029 TLB, TL,
7035 TypeLocBuilder &TLB, TemplateTypeParmTypeLoc TL, bool) {
7036 return TransformTypeSpecType(TLB, TL);
7042 SubstTemplateTypeParmTypeLoc TL) {
7043 const SubstTemplateTypeParmType *T = TL.getTypePtr();
7046 getDerived().TransformDecl(TL.getNameLoc(), T->getAssociatedDecl());
7051 TemporaryBase Rebase(*this, TL.getNameLoc(), DeclarationName());
7062 NewTL.setNameLoc(TL.getNameLoc());
7070 SubstTemplateTypeParmPackTypeLoc TL) {
7072 TLB, TL, /*SuppressObjCLifetime=*/false);
7077 TypeLocBuilder &TLB, SubstTemplateTypeParmPackTypeLoc TL, bool) {
7078 return TransformTypeSpecType(TLB, TL);
7084 TemplateSpecializationTypeLoc TL) {
7085 const TemplateSpecializationType *T = TL.getTypePtr();
7092 TL.getTemplateNameLoc());
7096 return getDerived().TransformTemplateSpecializationType(TLB, TL, Template);
7101 AtomicTypeLoc TL) {
7102 QualType ValueType = getDerived().TransformType(TLB, TL.getValueLoc());
7106 QualType Result = TL.getType();
7108 ValueType != TL.getValueLoc().getType()) {
7109 Result = getDerived().RebuildAtomicType(ValueType, TL.getKWLoc());
7115 NewTL.setKWLoc(TL.getKWLoc());
7116 NewTL.setLParenLoc(TL.getLParenLoc());
7117 NewTL.setRParenLoc(TL.getRParenLoc());
7124 PipeTypeLoc TL) {
7125 QualType ValueType = getDerived().TransformType(TLB, TL.getValueLoc());
7129 QualType Result = TL.getType();
7130 if (getDerived().AlwaysRebuild() || ValueType != TL.getValueLoc().getType()) {
7133 Result = getDerived().RebuildPipeType(ValueType, TL.getKWLoc(), isReadPipe);
7139 NewTL.setKWLoc(TL.getKWLoc());
7146 BitIntTypeLoc TL) {
7147 const BitIntType *EIT = TL.getTypePtr();
7148 QualType Result = TL.getType();
7152 EIT->getNumBits(), TL.getNameLoc());
7158 NewTL.setNameLoc(TL.getNameLoc());
7164 TypeLocBuilder &TLB, DependentBitIntTypeLoc TL) {
7165 const DependentBitIntType *EIT = TL.getTypePtr();
7175 QualType Result = TL.getType();
7179 EIT->isUnsigned(), BitsExpr.get(), TL.getNameLoc());
7187 NewTL.setNameLoc(TL.getNameLoc());
7190 NewTL.setNameLoc(TL.getNameLoc());
7261 AutoTypeLoc TL) {
7262 const AutoType *T = TL.getTypePtr();
7275 assert(TL.getConceptReference());
7277 TL.getConceptNameLoc(), T->getTypeConstraintConcept()));
7279 NewTemplateArgs.setLAngleLoc(TL.getLAngleLoc());
7280 NewTemplateArgs.setRAngleLoc(TL.getRAngleLoc());
7283 ArgIterator(TL, 0), ArgIterator(TL, TL.getNumArgs()),
7287 if (TL.getNestedNameSpecifierLoc()) {
7290 TL.getNestedNameSpecifierLoc());
7296 QualType Result = TL.getType();
7311 NewTL.setNameLoc(TL.getNameLoc());
7312 NewTL.setRParenLoc(TL.getRParenLoc());
7317 TL.getTypePtr()->getTypeConstraintConcept()->getDeclName(),
7318 TL.getConceptNameLoc(),
7319 TL.getTypePtr()->getTypeConstraintConcept()->getDeclName());
7321 SemaRef.Context, NewNestedNameSpec, TL.getTemplateKWLoc(), DNI,
7322 TL.getFoundDecl(), TL.getTypePtr()->getTypeConstraintConcept(),
7333 TemplateSpecializationTypeLoc TL,
7336 NewTemplateArgs.setLAngleLoc(TL.getLAngleLoc());
7337 NewTemplateArgs.setRAngleLoc(TL.getRAngleLoc());
7340 if (getDerived().TransformTemplateArguments(ArgIterator(TL, 0),
7341 ArgIterator(TL, TL.getNumArgs()),
7351 TL.getTemplateNameLoc(),
7364 NewTL.setTemplateKeywordLoc(TL.getTemplateKeywordLoc());
7365 NewTL.setTemplateNameLoc(TL.getTemplateNameLoc());
7366 NewTL.setLAngleLoc(TL.getLAngleLoc());
7367 NewTL.setRAngleLoc(TL.getRAngleLoc());
7375 NewTL.setTemplateKeywordLoc(TL.getTemplateKeywordLoc());
7376 NewTL.setTemplateNameLoc(TL.getTemplateNameLoc());
7377 NewTL.setLAngleLoc(TL.getLAngleLoc());
7378 NewTL.setRAngleLoc(TL.getRAngleLoc());
7389 DependentTemplateSpecializationTypeLoc TL,
7393 NewTemplateArgs.setLAngleLoc(TL.getLAngleLoc());
7394 NewTemplateArgs.setRAngleLoc(TL.getRAngleLoc());
7397 if (getDerived().TransformTemplateArguments(ArgIterator(TL, 0),
7398 ArgIterator(TL, TL.getNumArgs()),
7406 TL.getTypePtr()->getKeyword(), DTN->getQualifier(),
7411 NewTL.setElaboratedKeywordLoc(TL.getElaboratedKeywordLoc());
7413 NewTL.setTemplateKeywordLoc(TL.getTemplateKeywordLoc());
7414 NewTL.setTemplateNameLoc(TL.getTemplateNameLoc());
7415 NewTL.setLAngleLoc(TL.getLAngleLoc());
7416 NewTL.setRAngleLoc(TL.getRAngleLoc());
7424 TL.getTemplateNameLoc(),
7431 NewTL.setTemplateKeywordLoc(TL.getTemplateKeywordLoc());
7432 NewTL.setTemplateNameLoc(TL.getTemplateNameLoc());
7433 NewTL.setLAngleLoc(TL.getLAngleLoc());
7434 NewTL.setRAngleLoc(TL.getRAngleLoc());
7445 ElaboratedTypeLoc TL) {
7446 const ElaboratedType *T = TL.getTypePtr();
7450 if (TL.getQualifierLoc()) {
7452 = getDerived().TransformNestedNameSpecifierLoc(TL.getQualifierLoc());
7457 QualType NamedT = getDerived().TransformType(TLB, TL.getNamedTypeLoc());
7472 SemaRef.Diag(TL.getNamedTypeLoc().getBeginLoc(),
7482 QualType Result = TL.getType();
7484 QualifierLoc != TL.getQualifierLoc() ||
7486 Result = getDerived().RebuildElaboratedType(TL.getElaboratedKeywordLoc(),
7494 NewTL.setElaboratedKeywordLoc(TL.getElaboratedKeywordLoc());
7501 AttributedTypeLoc TL) {
7502 const AttributedType *oldType = TL.getTypePtr();
7503 QualType modifiedType = getDerived().TransformType(TLB, TL.getModifiedLoc());
7508 const Attr *oldAttr = TL.getAttr();
7513 QualType result = TL.getType();
7531 if (TL.getModifiedLoc().getType() != TL.getEquivalentTypeLoc().getType()) {
7533 AuxiliaryTLB.reserve(TL.getFullDataSize());
7535 getDerived().TransformType(AuxiliaryTLB, TL.getEquivalentTypeLoc());
7544 SemaRef.Diag((TL.getAttr() ? TL.getAttr()->getLocation()
7545 : TL.getModifiedLoc().getBeginLoc()),
7552 result = SemaRef.Context.getAttributedType(TL.getAttrKind(),
7555 TL.getAttr());
7565 TypeLocBuilder &TLB, CountAttributedTypeLoc TL) {
7566 const CountAttributedType *OldTy = TL.getTypePtr();
7567 QualType InnerTy = getDerived().TransformType(TLB, TL.getInnerLoc());
7571 Expr *OldCount = TL.getCountExpr();
7580 QualType Result = TL.getType();
7594 TypeLocBuilder &TLB, BTFTagAttributedTypeLoc TL) {
7601 TypeLocBuilder &TLB, HLSLAttributedResourceTypeLoc TL) {
7603 const HLSLAttributedResourceType *oldType = TL.getTypePtr();
7605 QualType WrappedTy = getDerived().TransformType(TLB, TL.getWrappedLoc());
7612 TypeSourceInfo *oldContainedTSI = TL.getContainedTypeSourceInfo();
7622 QualType Result = TL.getType();
7636 ParenTypeLoc TL) {
7637 QualType Inner = getDerived().TransformType(TLB, TL.getInnerLoc());
7641 QualType Result = TL.getType();
7643 Inner != TL.getInnerLoc().getType()) {
7650 NewTL.setLParenLoc(TL.getLParenLoc());
7651 NewTL.setRParenLoc(TL.getRParenLoc());
7658 MacroQualifiedTypeLoc TL) {
7659 QualType Inner = getDerived().TransformType(TLB, TL.getInnerLoc());
7663 QualType Result = TL.getType();
7664 if (getDerived().AlwaysRebuild() || Inner != TL.getInnerLoc().getType()) {
7666 getDerived().RebuildMacroQualifiedType(Inner, TL.getMacroIdentifier());
7672 NewTL.setExpansionLoc(TL.getExpansionLoc());
7678 TypeLocBuilder &TLB, DependentNameTypeLoc TL) {
7679 return TransformDependentNameType(TLB, TL, false);
7684 TypeLocBuilder &TLB, DependentNameTypeLoc TL, bool DeducedTSTContext) {
7685 const DependentNameType *T = TL.getTypePtr();
7688 = getDerived().TransformNestedNameSpecifierLoc(TL.getQualifierLoc());
7694 TL.getElaboratedKeywordLoc(),
7697 TL.getNameLoc(),
7704 TLB.pushTypeSpec(NamedT).setNameLoc(TL.getNameLoc());
7707 NewTL.setElaboratedKeywordLoc(TL.getElaboratedKeywordLoc());
7711 NewTL.setElaboratedKeywordLoc(TL.getElaboratedKeywordLoc());
7713 NewTL.setNameLoc(TL.getNameLoc());
7721 DependentTemplateSpecializationTypeLoc TL) {
7723 if (TL.getQualifierLoc()) {
7725 = getDerived().TransformNestedNameSpecifierLoc(TL.getQualifierLoc());
7731 .TransformDependentTemplateSpecializationType(TLB, TL, QualifierLoc);
7737 DependentTemplateSpecializationTypeLoc TL,
7739 const DependentTemplateSpecializationType *T = TL.getTypePtr();
7742 NewTemplateArgs.setLAngleLoc(TL.getLAngleLoc());
7743 NewTemplateArgs.setRAngleLoc(TL.getRAngleLoc());
7747 if (getDerived().TransformTemplateArguments(ArgIterator(TL, 0),
7748 ArgIterator(TL, TL.getNumArgs()),
7753 T->getKeyword(), QualifierLoc, TL.getTemplateKeywordLoc(),
7754 T->getIdentifier(), TL.getTemplateNameLoc(), NewTemplateArgs,
7765 NamedTL.setTemplateKeywordLoc(TL.getTemplateKeywordLoc());
7766 NamedTL.setTemplateNameLoc(TL.getTemplateNameLoc());
7767 NamedTL.setLAngleLoc(TL.getLAngleLoc());
7768 NamedTL.setRAngleLoc(TL.getRAngleLoc());
7774 NewTL.setElaboratedKeywordLoc(TL.getElaboratedKeywordLoc());
7779 SpecTL.setElaboratedKeywordLoc(TL.getElaboratedKeywordLoc());
7781 SpecTL.setTemplateKeywordLoc(TL.getTemplateKeywordLoc());
7782 SpecTL.setTemplateNameLoc(TL.getTemplateNameLoc());
7783 SpecTL.setLAngleLoc(TL.getLAngleLoc());
7784 SpecTL.setRAngleLoc(TL.getRAngleLoc());
7790 SpecTL.setTemplateKeywordLoc(TL.getTemplateKeywordLoc());
7791 SpecTL.setTemplateNameLoc(TL.getTemplateNameLoc());
7792 SpecTL.setLAngleLoc(TL.getLAngleLoc());
7793 SpecTL.setRAngleLoc(TL.getRAngleLoc());
7802 PackExpansionTypeLoc TL) {
7804 = getDerived().TransformType(TLB, TL.getPatternLoc());
7808 QualType Result = TL.getType();
7810 Pattern != TL.getPatternLoc().getType()) {
7812 TL.getPatternLoc().getSourceRange(),
7813 TL.getEllipsisLoc(),
7814 TL.getTypePtr()->getNumExpansions());
7820 NewT.setEllipsisLoc(TL.getEllipsisLoc());
7827 ObjCInterfaceTypeLoc TL) {
7829 TLB.pushFullCopy(TL);
7830 return TL.getType();
7836 ObjCTypeParamTypeLoc TL) {
7837 const ObjCTypeParamType *T = TL.getTypePtr();
7843 QualType Result = TL.getType();
7847 OTP, TL.getProtocolLAngleLoc(),
7848 llvm::ArrayRef(TL.getTypePtr()->qual_begin(), TL.getNumProtocols()),
7849 TL.getProtocolLocs(), TL.getProtocolRAngleLoc());
7855 if (TL.getNumProtocols()) {
7856 NewTL.setProtocolLAngleLoc(TL.getProtocolLAngleLoc());
7857 for (unsigned i = 0, n = TL.getNumProtocols(); i != n; ++i)
7858 NewTL.setProtocolLoc(i, TL.getProtocolLoc(i));
7859 NewTL.setProtocolRAngleLoc(TL.getProtocolRAngleLoc());
7867 ObjCObjectTypeLoc TL) {
7869 QualType BaseType = getDerived().TransformType(TLB, TL.getBaseLoc());
7873 bool AnyChanged = BaseType != TL.getBaseLoc().getType();
7877 for (unsigned i = 0, n = TL.getNumTypeArgs(); i != n; ++i) {
7878 TypeSourceInfo *TypeArgInfo = TL.getTypeArgTInfo(i);
7963 QualType Result = TL.getType();
7967 BaseType, TL.getBeginLoc(), TL.getTypeArgsLAngleLoc(), NewTypeArgInfos,
7968 TL.getTypeArgsRAngleLoc(), TL.getProtocolLAngleLoc(),
7969 llvm::ArrayRef(TL.getTypePtr()->qual_begin(), TL.getNumProtocols()),
7970 TL.getProtocolLocs(), TL.getProtocolRAngleLoc());
7978 NewT.setTypeArgsLAngleLoc(TL.getTypeArgsLAngleLoc());
7979 for (unsigned i = 0, n = TL.getNumTypeArgs(); i != n; ++i)
7981 NewT.setTypeArgsRAngleLoc(TL.getTypeArgsRAngleLoc());
7982 NewT.setProtocolLAngleLoc(TL.getProtocolLAngleLoc());
7983 for (unsigned i = 0, n = TL.getNumProtocols(); i != n; ++i)
7984 NewT.setProtocolLoc(i, TL.getProtocolLoc(i));
7985 NewT.setProtocolRAngleLoc(TL.getProtocolRAngleLoc());
7992 ObjCObjectPointerTypeLoc TL) {
7993 QualType PointeeType = getDerived().TransformType(TLB, TL.getPointeeLoc());
7997 QualType Result = TL.getType();
7999 PointeeType != TL.getPointeeLoc().getType()) {
8001 TL.getStarLoc());
8007 NewT.setStarLoc(TL.getStarLoc());