clang 17.0.0git
|
Location wrapper for a TemplateArgument. More...
#include "clang/AST/TemplateBase.h"
Public Member Functions | |
TemplateArgumentLoc () | |
TemplateArgumentLoc (const TemplateArgument &Argument, TemplateArgumentLocInfo Opaque) | |
TemplateArgumentLoc (const TemplateArgument &Argument, TypeSourceInfo *TInfo) | |
TemplateArgumentLoc (const TemplateArgument &Argument, Expr *E) | |
TemplateArgumentLoc (ASTContext &Ctx, const TemplateArgument &Argument, NestedNameSpecifierLoc QualifierLoc, SourceLocation TemplateNameLoc, SourceLocation EllipsisLoc=SourceLocation()) | |
SourceLocation | getLocation () const |
SourceRange | getSourceRange () const LLVM_READONLY |
const TemplateArgument & | getArgument () const |
TemplateArgumentLocInfo | getLocInfo () const |
TypeSourceInfo * | getTypeSourceInfo () const |
Expr * | getSourceExpression () const |
Expr * | getSourceDeclExpression () const |
Expr * | getSourceNullPtrExpression () const |
Expr * | getSourceIntegralExpression () const |
NestedNameSpecifierLoc | getTemplateQualifierLoc () const |
SourceLocation | getTemplateNameLoc () const |
SourceLocation | getTemplateEllipsisLoc () const |
Location wrapper for a TemplateArgument.
TemplateArgument is to TemplateArgumentLoc as Type is to TypeLoc.
Definition at line 484 of file TemplateBase.h.
|
inline |
Definition at line 489 of file TemplateBase.h.
|
inline |
Definition at line 491 of file TemplateBase.h.
|
inline |
Definition at line 495 of file TemplateBase.h.
References clang::TemplateArgument::getKind(), and clang::TemplateArgument::Type.
|
inline |
Definition at line 500 of file TemplateBase.h.
References clang::TemplateArgument::Declaration, clang::TemplateArgument::Expression, clang::TemplateArgument::getKind(), clang::TemplateArgument::Integral, and clang::TemplateArgument::NullPtr.
|
inline |
Definition at line 511 of file TemplateBase.h.
References clang::TemplateArgument::getKind(), clang::TemplateArgument::Template, and clang::TemplateArgument::TemplateExpansion.
|
inline |
Definition at line 533 of file TemplateBase.h.
Referenced by clang::Sema::ActOnTemplateTemplateParameter(), clang::ASTRecordWriter::AddTemplateArgumentLoc(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckTemplateTemplateArgument(), clang::Sema::CheckTemplateTypeArgument(), ConvertDeducedTemplateArguments(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::Sema::DiagnoseUnexpandedParameterPack(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::dumpTemplateArgumentLoc(), getArgument(), clang::comments::getFunctionTypeLoc(), clang::Sema::getTemplateArgumentPackExpansionPattern(), clang::ASTNodeImporter::import(), isEnableIf(), IsStructurallyEquivalent(), printArgument(), clang::TreeTransform< Derived >::RebuildPackExpansion(), clang::TemplateTemplateParmDecl::setDefaultArgument(), SubstDefaultTemplateArgument(), clang::TreeTransform< Derived >::TransformTemplateArgument(), clang::TreeTransform< Derived >::TransformTemplateArguments(), clang::RecursiveASTVisitor< Derived >::TraverseTemplateArgumentLoc(), and clang::JSONNodeDumper::VisitTemplateTemplateParmDecl().
|
inline |
Definition at line 522 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::CheckTemplateTemplateArgument(), clang::Sema::DiagnoseUnexpandedParameterPack(), and clang::TemplateTemplateParmDecl::getDefaultArgumentLoc().
|
inline |
Definition at line 537 of file TemplateBase.h.
Referenced by clang::ASTRecordWriter::AddTemplateArgumentLoc(), and clang::ASTNodeImporter::import().
|
inline |
Definition at line 552 of file TemplateBase.h.
References clang::TemplateArgument::Declaration, clang::TemplateArgumentLocInfo::getAsExpr(), and clang::TemplateArgument::getKind().
Referenced by getSourceRange().
|
inline |
Definition at line 547 of file TemplateBase.h.
References clang::TemplateArgument::Expression, clang::TemplateArgumentLocInfo::getAsExpr(), and clang::TemplateArgument::getKind().
Referenced by getSourceRange(), isEnableIf(), clang::TreeTransform< Derived >::RebuildPackExpansion(), clang::TreeTransform< Derived >::TransformTemplateArgument(), and clang::RecursiveASTVisitor< Derived >::TraverseTemplateArgumentLoc().
|
inline |
Definition at line 562 of file TemplateBase.h.
References clang::TemplateArgumentLocInfo::getAsExpr(), clang::TemplateArgument::getKind(), and clang::TemplateArgument::Integral.
Referenced by getSourceRange().
|
inline |
Definition at line 557 of file TemplateBase.h.
References clang::TemplateArgumentLocInfo::getAsExpr(), clang::TemplateArgument::getKind(), and clang::TemplateArgument::NullPtr.
Referenced by getSourceRange().
SourceRange TemplateArgumentLoc::getSourceRange | ( | ) | const |
Definition at line 493 of file TemplateBase.cpp.
References clang::TemplateArgument::Declaration, clang::TemplateArgument::Expression, clang::TemplateArgument::getKind(), getSourceDeclExpression(), getSourceExpression(), getSourceIntegralExpression(), getSourceNullPtrExpression(), clang::Stmt::getSourceRange(), getTemplateEllipsisLoc(), getTemplateNameLoc(), getTemplateQualifierLoc(), getTypeSourceInfo(), clang::TemplateArgument::Integral, clang::TemplateArgument::Null, clang::TemplateArgument::NullPtr, 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::CheckTemplateTemplateArgument(), clang::Sema::CheckTemplateTypeArgument(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::dumpTemplateArgumentLoc(), getLocation(), clang::TemplateTemplateParmDecl::getSourceRange(), isEnableIf(), and clang::TreeTransform< Derived >::TransformTemplateArguments().
|
inline |
Definition at line 581 of file TemplateBase.h.
References clang::TemplateArgument::getKind(), clang::TemplateArgumentLocInfo::getTemplateEllipsisLoc(), and clang::TemplateArgument::TemplateExpansion.
Referenced by clang::Sema::CheckTemplateArgument(), getSourceRange(), and clang::Sema::getTemplateArgumentPackExpansionPattern().
|
inline |
Definition at line 574 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(), getSourceRange(), clang::Sema::getTemplateArgumentPackExpansionPattern(), clang::TreeTransform< Derived >::RebuildPackExpansion(), SubstDefaultTemplateArgument(), clang::Sema::SubstDefaultTemplateArgumentIfAvailable(), and clang::TreeTransform< Derived >::TransformTemplateArgument().
|
inline |
Definition at line 567 of file TemplateBase.h.
References clang::TemplateArgument::getKind(), clang::TemplateArgumentLocInfo::getTemplateQualifierLoc(), clang::TemplateArgument::Template, and clang::TemplateArgument::TemplateExpansion.
Referenced by clang::Sema::CheckTemplateArgument(), getSourceRange(), clang::Sema::getTemplateArgumentPackExpansionPattern(), clang::TreeTransform< Derived >::RebuildPackExpansion(), SubstDefaultTemplateArgument(), clang::Sema::SubstDefaultTemplateArgumentIfAvailable(), clang::TreeTransform< Derived >::TransformTemplateArgument(), and clang::RecursiveASTVisitor< Derived >::TraverseTemplateArgumentLoc().
|
inline |
Definition at line 541 of file TemplateBase.h.
References clang::TemplateArgumentLocInfo::getAsTypeSourceInfo(), clang::TemplateArgument::getKind(), and clang::TemplateArgument::Type.
Referenced by clang::Sema::CheckTemplateArgument(), clang::Sema::CheckTemplateTypeArgument(), clang::comments::getFunctionTypeLoc(), getSourceRange(), clang::Sema::getTemplateArgumentPackExpansionPattern(), printArgument(), clang::TreeTransform< Derived >::RebuildPackExpansion(), clang::TreeTransform< Derived >::TransformTemplateArgument(), and clang::RecursiveASTVisitor< Derived >::TraverseTemplateArgumentLoc().