Home | History | Annotate | Download | only in AST

Lines Matching refs:TemplateArgument

33 /// \param TemplArg the TemplateArgument instance to print.
36 static void printIntegral(const TemplateArgument &TemplArg,
54 // TemplateArgument Implementation
57 TemplateArgument TemplateArgument::CreatePackCopy(ASTContext &Context,
58 const TemplateArgument *Args,
61 return TemplateArgument(0, 0);
63 TemplateArgument *Storage = new (Context) TemplateArgument [NumArgs];
65 return TemplateArgument(Storage, NumArgs);
68 bool TemplateArgument::isDependent() const {
107 llvm_unreachable("Invalid TemplateArgument Kind!");
110 bool TemplateArgument::isInstantiationDependent() const {
148 llvm_unreachable("Invalid TemplateArgument Kind!");
151 bool TemplateArgument::isPackExpansion() const {
170 llvm_unreachable("Invalid TemplateArgument Kind!");
173 bool TemplateArgument::containsUnexpandedParameterPack() const {
207 llvm::Optional<unsigned> TemplateArgument::getNumTemplateExpansions() const {
215 void TemplateArgument::Profile(llvm::FoldingSetNodeID &ID,
264 bool TemplateArgument::structurallyEquals(const TemplateArgument &Other) const {
288 llvm_unreachable("Invalid TemplateArgument Kind!");
291 TemplateArgument TemplateArgument::getPackExpansionPattern() const {
302 return TemplateArgument(getAsTemplateOrTemplatePattern());
309 return TemplateArgument();
312 llvm_unreachable("Invalid TemplateArgument Kind!");
315 void TemplateArgument::print(const PrintingPolicy &Policy,
365 for (TemplateArgument::pack_iterator P = pack_begin(), PEnd = pack_end();
389 case TemplateArgument::Expression:
392 case TemplateArgument::Declaration:
395 case TemplateArgument::Type:
401 case TemplateArgument::Template:
407 case TemplateArgument::TemplateExpansion:
413 case TemplateArgument::Integral:
414 case TemplateArgument::Pack:
415 case TemplateArgument::Null:
419 llvm_unreachable("Invalid TemplateArgument Kind!");
429 case TemplateArgument::Type: {
453 return TemplateArgumentLoc(TemplateArgument(Pattern.getType()),
457 case TemplateArgument::Expression: {
466 case TemplateArgument::TemplateExpansion:
473 case TemplateArgument::Declaration:
474 case TemplateArgument::Template:
475 case TemplateArgument::Integral:
476 case TemplateArgument::Pack:
477 case TemplateArgument::Null:
481 llvm_unreachable("Invalid TemplateArgument Kind!");
485 const TemplateArgument &Arg) {
487 case TemplateArgument::Null:
492 case TemplateArgument::Type:
495 case TemplateArgument::Declaration:
500 case TemplateArgument::Integral:
503 case TemplateArgument::Template:
506 case TemplateArgument::TemplateExpansion:
509 case TemplateArgument::Expression: {
522 case TemplateArgument::Pack: {
534 llvm_unreachable("Invalid TemplateArgument Kind!");