clang 22.0.0git
|
Functions | |
std::string | getFullyQualifiedName (QualType QT, const ASTContext &Ctx, const PrintingPolicy &Policy, bool WithGlobalNsPrefix=false) |
Get the fully qualified name for a type. | |
QualType | getFullyQualifiedType (QualType QT, const ASTContext &Ctx, bool WithGlobalNsPrefix=false) |
Generates a QualType that can be used to name the same type if used at the end of the current translation unit. | |
NestedNameSpecifier | getFullyQualifiedDeclaredContext (const ASTContext &Ctx, const Decl *Decl, bool WithGlobalNsPrefix=false) |
Get the fully qualified name for the declared context of a declaration. | |
static NestedNameSpecifier | createNestedNameSpecifier (const ASTContext &Ctx, const NamespaceDecl *Namesp, bool WithGlobalNsPrefix) |
Create a NestedNameSpecifier for Namesp and its enclosing scopes. | |
static NestedNameSpecifier | createNestedNameSpecifier (const ASTContext &Ctx, const TypeDecl *TD, bool FullyQualify, bool WithGlobalNsPrefix) |
Create a NestedNameSpecifier for TagDecl and its enclosing scopes. | |
static NestedNameSpecifier | createNestedNameSpecifierForScopeOf (const ASTContext &Ctx, const Decl *Decl, bool FullyQualified, bool WithGlobalNsPrefix) |
Create a nested name specifier for the declaring context of the type. | |
static NestedNameSpecifier | getFullyQualifiedNestedNameSpecifier (const ASTContext &Ctx, NestedNameSpecifier Scope, bool WithGlobalNsPrefix) |
Return a fully qualified version of this name specifier. | |
static bool | getFullyQualifiedTemplateName (const ASTContext &Ctx, TemplateName &TName, bool WithGlobalNsPrefix) |
static bool | getFullyQualifiedTemplateArgument (const ASTContext &Ctx, TemplateArgument &Arg, bool WithGlobalNsPrefix) |
static const Type * | getFullyQualifiedTemplateType (const ASTContext &Ctx, const TagType *TSTRecord, ElaboratedTypeKeyword Keyword, NestedNameSpecifier Qualifier, bool WithGlobalNsPrefix) |
static const Type * | getFullyQualifiedTemplateType (const ASTContext &Ctx, const TemplateSpecializationType *TST, bool WithGlobalNsPrefix) |
static NestedNameSpecifier | createOuterNNS (const ASTContext &Ctx, const Decl *D, bool FullyQualify, bool WithGlobalNsPrefix) |
static NestedNameSpecifier | createNestedNameSpecifierForScopeOf (const ASTContext &Ctx, const Type *TypePtr, bool FullyQualified, bool WithGlobalNsPrefix) |
Create a nested name specifier for the declaring context of the type. | |
|
static |
Create a NestedNameSpecifier for Namesp and its enclosing scopes.
[in] | Ctx | - the AST Context to be used. |
[in] | Namesp | - the NamespaceDecl for which a NestedNameSpecifier is requested. |
[in] | WithGlobalNsPrefix | - Indicate whether the global namespace specifier "::" should be prepended or not. |
Definition at line 331 of file QualTypeNames.cpp.
References createOuterNNS().
Referenced by createNestedNameSpecifierForScopeOf(), createOuterNNS(), and getFullyQualifiedNestedNameSpecifier().
|
static |
Create a NestedNameSpecifier for TagDecl and its enclosing scopes.
[in] | Ctx | - the AST Context to be used. |
[in] | TD | - the TagDecl for which a NestedNameSpecifier is requested. |
[in] | FullyQualify | - Convert all template arguments into fully qualified names. |
[in] | WithGlobalNsPrefix | - Indicate whether the global namespace specifier "::" should be prepended or not. |
Definition at line 346 of file QualTypeNames.cpp.
References createOuterNNS(), getFullyQualifiedTemplateType(), and clang::None.
|
static |
Create a nested name specifier for the declaring context of the type.
Definition at line 250 of file QualTypeNames.cpp.
References createNestedNameSpecifier(), clang::Decl::getDeclContext(), clang::NestedNameSpecifier::getGlobal(), clang::DeclContext::getRedeclContext(), and clang::DeclContext::isTranslationUnit().
Referenced by createNestedNameSpecifierForScopeOf(), getFullyQualifiedDeclaredContext(), getFullyQualifiedTemplateName(), and getFullyQualifiedType().
|
static |
Create a nested name specifier for the declaring context of the type.
Definition at line 305 of file QualTypeNames.cpp.
References createNestedNameSpecifierForScopeOf(), and clang::Type::getAsCXXRecordDecl().
|
static |
Definition at line 192 of file QualTypeNames.cpp.
References createNestedNameSpecifier(), D, clang::NestedNameSpecifier::getGlobal(), and clang::DeclContext::isTranslationUnit().
Referenced by createNestedNameSpecifier().
NestedNameSpecifier clang::TypeName::getFullyQualifiedDeclaredContext | ( | const ASTContext & | Ctx, |
const Decl * | Decl, | ||
bool | WithGlobalNsPrefix = false |
||
) |
Get the fully qualified name for the declared context of a declaration.
[in] | Ctx | - the ASTContext to be used. |
[in] | Decl | - the declaration for which to get the fully qualified name. |
[in] | WithGlobalNsPrefix | - If true, then the global namespace specifier "::" will be prepended to the fully qualified name. |
Definition at line 494 of file QualTypeNames.cpp.
References createNestedNameSpecifierForScopeOf().
std::string clang::TypeName::getFullyQualifiedName | ( | QualType | QT, |
const ASTContext & | Ctx, | ||
const PrintingPolicy & | Policy, | ||
bool | WithGlobalNsPrefix = false |
||
) |
Get the fully qualified name for a type.
This includes full qualification of all template parameters etc.
[in] | QT | - the type for which the fully qualified name will be returned. |
[in] | Ctx | - the ASTContext to be used. |
[in] | WithGlobalNsPrefix | - If true, then the global namespace specifier "::" will be prepended to the fully qualified name. |
Definition at line 486 of file QualTypeNames.cpp.
References clang::QualType::getAsString(), and getFullyQualifiedType().
|
static |
Return a fully qualified version of this name specifier.
Definition at line 217 of file QualTypeNames.cpp.
References createNestedNameSpecifier(), D, clang::Type::getAs(), clang::NestedNameSpecifier::Global, clang::NestedNameSpecifier::MicrosoftSuper, clang::NestedNameSpecifier::Namespace, clang::NestedNameSpecifier::Null, and clang::NestedNameSpecifier::Type.
Referenced by getFullyQualifiedTemplateName(), and getFullyQualifiedType().
|
static |
Definition at line 93 of file QualTypeNames.cpp.
References clang::TemplateArgument::getAsTemplate(), clang::TemplateArgument::getAsType(), getFullyQualifiedTemplateName(), getFullyQualifiedType(), clang::TemplateArgument::getKind(), clang::TemplateArgument::Template, and clang::TemplateArgument::Type.
Referenced by getFullyQualifiedTemplateType().
|
static |
Definition at line 54 of file QualTypeNames.cpp.
References createNestedNameSpecifierForScopeOf(), clang::TemplateName::getAsQualifiedTemplateName(), clang::TemplateName::getAsTemplateDecl(), clang::TemplateName::getAsUsingShadowDecl(), getFullyQualifiedNestedNameSpecifier(), clang::QualifiedTemplateName::getQualifier(), and clang::QualifiedTemplateName::hasTemplateKeyword().
Referenced by getFullyQualifiedTemplateArgument(), and getFullyQualifiedTemplateType().
|
static |
Definition at line 119 of file QualTypeNames.cpp.
References E, clang::Type::getCanonicalTypeInternal(), getFullyQualifiedTemplateArgument(), clang::TagType::getOriginalDecl(), clang::QualType::getTypePtr(), clang::Keyword, and clang::TemplateArgumentList::size().
Referenced by createNestedNameSpecifier(), and getFullyQualifiedType().
|
static |
Definition at line 165 of file QualTypeNames.cpp.
References clang::TemplateSpecializationType::desugar(), getFullyQualifiedTemplateArgument(), getFullyQualifiedTemplateName(), clang::KeywordWrapper< T >::getKeyword(), clang::TemplateSpecializationType::getTemplateName(), clang::QualType::getTypePtr(), and clang::TemplateSpecializationType::template_arguments().
QualType clang::TypeName::getFullyQualifiedType | ( | QualType | QT, |
const ASTContext & | Ctx, | ||
bool | WithGlobalNsPrefix = false |
||
) |
Generates a QualType that can be used to name the same type if used at the end of the current translation unit.
Return the fully qualified type, including fully-qualified versions of any template parameters.
This ignores issues such as type shadowing.
[in] | QT | - the type for which the fully qualified type will be returned. |
[in] | Ctx | - the ASTContext to be used. |
[in] | WithGlobalNsPrefix | - Indicate whether the global namespace specifier "::" should be prepended or not. |
Definition at line 367 of file QualTypeNames.cpp.
References createNestedNameSpecifierForScopeOf(), clang::Type::getAs(), getFullyQualifiedNestedNameSpecifier(), getFullyQualifiedTemplateType(), getFullyQualifiedType(), clang::QualType::getLocalQualifiers(), clang::Type::getPointeeType(), clang::QualType::getQualifiers(), clang::QualType::getTypePtr(), and clang::T.
Referenced by clang::GetFullTypeName(), getFullyQualifiedName(), getFullyQualifiedTemplateArgument(), and getFullyQualifiedType().