Home
last modified time | relevance | path

Searched refs:TemplateArgument (Results 1 – 25 of 88) sorted by relevance

1234

/freebsd/contrib/llvm-project/clang/include/clang/AST/
H A DTemplateBase.h61 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 DTextNodeDumper.h175 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 DPropertiesBase.td139 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 DDeclTemplate.h244 : 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 DJSONNodeDumper.h203 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 DTemplateName.h41 class TemplateArgument; variable
142 const TemplateArgument *Arguments;
146 SubstTemplateTemplateParmPackStorage(ArrayRef<TemplateArgument> ArgPack,
166 TemplateArgument getArgumentPack() const;
171 const TemplateArgument &ArgPack, Decl *AssociatedDecl,
H A DASTConcept.h39 llvm::SmallVector<TemplateArgument, 4> TemplateArgs;
46 ArrayRef<TemplateArgument> TemplateArgs) : in ConstraintSatisfaction()
67 ArrayRef<TemplateArgument> TemplateArgs);
/freebsd/contrib/llvm-project/clang/lib/AST/
H A DTemplateBase.cpp57 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 DQualTypeNames.cpp96 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 DDeclTemplate.cpp390 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 DTypeLoc.cpp586 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 DASTDiagnostic.cpp121 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 DTypePrinter.cpp2141 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 DODRHash.cpp168 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 DSemaTemplateDeduction.cpp145 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 DSemaTemplateVariadic.cpp219 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 DSemaTemplate.cpp908 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 DSemaTemplateInstantiate.cpp116 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 DSemaTemplateDeductionGuide.cpp329 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 DCxxModuleHandler.cpp161 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 DTemplate.h79 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 DTemplateDeduction.h215 TemplateArgument FirstArg;
229 TemplateArgument SecondArg;
287 const TemplateArgument *getFirstArg();
291 const TemplateArgument *getSecondArg();
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/
H A DStdVariantChecker.cpp92 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 DASTRecordReader.h146 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 DUSRGeneration.cpp171 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 …]

1234