/freebsd/contrib/llvm-project/clang/include/clang/AST/ |
H A D | TemplateBase.h | 61 class TemplateArgument { 155 const TemplateArgument *Args; 190 constexpr TemplateArgument() : TypeOrValue({Null, 0, /* IsDefaulted */ 0}) {} 193 TemplateArgument(QualType T, bool isNullPtr = false, 200 TemplateArgument(ValueDecl *D, QualType QT, bool IsDefaulted = false) { 206 TemplateArgument(const ASTContext &Ctx, const llvm::APSInt &Value, 210 TemplateArgument(const ASTContext &Ctx, QualType Type, const APValue &Value, 215 TemplateArgument(const TemplateArgument &Other, QualType Type) { 231 TemplateArgument(TemplateName Name, bool IsDefaulted = false) { 252 TemplateArgument(TemplateName Name, std::optional<unsigned> NumExpansions, [all …]
|
H A D | TextNodeDumper.h | 175 void Visit(const TemplateArgument &TA, SourceRange R, 216 void dumpTemplateArgument(const TemplateArgument &TA); 247 void VisitNullTemplateArgument(const TemplateArgument &TA); 248 void VisitTypeTemplateArgument(const TemplateArgument &TA); 249 void VisitDeclarationTemplateArgument(const TemplateArgument &TA); 250 void VisitNullPtrTemplateArgument(const TemplateArgument &TA); 251 void VisitIntegralTemplateArgument(const TemplateArgument &TA); 252 void VisitTemplateTemplateArgument(const TemplateArgument &TA); 253 void VisitTemplateExpansionTemplateArgument(const TemplateArgument &TA); 254 void VisitExpressionTemplateArgument(const TemplateArgument &TA); [all …]
|
H A D | PropertiesBase.td | 139 def TemplateArgument : PropertyType; 140 def TemplateArgumentKind : EnumPropertyType<"TemplateArgument::ArgKind">; 739 def : Property<"argumentPack", TemplateArgument> { 756 // Type cases for TemplateArgument. 757 def : PropertyTypeKind<TemplateArgument, TemplateArgumentKind, 759 let Class = PropertyTypeCase<TemplateArgument, "Null"> in { 761 return TemplateArgument(); 764 let Class = PropertyTypeCase<TemplateArgument, "Type"> in { 772 return TemplateArgument(type, /* isNullPtr */ false, isDefaulted); 775 let Class = PropertyTypeCase<TemplateArgument, "Declaration"> in { [all …]
|
H A D | DeclTemplate.h | 244 : private llvm::TrailingObjects<TemplateArgumentList, TemplateArgument> { 251 TemplateArgumentList(ArrayRef<TemplateArgument> Args); 262 ArrayRef<TemplateArgument> Args); 265 const TemplateArgument &get(unsigned Idx) const { in get() 271 const TemplateArgument &operator[](unsigned Idx) const { return get(Idx); } 274 ArrayRef<TemplateArgument> asArray() const { in asArray() 283 const TemplateArgument *data() const { in data() 284 return getTrailingObjects<TemplateArgument>(); in data() 604 Profile(llvm::FoldingSetNodeID &ID, ArrayRef<TemplateArgument> TemplateArgs, in Profile() 607 for (const TemplateArgument &TemplateArg : TemplateArgs) in Profile() [all …]
|
H A D | JSONNodeDumper.h | 203 void Visit(const TemplateArgument &TA, SourceRange R = {}, 342 void VisitNullTemplateArgument(const TemplateArgument &TA); 343 void VisitTypeTemplateArgument(const TemplateArgument &TA); 344 void VisitDeclarationTemplateArgument(const TemplateArgument &TA); 345 void VisitNullPtrTemplateArgument(const TemplateArgument &TA); 346 void VisitIntegralTemplateArgument(const TemplateArgument &TA); 347 void VisitTemplateTemplateArgument(const TemplateArgument &TA); 348 void VisitTemplateExpansionTemplateArgument(const TemplateArgument &TA); 349 void VisitExpressionTemplateArgument(const TemplateArgument &TA); 350 void VisitPackTemplateArgument(const TemplateArgument &TA);
|
H A D | TemplateName.h | 41 class TemplateArgument; variable 142 const TemplateArgument *Arguments; 146 SubstTemplateTemplateParmPackStorage(ArrayRef<TemplateArgument> ArgPack, 166 TemplateArgument getArgumentPack() const; 171 const TemplateArgument &ArgPack, Decl *AssociatedDecl,
|
H A D | ASTConcept.h | 39 llvm::SmallVector<TemplateArgument, 4> TemplateArgs; 46 ArrayRef<TemplateArgument> TemplateArgs) : in ConstraintSatisfaction() 67 ArrayRef<TemplateArgument> TemplateArgs);
|
/freebsd/contrib/llvm-project/clang/lib/AST/ |
H A D | TemplateBase.cpp | 57 static void printIntegral(const TemplateArgument &TemplArg, raw_ostream &Out, in printIntegral() 164 void TemplateArgument::initFromType(QualType T, bool IsNullPtr, in initFromType() 171 void TemplateArgument::initFromDeclaration(ValueDecl *D, QualType QT, in initFromDeclaration() 180 void TemplateArgument::initFromIntegral(const ASTContext &Ctx, in initFromIntegral() 201 void TemplateArgument::initFromStructural(const ASTContext &Ctx, QualType Type, in initFromStructural() 210 TemplateArgument::TemplateArgument(const ASTContext &Ctx, in TemplateArgument() function in TemplateArgument 242 TemplateArgument::TemplateArgument(const ASTContext &Ctx, QualType Type, in TemplateArgument() function in TemplateArgument 256 TemplateArgument 257 TemplateArgument::CreatePackCopy(ASTContext &Context, in CreatePackCopy() 258 ArrayRef<TemplateArgument> Args) { in CreatePackCopy() [all …]
|
H A D | QualTypeNames.cpp | 96 TemplateArgument &Arg, in getFullyQualifiedTemplateArgument() 103 if (Arg.getKind() == TemplateArgument::Template) { in getFullyQualifiedTemplateArgument() 107 Arg = TemplateArgument(TName); in getFullyQualifiedTemplateArgument() 109 } else if (Arg.getKind() == TemplateArgument::Type) { in getFullyQualifiedTemplateArgument() 114 Arg = TemplateArgument(QTFQ); in getFullyQualifiedTemplateArgument() 132 SmallVector<TemplateArgument, 4> FQArgs; in getFullyQualifiedTemplateType() 135 for (TemplateArgument Arg : TST->template_arguments()) { in getFullyQualifiedTemplateType() 162 SmallVector<TemplateArgument, 4> FQArgs; in getFullyQualifiedTemplateType() 166 TemplateArgument Arg(TemplateArgs[I]); in getFullyQualifiedTemplateType()
|
H A D | DeclTemplate.cpp | 390 ArrayRef<TemplateArgument> RedeclarableTemplateDecl::getInjectedTemplateArgs() { in getInjectedTemplateArgs() 395 SmallVector<TemplateArgument, 16> TemplateArgs; in getInjectedTemplateArgs() 398 new (Context) TemplateArgument[TemplateArgs.size()]; in getInjectedTemplateArgs() 445 FunctionTemplateDecl::findSpecialization(ArrayRef<TemplateArgument> Args, in findSpecialization() 536 ClassTemplateDecl::findSpecialization(ArrayRef<TemplateArgument> Args, in findSpecialization() 548 ArrayRef<TemplateArgument> Args, in findPartialSpecialization() 555 llvm::FoldingSetNodeID &ID, ArrayRef<TemplateArgument> TemplateArgs, in Profile() 558 for (const TemplateArgument &TemplateArg : TemplateArgs) in Profile() 628 SmallVector<TemplateArgument, 16> TemplateArgs; in getInjectedClassNameSpecialization() 887 TemplateArgumentList::TemplateArgumentList(ArrayRef<TemplateArgument> Args) in TemplateArgumentList() [all …]
|
H A D | TypeLoc.cpp | 586 ASTContext &Context, ArrayRef<TemplateArgument> Args, in initializeArgLocs() 590 case TemplateArgument::Null: in initializeArgLocs() 593 case TemplateArgument::Integral: in initializeArgLocs() 594 case TemplateArgument::Declaration: in initializeArgLocs() 595 case TemplateArgument::NullPtr: in initializeArgLocs() 596 case TemplateArgument::StructuralValue: in initializeArgLocs() 600 case TemplateArgument::Expression: in initializeArgLocs() 604 case TemplateArgument::Type: in initializeArgLocs() 610 case TemplateArgument::Template: in initializeArgLocs() 611 case TemplateArgument::TemplateExpansion: { in initializeArgLocs() [all …]
|
H A D | ASTDiagnostic.cpp | 121 SmallVector<TemplateArgument, 4> Args; in desugarForDiagnostic() 122 for (const TemplateArgument &Arg : TST->template_arguments()) { in desugarForDiagnostic() 123 if (Arg.getKind() == TemplateArgument::Type) in desugarForDiagnostic() 959 typedef const TemplateArgument& reference; 960 typedef const TemplateArgument* pointer; 975 TemplateArgument::pack_iterator CurrentTA; 978 TemplateArgument::pack_iterator EndTA; 989 TemplateArgument TA = TST->template_arguments()[0]; in InternalIterator() 990 if (TA.getKind() != TemplateArgument::Pack) return; in InternalIterator() 1034 TemplateArgument TA = TST->template_arguments()[Index]; in operator ++() [all …]
|
H A D | TypePrinter.cpp | 2141 const TemplateArgument &getArgument(const TemplateArgument &A) { return A; } in getArgument() 2143 static const TemplateArgument &getArgument(const TemplateArgumentLoc &A) { in getArgument() 2147 static void printArgument(const TemplateArgument &A, const PrintingPolicy &PP, in printArgument() 2155 const TemplateArgument::ArgKind &Kind = A.getArgument().getKind(); in printArgument() 2156 if (Kind == TemplateArgument::ArgKind::Type) in printArgument() 2161 static bool isSubstitutedTemplateArgument(ASTContext &Ctx, TemplateArgument Arg, 2162 TemplateArgument Pattern, 2163 ArrayRef<TemplateArgument> Args, 2167 ArrayRef<TemplateArgument> Args, unsigned Depth) { in isSubstitutedType() 2174 Args[TTPT->getIndex()].getKind() == TemplateArgument::Type) { in isSubstitutedType() [all …]
|
H A D | ODRHash.cpp | 168 void ODRHash::AddTemplateArgument(TemplateArgument TA) { in AddTemplateArgument() 173 case TemplateArgument::Null: in AddTemplateArgument() 175 case TemplateArgument::Type: in AddTemplateArgument() 178 case TemplateArgument::Declaration: in AddTemplateArgument() 181 case TemplateArgument::NullPtr: in AddTemplateArgument() 184 case TemplateArgument::Integral: { in AddTemplateArgument() 190 case TemplateArgument::StructuralValue: in AddTemplateArgument() 194 case TemplateArgument::Template: in AddTemplateArgument() 195 case TemplateArgument::TemplateExpansion: in AddTemplateArgument() 198 case TemplateArgument::Expression: in AddTemplateArgument() [all …]
|
/freebsd/contrib/llvm-project/clang/lib/Sema/ |
H A D | SemaTemplateDeduction.cpp | 145 ArrayRef<TemplateArgument> Ps, 146 ArrayRef<TemplateArgument> As, 153 const TemplateArgument &TemplateArg, 240 case TemplateArgument::Null: in checkDeducedTemplateArguments() 243 case TemplateArgument::Type: { in checkDeducedTemplateArguments() 246 if (Y.getKind() == TemplateArgument::Type && Context.hasSameType(TX, TY)) in checkDeducedTemplateArguments() 260 case TemplateArgument::Integral: in checkDeducedTemplateArguments() 264 if (Y.getKind() == TemplateArgument::Expression || in checkDeducedTemplateArguments() 265 Y.getKind() == TemplateArgument::Declaration || in checkDeducedTemplateArguments() 266 (Y.getKind() == TemplateArgument::Integral && in checkDeducedTemplateArguments() [all …]
|
H A D | SemaTemplateVariadic.cpp | 219 bool TraverseTemplateArgument(const TemplateArgument &Arg) { in TraverseTemplateArgument() 533 void Sema::collectUnexpandedParameterPacks(TemplateArgument Arg, in collectUnexpandedParameterPacks() 1130 const TemplateArgument &Argument = OrigLoc.getArgument(); in getTemplateArgumentPackExpansionPattern() 1133 case TemplateArgument::Type: { in getTemplateArgumentPackExpansionPattern() 1154 return TemplateArgumentLoc(TemplateArgument(Pattern.getType()), in getTemplateArgumentPackExpansionPattern() 1158 case TemplateArgument::Expression: { in getTemplateArgumentPackExpansionPattern() 1167 case TemplateArgument::TemplateExpansion: in getTemplateArgumentPackExpansionPattern() 1174 case TemplateArgument::Declaration: in getTemplateArgumentPackExpansionPattern() 1175 case TemplateArgument::NullPtr: in getTemplateArgumentPackExpansionPattern() 1176 case TemplateArgument::Template: in getTemplateArgumentPackExpansionPattern() [all …]
|
H A D | SemaTemplate.cpp | 908 return TemplateArgumentLoc(TemplateArgument(T), DI); in translateTemplateArgument() 913 return TemplateArgumentLoc(TemplateArgument(E), E); in translateTemplateArgument() 918 TemplateArgument TArg; in translateTemplateArgument() 920 TArg = TemplateArgument(Template, std::optional<unsigned int>()); in translateTemplateArgument() 1147 S.getTrivialTemplateArgumentLoc(TemplateArgument(ConstrainedType), in formImmediatelyDeclaredConstraint() 1567 Context, getTrivialTemplateArgumentLoc(TemplateArgument(Default), in ActOnNonTypeTemplateParameter() 3063 ArrayRef<TemplateArgument> Converted, in checkBuiltinTemplateIdType() 3082 TemplateArgument NumArgsArg = Converted[2]; in checkBuiltinTemplateIdType() 3091 TemplateArgumentLoc(TemplateArgument(OrigType), in checkBuiltinTemplateIdType() 3099 TemplateArgument TA(Context, I, OrigType); in checkBuiltinTemplateIdType() [all …]
|
H A D | SemaTemplateInstantiate.cpp | 116 ArrayRef<TemplateArgument> AssociatedTemplateArguments; 343 ArrayRef<TemplateArgument> Arguments = TSTy->template_arguments(); in HandleFunctionTemplateDecl() 466 std::optional<ArrayRef<TemplateArgument>> Innermost, bool RelativeToPrimary, in getTemplateInstantiationArgs() 584 Decl *Entity, NamedDecl *Template, ArrayRef<TemplateArgument> TemplateArgs, in InstantiatingTemplate() 632 TemplateDecl *Template, ArrayRef<TemplateArgument> TemplateArgs, in InstantiatingTemplate() 643 ArrayRef<TemplateArgument> TemplateArgs, in InstantiatingTemplate() 657 ArrayRef<TemplateArgument> TemplateArgs, in InstantiatingTemplate() 668 ArrayRef<TemplateArgument> TemplateArgs, in InstantiatingTemplate() 679 ArrayRef<TemplateArgument> TemplateArgs, in InstantiatingTemplate() 689 ArrayRef<TemplateArgument> TemplateArgs, SourceRange InstantiationRange) in InstantiatingTemplate() [all …]
|
H A D | SemaTemplateDeductionGuide.cpp | 329 SmallVector<TemplateArgument, 16> SubstArgs; in transformConstructor() 345 SmallVector<TemplateArgument, 16> Depth1Args; in transformConstructor() 661 ArrayRef<TemplateArgument> DeducedArgs) { in TemplateParamsReferencedInTemplateArgumentList() 783 SmallVector<TemplateArgument> AdjustedAliasTemplateArgs; in buildAssociatedConstraints() 796 TemplateArgument NewTemplateArgument = in buildAssociatedConstraints() 802 SmallVector<TemplateArgument> TemplateArgsForBuildingRC( in buildAssociatedConstraints() 912 SmallVector<TemplateArgument> TransformedTemplateArgs; in buildIsDeducibleConstraint() 924 TemplateArgument NewTemplateArgument = in buildIsDeducibleConstraint() 952 std::pair<TemplateDecl *, llvm::ArrayRef<TemplateArgument>> 959 llvm::ArrayRef<TemplateArgument> AliasRhsTemplateArgs; in getRHSTemplateDeclAndArgs() [all …]
|
/freebsd/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ |
H A D | CxxModuleHandler.cpp | 161 static bool templateArgsAreSupported(ArrayRef<TemplateArgument> a) { in templateArgsAreSupported() 162 for (const TemplateArgument &arg : a) { in templateArgsAreSupported() 164 case TemplateArgument::Type: in templateArgsAreSupported() 165 case TemplateArgument::Integral: in templateArgsAreSupported() 231 llvm::SmallVector<TemplateArgument, 4> imported_args; in tryInstantiateStdTemplate() 234 for (const TemplateArgument &arg : foreign_args.asArray()) { in tryInstantiateStdTemplate() 236 case TemplateArgument::Type: { in tryInstantiateStdTemplate() 243 TemplateArgument(*type, /*isNullPtr*/ false, arg.getIsDefaulted())); in tryInstantiateStdTemplate() 246 case TemplateArgument::Integral: { in tryInstantiateStdTemplate() 254 imported_args.push_back(TemplateArgument(d->getASTContext(), integral, in tryInstantiateStdTemplate()
|
/freebsd/contrib/llvm-project/clang/include/clang/Sema/ |
H A D | Template.h | 79 using ArgList = ArrayRef<TemplateArgument>; 154 const TemplateArgument &operator()(unsigned Depth, unsigned Index) const { in operator() 190 for (const TemplateArgument &TA : ListLevel.Args) in isAnyArgInstantiationDependent() 198 TemplateArgument Arg) { in setArgument() 202 const_cast<TemplateArgument &>( in setArgument() 327 class DeducedTemplateArgument : public TemplateArgument { 335 DeducedTemplateArgument(const TemplateArgument &Arg, 337 : TemplateArgument(Arg), DeducedFromArrayBound(DeducedFromArrayBound) {} in TemplateArgument() function 345 : TemplateArgument(Ctx, Value, ValueType), in DeducedTemplateArgument() 420 const TemplateArgument *ArgsInPartiallySubstitutedPack; [all …]
|
H A D | TemplateDeduction.h | 215 TemplateArgument FirstArg; 229 TemplateArgument SecondArg; 287 const TemplateArgument *getFirstArg(); 291 const TemplateArgument *getSecondArg();
|
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ |
H A D | StdVariantChecker.cpp | 92 static std::optional<ArrayRef<TemplateArgument>> 103 std::optional<ArrayRef<TemplateArgument>> VariantTemplates = in getNthTemplateTypeArgFromVariant() 252 case TemplateArgument::ArgKind::Type: in handleStdGetCall() 255 case TemplateArgument::ArgKind::Integral: in handleStdGetCall()
|
/freebsd/contrib/llvm-project/clang/include/clang/Serialization/ |
H A D | ASTRecordReader.h | 146 readTemplateArgumentLocInfo(TemplateArgument::ArgKind Kind); 235 TemplateArgument readTemplateArgument(bool Canonicalize) { in readTemplateArgument() 236 TemplateArgument Arg = readTemplateArgument(); in readTemplateArgument() 247 void readTemplateArgumentList(SmallVectorImpl<TemplateArgument> &TemplArgs,
|
/freebsd/contrib/llvm-project/clang/lib/Index/ |
H A D | USRGeneration.cpp | 171 void VisitTemplateArgument(const TemplateArgument &Arg); 1033 void USRGenerator::VisitTemplateArgument(const TemplateArgument &Arg) { in VisitTemplateArgument() 1035 case TemplateArgument::Null: in VisitTemplateArgument() 1038 case TemplateArgument::Declaration: in VisitTemplateArgument() 1042 case TemplateArgument::NullPtr: in VisitTemplateArgument() 1045 case TemplateArgument::TemplateExpansion: in VisitTemplateArgument() 1048 case TemplateArgument::Template: in VisitTemplateArgument() 1052 case TemplateArgument::Expression: in VisitTemplateArgument() 1056 case TemplateArgument::Pack: in VisitTemplateArgument() 1062 case TemplateArgument::Type: in VisitTemplateArgument() [all …]
|