clang 20.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. | |
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 Type *TypePtr, 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 342 of file QualTypeNames.cpp.
References clang::NestedNameSpecifier::Create(), and 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 358 of file QualTypeNames.cpp.
References clang::NestedNameSpecifier::Create(), createOuterNNS(), getFullyQualifiedTemplateType(), and clang::TypeDecl::getTypeForDecl().
|
static |
Create a nested name specifier for the declaring context of the type.
Definition at line 267 of file QualTypeNames.cpp.
References createNestedNameSpecifier(), clang::Decl::getDeclContext(), clang::DeclContext::getRedeclContext(), clang::NestedNameSpecifier::GlobalSpecifier(), and clang::DeclContext::isTranslationUnit().
Referenced by createNestedNameSpecifierForScopeOf(), getFullyQualifiedTemplateName(), and getFullyQualifiedType().
|
static |
Create a nested name specifier for the declaring context of the type.
Definition at line 319 of file QualTypeNames.cpp.
References createNestedNameSpecifierForScopeOf(), and clang::Type::getAsCXXRecordDecl().
|
static |
Definition at line 189 of file QualTypeNames.cpp.
References createNestedNameSpecifier(), D, clang::NestedNameSpecifier::GlobalSpecifier(), and clang::DeclContext::isTranslationUnit().
Referenced by createNestedNameSpecifier().
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 482 of file QualTypeNames.cpp.
References clang::QualType::getAsString(), and getFullyQualifiedType().
|
static |
Return a fully qualified version of this name specifier.
Definition at line 214 of file QualTypeNames.cpp.
References createNestedNameSpecifier(), clang::Type::getAs(), clang::Type::getAsCXXRecordDecl(), getFullyQualifiedNestedNameSpecifier(), clang::NestedNameSpecifier::Global, clang::NestedNameSpecifier::Identifier, clang::NestedNameSpecifier::Namespace, clang::NestedNameSpecifier::NamespaceAlias, clang::NestedNameSpecifier::Super, clang::NestedNameSpecifier::TypeSpec, and clang::NestedNameSpecifier::TypeSpecWithTemplate.
Referenced by getFullyQualifiedNestedNameSpecifier(), and getFullyQualifiedTemplateName().
|
static |
Definition at line 95 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 56 of file QualTypeNames.cpp.
References createNestedNameSpecifierForScopeOf(), clang::TemplateName::getAsQualifiedTemplateName(), clang::TemplateName::getAsTemplateDecl(), clang::TemplateName::getAsUsingShadowDecl(), getFullyQualifiedNestedNameSpecifier(), clang::ASTContext::getQualifiedTemplateName(), clang::QualifiedTemplateName::getQualifier(), and clang::QualifiedTemplateName::hasTemplateKeyword().
Referenced by getFullyQualifiedTemplateArgument().
|
static |
Definition at line 121 of file QualTypeNames.cpp.
References E, getFullyQualifiedTemplateArgument(), clang::ASTContext::getTemplateSpecializationType(), clang::QualType::getTypePtr(), and clang::TemplateArgumentList::size().
Referenced by createNestedNameSpecifier(), and getFullyQualifiedType().
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 379 of file QualTypeNames.cpp.
References clang::Class, createNestedNameSpecifierForScopeOf(), clang::Type::getAs(), clang::ASTContext::getElaboratedType(), getFullyQualifiedTemplateType(), getFullyQualifiedType(), clang::QualType::getLocalQualifiers(), clang::ASTContext::getLValueReferenceType(), clang::ASTContext::getMemberPointerType(), clang::Type::getPointeeType(), clang::ASTContext::getPointerType(), clang::ASTContext::getQualifiedType(), clang::QualType::getQualifiers(), clang::ASTContext::getRValueReferenceType(), clang::QualType::getTypePtr(), clang::QualType::hasLocalQualifiers(), and clang::None.
Referenced by AddResultTypeChunk(), getFullyQualifiedName(), getFullyQualifiedTemplateArgument(), and getFullyQualifiedType().