Home
last modified time | relevance | path

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

12345

/freebsd/contrib/llvm-project/clang/include/clang/AST/
H A DTemplateBase.h61 class TemplateArgument {
155 const TemplateArgument *Args;
192 constexpr TemplateArgument()
196 TemplateArgument(QualType T, bool isNullPtr = false,
203 TemplateArgument(ValueDecl *D, QualType QT, bool IsDefaulted = false) {
209 TemplateArgument(const ASTContext &Ctx, const llvm::APSInt &Value,
213 TemplateArgument(const ASTContext &Ctx, QualType Type, const APValue &Value,
218 TemplateArgument(const TemplateArgument &Other, QualType Type) {
234 TemplateArgument(TemplateName Name, bool IsDefaulted = false) {
255 TemplateArgument(TemplateName Name, UnsignedOrNone NumExpansions,
[all …]
H A DTemplateArgumentVisitor.h29 case TemplateArgument::NAME: \
30 return static_cast<ImplClass *>(this)->Visit##NAME##TemplateArgument( \
33 RetTy Visit(REF(TemplateArgument) TA, ParamTys... P) { in Visit()
53 RetTy Visit##CATEGORY##TemplateArgument(REF(TemplateArgument) TA, \
70 RetTy VisitTemplateArgument(REF(TemplateArgument), ParamTys...) { in VisitTemplateArgument() argument
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 VisitStructuralValueTemplateArgument(const TemplateArgument &TA);
253 void VisitTemplateTemplateArgument(const TemplateArgument &TA);
254 void VisitTemplateExpansionTemplateArgument(const TemplateArgument &TA);
[all …]
H A DDeclTemplate.h75 TemplateArgument *InjectedArgs = nullptr;
202 ArrayRef<TemplateArgument> getInjectedTemplateArgs(const ASTContext &Context);
249 : private llvm::TrailingObjects<TemplateArgumentList, TemplateArgument> {
256 TemplateArgumentList(ArrayRef<TemplateArgument> Args);
267 ArrayRef<TemplateArgument> Args);
270 const TemplateArgument &get(unsigned Idx) const { in get()
276 const TemplateArgument &operator[](unsigned Idx) const { return get(Idx); }
279 ArrayRef<TemplateArgument> asArray() const { in asArray()
288 const TemplateArgument *data() const { return getTrailingObjects(); } in data()
602 Profile(llvm::FoldingSetNodeID &ID, ArrayRef<TemplateArgument> TemplateArgs, in Profile()
[all …]
H A DPropertiesBase.td140 def TemplateArgument : PropertyType;
141 def TemplateArgumentKind : EnumPropertyType<"TemplateArgument::ArgKind">;
745 def : Property<"argumentPack", TemplateArgument> {
771 def : Property<"defaultArgs", Array<TemplateArgument>> {
779 // Type cases for TemplateArgument.
780 def : PropertyTypeKind<TemplateArgument, TemplateArgumentKind,
782 let Class = PropertyTypeCase<TemplateArgument, "Null"> in {
784 return TemplateArgument();
787 let Class = PropertyTypeCase<TemplateArgument, "Type"> in {
795 return TemplateArgument(type, /* isNullPtr */ false, isDefaulted);
[all …]
H A DJSONNodeDumper.h203 void Visit(const TemplateArgument &TA, SourceRange R = {},
346 void VisitNullTemplateArgument(const TemplateArgument &TA);
347 void VisitTypeTemplateArgument(const TemplateArgument &TA);
348 void VisitDeclarationTemplateArgument(const TemplateArgument &TA);
349 void VisitNullPtrTemplateArgument(const TemplateArgument &TA);
350 void VisitIntegralTemplateArgument(const TemplateArgument &TA);
351 void VisitStructuralValueTemplateArgument(const TemplateArgument &TA);
352 void VisitTemplateTemplateArgument(const TemplateArgument &TA);
353 void VisitTemplateExpansionTemplateArgument(const TemplateArgument &TA);
354 void VisitExpressionTemplateArgument(const TemplateArgument &TA);
[all …]
H A DTemplateName.h44 class TemplateArgument; variable
152 const TemplateArgument *Arguments;
156 SubstTemplateTemplateParmPackStorage(ArrayRef<TemplateArgument> ArgPack,
176 TemplateArgument getArgumentPack() const;
181 const TemplateArgument &ArgPack, Decl *AssociatedDecl,
189 ArrayRef<TemplateArgument> Args;
467 /*Args=*/{reinterpret_cast<const TemplateArgument *>(this + 1), in getDefaultArguments()
/freebsd/contrib/llvm-project/clang/lib/AST/
H A DTemplateBase.cpp53 static void printIntegral(const TemplateArgument &TemplArg, raw_ostream &Out, in printIntegral()
160 void TemplateArgument::initFromType(QualType T, bool IsNullPtr, in initFromType()
167 void TemplateArgument::initFromDeclaration(ValueDecl *D, QualType QT, in initFromDeclaration()
176 void TemplateArgument::initFromIntegral(const ASTContext &Ctx, in initFromIntegral()
197 void TemplateArgument::initFromStructural(const ASTContext &Ctx, QualType Type, in initFromStructural()
206 TemplateArgument::TemplateArgument(const ASTContext &Ctx, in TemplateArgument() function in TemplateArgument
238 TemplateArgument::TemplateArgument(const ASTContext &Ctx, QualType Type, in TemplateArgument() function in TemplateArgument
252 TemplateArgument
253 TemplateArgument::CreatePackCopy(ASTContext &Context, in CreatePackCopy()
254 ArrayRef<TemplateArgument> Args) { in CreatePackCopy()
[all …]
H A DQualTypeNames.cpp93 TemplateArgument &Arg, in getFullyQualifiedTemplateArgument()
100 if (Arg.getKind() == TemplateArgument::Template) { in getFullyQualifiedTemplateArgument()
104 Arg = TemplateArgument(TName); in getFullyQualifiedTemplateArgument()
106 } else if (Arg.getKind() == TemplateArgument::Type) { in getFullyQualifiedTemplateArgument()
111 Arg = TemplateArgument(QTFQ); in getFullyQualifiedTemplateArgument()
129 SmallVector<TemplateArgument, 4> FQArgs; in getFullyQualifiedTemplateType()
132 for (TemplateArgument Arg : TST->template_arguments()) { in getFullyQualifiedTemplateType()
159 SmallVector<TemplateArgument, 4> FQArgs; in getFullyQualifiedTemplateType()
163 TemplateArgument Arg(TemplateArgs[I]); in getFullyQualifiedTemplateType()
H A DTypeLoc.cpp600 ASTContext &Context, ArrayRef<TemplateArgument> Args, in initializeArgLocs()
604 case TemplateArgument::Null: in initializeArgLocs()
607 case TemplateArgument::Integral: in initializeArgLocs()
608 case TemplateArgument::Declaration: in initializeArgLocs()
609 case TemplateArgument::NullPtr: in initializeArgLocs()
610 case TemplateArgument::StructuralValue: in initializeArgLocs()
614 case TemplateArgument::Expression: in initializeArgLocs()
618 case TemplateArgument::Type: in initializeArgLocs()
624 case TemplateArgument::Template: in initializeArgLocs()
625 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()
988 typedef const TemplateArgument& reference;
989 typedef const TemplateArgument* pointer;
1004 TemplateArgument::pack_iterator CurrentTA;
1007 TemplateArgument::pack_iterator EndTA;
1018 TemplateArgument TA = TST->template_arguments()[0]; in InternalIterator()
1019 if (TA.getKind() != TemplateArgument::Pack) return; in InternalIterator()
1063 TemplateArgument TA = TST->template_arguments()[Index]; in operator ++()
[all …]
H A DDeclTemplate.cpp246 ArrayRef<TemplateArgument>
249 InjectedArgs = new (Context) TemplateArgument[size()]; in getInjectedTemplateArgs()
364 ArrayRef<TemplateArgument> Args, TemplateParameterList *TPL) const { in loadLazySpecializationsImpl()
478 FunctionTemplateDecl::findSpecialization(ArrayRef<TemplateArgument> Args, in findSpecialization()
572 ClassTemplateDecl::findSpecialization(ArrayRef<TemplateArgument> Args, in findSpecialization()
587 ArrayRef<TemplateArgument> Args, in findPartialSpecialization()
594 llvm::FoldingSetNodeID &ID, ArrayRef<TemplateArgument> TemplateArgs, in Profile()
597 for (const TemplateArgument &TemplateArg : TemplateArgs) in Profile()
937 TemplateArgumentList::TemplateArgumentList(ArrayRef<TemplateArgument> Args) in TemplateArgumentList()
944 ArrayRef<TemplateArgument> Args) { in CreateCopy()
[all …]
H A DTypePrinter.cpp2306 const TemplateArgument &getArgument(const TemplateArgument &A) { return A; } in getArgument()
2308 static const TemplateArgument &getArgument(const TemplateArgumentLoc &A) { in getArgument()
2312 static void printArgument(const TemplateArgument &A, const PrintingPolicy &PP, in printArgument()
2320 const TemplateArgument::ArgKind &Kind = A.getArgument().getKind(); in printArgument()
2321 if (Kind == TemplateArgument::ArgKind::Type) in printArgument()
2326 static bool isSubstitutedTemplateArgument(ASTContext &Ctx, TemplateArgument Arg,
2327 TemplateArgument Pattern,
2328 ArrayRef<TemplateArgument> Args,
2332 ArrayRef<TemplateArgument> Args, unsigned Depth) { in isSubstitutedType()
2339 Args[TTPT->getIndex()].getKind() == TemplateArgument::Type) { in isSubstitutedType()
[all …]
H A DTemplateName.cpp41 llvm::copy(DefArgs.Args, reinterpret_cast<TemplateArgument *>(this + 1)); in DeducedTemplateStorage()
56 for (const TemplateArgument &Arg : DefArgs.Args) in Profile()
60 TemplateArgument
62 return TemplateArgument(ArrayRef(Arguments, Bits.Data)); in getArgumentPack()
95 ArrayRef<TemplateArgument> ArgPack, Decl *AssociatedDecl, unsigned Index, in SubstTemplateTemplateParmPackStorage()
119 const TemplateArgument &ArgPack, Decl *AssociatedDecl, unsigned Index, in Profile()
387 for (const TemplateArgument &Arg : DTS->getDefaultArguments().Args) in getDependence()
/freebsd/contrib/llvm-project/clang/lib/Sema/
H A DSemaTemplateDeduction.cpp133 ArrayRef<TemplateArgument> Ps,
134 ArrayRef<TemplateArgument> As,
141 const TemplateArgument &TemplateArg,
228 case TemplateArgument::Null: in checkDeducedTemplateArguments()
231 case TemplateArgument::Type: { in checkDeducedTemplateArguments()
234 if (Y.getKind() == TemplateArgument::Type && Context.hasSameType(TX, TY)) in checkDeducedTemplateArguments()
248 case TemplateArgument::Integral: in checkDeducedTemplateArguments()
252 if (Y.getKind() == TemplateArgument::Expression || in checkDeducedTemplateArguments()
253 Y.getKind() == TemplateArgument::Declaration || in checkDeducedTemplateArguments()
254 (Y.getKind() == TemplateArgument::Integral && in checkDeducedTemplateArguments()
[all …]
H A DSemaTemplateVariadic.cpp239 bool TraverseTemplateArgument(const TemplateArgument &Arg) override { in TraverseTemplateArgument()
593 void Sema::collectUnexpandedParameterPacks(TemplateArgument Arg, in collectUnexpandedParameterPacks()
826 ArrayRef<TemplateArgument> Pack = in CheckParameterPacksForExpansion()
830 llvm::count_if(Pack, [](const TemplateArgument &TA) { in CheckParameterPacksForExpansion()
834 if (TA.getKind() == TemplateArgument::Type) in CheckParameterPacksForExpansion()
839 if (TA.getKind() == TemplateArgument::Expression) in CheckParameterPacksForExpansion()
1252 const TemplateArgument &Argument = OrigLoc.getArgument(); in getTemplateArgumentPackExpansionPattern()
1255 case TemplateArgument::Type: { in getTemplateArgumentPackExpansionPattern()
1276 return TemplateArgumentLoc(TemplateArgument(Pattern.getType()), in getTemplateArgumentPackExpansionPattern()
1280 case TemplateArgument::Expression: { in getTemplateArgumentPackExpansionPattern()
[all …]
H A DSemaTemplate.cpp911 return TemplateArgumentLoc(TemplateArgument(T), DI); in translateTemplateArgument()
916 return TemplateArgumentLoc(TemplateArgument(E, /*IsCanonical=*/false), E); in translateTemplateArgument()
921 TemplateArgument TArg; in translateTemplateArgument()
923 TArg = TemplateArgument(Template, /*NumExpansions=*/std::nullopt); in translateTemplateArgument()
1153 S.getTrivialTemplateArgumentLoc(TemplateArgument(ConstrainedType), in formImmediatelyDeclaredConstraint()
1584 TemplateArgument(Default, /*IsCanonical=*/false), in ActOnNonTypeTemplateParameter()
3105 ArrayRef<TemplateArgument> Ts) { in builtinCommonTypeImpl()
3106 auto lookUpCommonType = [&](TemplateArgument T1, in builtinCommonTypeImpl()
3107 TemplateArgument T2) -> QualType { in builtinCommonTypeImpl()
3292 ArrayRef<TemplateArgument> Converted, in checkBuiltinTemplateIdType()
[all …]
H A DSemaTemplateInstantiate.cpp114 ArrayRef<TemplateArgument> AssociatedTemplateArguments;
361 ArrayRef<TemplateArgument> Arguments = TSTy->template_arguments(); in HandleFunctionTemplateDecl()
485 std::optional<ArrayRef<TemplateArgument>> Innermost, bool RelativeToPrimary, in getTemplateInstantiationArgs()
603 Decl *Entity, NamedDecl *Template, ArrayRef<TemplateArgument> TemplateArgs, in InstantiatingTemplate()
657 TemplateDecl *Template, ArrayRef<TemplateArgument> TemplateArgs, in InstantiatingTemplate()
668 ArrayRef<TemplateArgument> TemplateArgs, in InstantiatingTemplate()
682 ArrayRef<TemplateArgument> TemplateArgs, in InstantiatingTemplate()
693 ArrayRef<TemplateArgument> TemplateArgs, in InstantiatingTemplate()
704 ArrayRef<TemplateArgument> TemplateArgs, in InstantiatingTemplate()
714 ArrayRef<TemplateArgument> TemplateArgs, SourceRange InstantiationRange) in InstantiatingTemplate()
[all …]
H A DSemaTemplateDeductionGuide.cpp343 SmallVector<TemplateArgument, 16> SubstArgs; in transformConstructor()
356 SmallVector<TemplateArgument, 16> Depth1Args; in transformConstructor()
687 ArrayRef<TemplateArgument> DeducedArgs) { in TemplateParamsReferencedInTemplateArgumentList()
800 SmallVector<TemplateArgument> AdjustedAliasTemplateArgs; in buildAssociatedConstraints()
813 TemplateArgument NewTemplateArgument = in buildAssociatedConstraints()
819 SmallVector<TemplateArgument> TemplateArgsForBuildingRC( in buildAssociatedConstraints()
929 SmallVector<TemplateArgument> TransformedTemplateArgs; in buildIsDeducibleConstraint()
941 TemplateArgument NewTemplateArgument = in buildIsDeducibleConstraint()
971 std::pair<TemplateDecl *, llvm::ArrayRef<TemplateArgument>>
978 llvm::ArrayRef<TemplateArgument> AliasRhsTemplateArgs; in getRHSTemplateDeclAndArgs()
[all …]
/freebsd/contrib/llvm-project/clang/lib/Serialization/
H A DTemplateArgumentHasher.cpp41 void AddTemplateArgument(TemplateArgument TA);
63 void TemplateArgumentHasher::AddTemplateArgument(TemplateArgument TA) { in AddTemplateArgument()
68 case TemplateArgument::Null: in AddTemplateArgument()
72 case TemplateArgument::Type: in AddTemplateArgument()
75 case TemplateArgument::Declaration: in AddTemplateArgument()
78 case TemplateArgument::NullPtr: in AddTemplateArgument()
81 case TemplateArgument::Integral: { in AddTemplateArgument()
87 case TemplateArgument::StructuralValue: in AddTemplateArgument()
91 case TemplateArgument::Template: in AddTemplateArgument()
92 case TemplateArgument::TemplateExpansion: in AddTemplateArgument()
[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()
425 const TemplateArgument *ArgsInPartiallySubstitutedPack;
[all …]
H A DTemplateDeduction.h224 TemplateArgument FirstArg;
238 TemplateArgument SecondArg;
296 const TemplateArgument *getFirstArg();
300 const TemplateArgument *getSecondArg();
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/
H A DStdVariantChecker.cpp90 static std::optional<ArrayRef<TemplateArgument>>
101 std::optional<ArrayRef<TemplateArgument>> VariantTemplates = in getNthTemplateTypeArgFromVariant()
250 case TemplateArgument::ArgKind::Type: in handleStdGetCall()
253 case TemplateArgument::ArgKind::Integral: in handleStdGetCall()
/freebsd/contrib/llvm-project/clang/include/clang/Serialization/
H A DASTRecordReader.h145 readTemplateArgumentLocInfo(TemplateArgument::ArgKind Kind);
236 TemplateArgument readTemplateArgument(bool Canonicalize) { in readTemplateArgument()
237 TemplateArgument Arg = readTemplateArgument(); in readTemplateArgument()
248 void readTemplateArgumentList(SmallVectorImpl<TemplateArgument> &TemplArgs,

12345