clang API Documentation
#include <TemplateBase.h>
Location wrapper for a TemplateArgument. TemplateArgument is to TemplateArgumentLoc as Type is to TypeLoc.
Definition at line 419 of file TemplateBase.h.
| clang::TemplateArgumentLoc::TemplateArgumentLoc | ( | ) | [inline] |
Definition at line 424 of file TemplateBase.h.
Referenced by getPackExpansionPattern().
| clang::TemplateArgumentLoc::TemplateArgumentLoc | ( | const TemplateArgument & | Argument, |
| TemplateArgumentLocInfo | Opaque | ||
| ) | [inline] |
Definition at line 426 of file TemplateBase.h.
| clang::TemplateArgumentLoc::TemplateArgumentLoc | ( | const TemplateArgument & | Argument, |
| TypeSourceInfo * | TInfo | ||
| ) | [inline] |
Definition at line 431 of file TemplateBase.h.
References clang::TemplateArgument::getKind(), and clang::TemplateArgument::Type.
| clang::TemplateArgumentLoc::TemplateArgumentLoc | ( | const TemplateArgument & | Argument, |
| Expr * | E | ||
| ) | [inline] |
Definition at line 436 of file TemplateBase.h.
References clang::TemplateArgument::Expression, and clang::TemplateArgument::getKind().
| clang::TemplateArgumentLoc::TemplateArgumentLoc | ( | const TemplateArgument & | Argument, |
| NestedNameSpecifierLoc | QualifierLoc, | ||
| SourceLocation | TemplateNameLoc, | ||
| SourceLocation | EllipsisLoc = SourceLocation() |
||
| ) | [inline] |
Definition at line 441 of file TemplateBase.h.
References clang::TemplateArgument::getKind(), clang::TemplateArgument::Template, and clang::TemplateArgument::TemplateExpansion.
| const TemplateArgument& clang::TemplateArgumentLoc::getArgument | ( | ) | const [inline] |
Definition at line 462 of file TemplateBase.h.
Referenced by clang::Sema::ActOnTemplateTemplateParameter(), clang::ASTWriter::AddTemplateArgumentLoc(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckTemplateTypeArgument(), clang::Sema::DiagnoseUnexpandedParameterPack(), FinishTemplateArgumentDeduction(), clang::Sema::FinishTemplateArgumentDeduction(), getPackExpansionPattern(), clang::TemplateTemplateParmDecl::hasDefaultArgument(), clang::TemplateSpecializationType::PrintTemplateArgumentList(), clang::TreeTransform< Derived >::RebuildPackExpansion(), SubstDefaultTemplateArgument(), clang::TreeTransform< Derived >::TransformTemplateArgument(), clang::TreeTransform< Derived >::TransformTemplateArguments(), and clang::RecursiveASTVisitor< Derived >::TraverseTemplateArgumentLoc().
| SourceLocation clang::TemplateArgumentLoc::getLocation | ( | ) | const [inline] |
Definition at line 451 of file TemplateBase.h.
References clang::SourceRange::getBegin(), clang::TemplateArgument::getKind(), getSourceRange(), getTemplateNameLoc(), clang::TemplateArgument::Template, and clang::TemplateArgument::TemplateExpansion.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnTemplateTemplateParameter(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckTemplateParameterList(), clang::Sema::DiagnoseUnexpandedParameterPack(), and clang::TreeTransform< Derived >::TransformTemplateArgument().
| TemplateArgumentLocInfo clang::TemplateArgumentLoc::getLocInfo | ( | ) | const [inline] |
Definition at line 466 of file TemplateBase.h.
Referenced by clang::ASTWriter::AddTemplateArgumentLoc(), and clang::TreeTransform< Derived >::TransformTemplateArgument().
| TemplateArgumentLoc TemplateArgumentLoc::getPackExpansionPattern | ( | SourceLocation & | Ellipsis, |
| llvm::Optional< unsigned > & | NumExpansions, | ||
| ASTContext & | Context | ||
| ) | const |
When the template argument is a pack expansion, returns the pattern of the pack expansion.
| Ellipsis | Will be set to the location of the ellipsis. |
| NumExpansions | Will be set to the number of expansions that will be generated from this pack expansion, if known a priori. |
Definition at line 423 of file TemplateBase.cpp.
References clang::ASTContext::CreateTypeSourceInfo(), clang::TemplateArgument::Declaration, clang::TemplateArgument::Expression, getArgument(), clang::TemplateArgument::getAsExpr(), clang::PackExpansionTypeLoc::getEllipsisLoc(), clang::PackExpansionExpr::getEllipsisLoc(), clang::TypeLoc::getFullDataSize(), clang::TemplateArgument::getKind(), clang::PackExpansionExpr::getNumExpansions(), clang::PackExpansionType::getNumExpansions(), clang::TemplateArgument::getNumTemplateExpansions(), clang::TypeLoc::getOpaqueData(), clang::TemplateArgument::getPackExpansionPattern(), clang::PackExpansionExpr::getPattern(), clang::PackExpansionTypeLoc::getPatternLoc(), getTemplateEllipsisLoc(), getTemplateNameLoc(), getTemplateQualifierLoc(), clang::ASTContext::getTrivialTypeSourceInfo(), clang::TypeLoc::getType(), clang::TypeSourceInfo::getTypeLoc(), clang::ConcreteTypeLoc< Base, Derived, TypeClass, LocalData >::getTypePtr(), getTypeSourceInfo(), clang::TemplateArgument::Integral, clang::TemplateArgument::isPackExpansion(), clang::TemplateArgument::Null, clang::TemplateArgument::Pack, clang::TemplateArgument::Template, TemplateArgumentLoc(), clang::TemplateArgument::TemplateExpansion, and clang::TemplateArgument::Type.
Referenced by clang::TreeTransform< Derived >::TransformTemplateArguments().
| Expr* clang::TemplateArgumentLoc::getSourceDeclExpression | ( | ) | const [inline] |
Definition at line 480 of file TemplateBase.h.
References clang::TemplateArgument::Declaration, clang::TemplateArgumentLocInfo::getAsExpr(), and clang::TemplateArgument::getKind().
Referenced by getSourceRange(), and clang::TreeTransform< Derived >::TransformTemplateArgument().
| Expr* clang::TemplateArgumentLoc::getSourceExpression | ( | ) | const [inline] |
Definition at line 475 of file TemplateBase.h.
References clang::TemplateArgument::Expression, clang::TemplateArgumentLocInfo::getAsExpr(), and clang::TemplateArgument::getKind().
Referenced by getSourceRange(), clang::TreeTransform< Derived >::RebuildPackExpansion(), clang::TreeTransform< Derived >::TransformTemplateArgument(), and clang::RecursiveASTVisitor< Derived >::TraverseTemplateArgumentLoc().
| SourceRange TemplateArgumentLoc::getSourceRange | ( | ) | const |
Definition at line 387 of file TemplateBase.cpp.
References clang::TemplateArgument::Declaration, clang::TemplateArgument::Expression, clang::TemplateArgument::getKind(), getSourceDeclExpression(), getSourceExpression(), clang::Stmt::getSourceRange(), getTemplateEllipsisLoc(), getTemplateNameLoc(), getTemplateQualifierLoc(), getTypeSourceInfo(), clang::TemplateArgument::Integral, clang::TemplateArgument::Null, clang::TemplateArgument::Pack, clang::TemplateArgument::Template, clang::TemplateArgument::TemplateExpansion, and clang::TemplateArgument::Type.
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnTemplateTemplateParameter(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckTemplateParameterList(), clang::Sema::CheckTemplateTypeArgument(), getLocation(), clang::TemplateTemplateParmDecl::getSourceRange(), isEnableIf(), and clang::TreeTransform< Derived >::TransformTemplateArguments().
| SourceLocation clang::TemplateArgumentLoc::getTemplateEllipsisLoc | ( | ) | const [inline] |
Definition at line 497 of file TemplateBase.h.
References clang::TemplateArgument::getKind(), clang::TemplateArgumentLocInfo::getTemplateEllipsisLoc(), and clang::TemplateArgument::TemplateExpansion.
Referenced by clang::Sema::CheckTemplateArgument(), getPackExpansionPattern(), and getSourceRange().
| SourceLocation clang::TemplateArgumentLoc::getTemplateNameLoc | ( | ) | const [inline] |
Definition at line 491 of file TemplateBase.h.
References clang::TemplateArgument::getKind(), clang::TemplateArgumentLocInfo::getTemplateNameLoc(), clang::TemplateArgument::Template, and clang::TemplateArgument::TemplateExpansion.
Referenced by clang::Sema::CheckTemplateArgument(), clang::Sema::CheckTemplateArgumentList(), getLocation(), getPackExpansionPattern(), getSourceRange(), clang::TreeTransform< Derived >::RebuildPackExpansion(), SubstDefaultTemplateArgument(), clang::Sema::SubstDefaultTemplateArgumentIfAvailable(), and clang::TreeTransform< Derived >::TransformTemplateArgument().
| NestedNameSpecifierLoc clang::TemplateArgumentLoc::getTemplateQualifierLoc | ( | ) | const [inline] |
Definition at line 485 of file TemplateBase.h.
References clang::TemplateArgument::getKind(), clang::TemplateArgumentLocInfo::getTemplateQualifierLoc(), clang::TemplateArgument::Template, and clang::TemplateArgument::TemplateExpansion.
Referenced by clang::Sema::CheckTemplateArgument(), getPackExpansionPattern(), getSourceRange(), clang::TreeTransform< Derived >::RebuildPackExpansion(), SubstDefaultTemplateArgument(), clang::Sema::SubstDefaultTemplateArgumentIfAvailable(), clang::TreeTransform< Derived >::TransformTemplateArgument(), and clang::RecursiveASTVisitor< Derived >::TraverseTemplateArgumentLoc().
| TypeSourceInfo* clang::TemplateArgumentLoc::getTypeSourceInfo | ( | ) | const [inline] |
Definition at line 470 of file TemplateBase.h.
References clang::TemplateArgumentLocInfo::getAsTypeSourceInfo(), clang::TemplateArgument::getKind(), and clang::TemplateArgument::Type.
Referenced by clang::Sema::CheckTemplateTypeArgument(), getPackExpansionPattern(), getSourceRange(), clang::TreeTransform< Derived >::RebuildPackExpansion(), clang::TreeTransform< Derived >::TransformTemplateArgument(), and clang::RecursiveASTVisitor< Derived >::TraverseTemplateArgumentLoc().