clang
7.0.0
|
DeclarationNameTable - Used to store and retrieve DeclarationName instances for the various kinds of declaration names, e.g., normal identifiers, C++ constructor names, etc. More...
#include "clang/AST/DeclarationName.h"
Public Member Functions | |
DeclarationNameTable (const ASTContext &C) | |
DeclarationNameTable (const DeclarationNameTable &)=delete | |
DeclarationNameTable & | operator= (const DeclarationNameTable &)=delete |
~DeclarationNameTable () | |
DeclarationName | getIdentifier (const IdentifierInfo *ID) |
getIdentifier - Create a declaration name that is a simple identifier. More... | |
DeclarationName | getCXXConstructorName (CanQualType Ty) |
getCXXConstructorName - Returns the name of a C++ constructor for the given Type. More... | |
DeclarationName | getCXXDestructorName (CanQualType Ty) |
getCXXDestructorName - Returns the name of a C++ destructor for the given Type. More... | |
DeclarationName | getCXXDeductionGuideName (TemplateDecl *TD) |
Returns the name of a C++ deduction guide for the given template. More... | |
DeclarationName | getCXXConversionFunctionName (CanQualType Ty) |
getCXXConversionFunctionName - Returns the name of a C++ conversion function for the given Type. More... | |
DeclarationName | getCXXSpecialName (DeclarationName::NameKind Kind, CanQualType Ty) |
getCXXSpecialName - Returns a declaration name for special kind of C++ name, e.g., for a constructor, destructor, or conversion function. More... | |
DeclarationName | getCXXOperatorName (OverloadedOperatorKind Op) |
getCXXOperatorName - Get the name of the overloadable C++ operator corresponding to Op. More... | |
DeclarationName | getCXXLiteralOperatorName (IdentifierInfo *II) |
getCXXLiteralOperatorName - Get the name of the literal operator function with II as the identifier. More... | |
DeclarationNameTable - Used to store and retrieve DeclarationName instances for the various kinds of declaration names, e.g., normal identifiers, C++ constructor names, etc.
This class contains uniqued versions of each of the C++ special names, which can be retrieved using its member functions (e.g., getCXXConstructorName).
Definition at line 352 of file DeclarationName.h.
DeclarationNameTable::DeclarationNameTable | ( | const ASTContext & | C | ) |
Definition at line 438 of file DeclarationName.cpp.
References clang::DeclarationNameExtra::CXXConversionFunction, clang::DeclarationNameExtra::ExtraKindOrNumArgs, clang::CXXOperatorIdName::FETokenInfo, and clang::NUM_OVERLOADED_OPERATORS.
|
delete |
DeclarationNameTable::~DeclarationNameTable | ( | ) |
Definition at line 452 of file DeclarationName.cpp.
DeclarationName DeclarationNameTable::getCXXConstructorName | ( | CanQualType | Ty | ) |
getCXXConstructorName - Returns the name of a C++ constructor for the given Type.
Definition at line 467 of file DeclarationName.cpp.
References clang::DeclarationName::CXXConstructorName, getCXXSpecialName(), and clang::CanQual< T >::getUnqualifiedType().
Referenced by clang::ASTImporter::Import().
DeclarationName DeclarationNameTable::getCXXConversionFunctionName | ( | CanQualType | Ty | ) |
getCXXConversionFunctionName - Returns the name of a C++ conversion function for the given Type.
Definition at line 502 of file DeclarationName.cpp.
References clang::DeclarationName::CXXConversionFunctionName, and getCXXSpecialName().
Referenced by clang::ASTImporter::Import().
DeclarationName DeclarationNameTable::getCXXDeductionGuideName | ( | TemplateDecl * | TD | ) |
Returns the name of a C++ deduction guide for the given template.
Definition at line 478 of file DeclarationName.cpp.
References clang::Decl::getCanonicalDecl().
Referenced by clang::Sema::DeduceTemplateSpecializationFromInitializer(), and clang::ASTImporter::Import().
DeclarationName DeclarationNameTable::getCXXDestructorName | ( | CanQualType | Ty | ) |
getCXXDestructorName - Returns the name of a C++ destructor for the given Type.
Definition at line 472 of file DeclarationName.cpp.
References clang::DeclarationName::CXXDestructorName, getCXXSpecialName(), and clang::CanQual< T >::getUnqualifiedType().
Referenced by clang::ASTImporter::Import().
DeclarationName DeclarationNameTable::getCXXLiteralOperatorName | ( | IdentifierInfo * | II | ) |
getCXXLiteralOperatorName - Get the name of the literal operator function with II as the identifier.
Definition at line 556 of file DeclarationName.cpp.
Referenced by BuildCookedLiteralOperatorCall(), and clang::ASTImporter::Import().
DeclarationName DeclarationNameTable::getCXXOperatorName | ( | OverloadedOperatorKind | Op | ) |
getCXXOperatorName - Get the name of the overloadable C++ operator corresponding to Op.
Definition at line 551 of file DeclarationName.cpp.
Referenced by clang::Sema::ActOnCXXDelete(), clang::Sema::DeclareGlobalNewDelete(), DiagnoseTwoPhaseOperatorLookup(), doesUsualArrayDeleteWantSize(), clang::Sema::FindAllocationFunctions(), clang::ASTImporter::Import(), resolveAllocationOverload(), and resolveBuiltinNewDeleteOverload().
DeclarationName DeclarationNameTable::getCXXSpecialName | ( | DeclarationName::NameKind | Kind, |
CanQualType | Ty | ||
) |
getCXXSpecialName - Returns a declaration name for special kind of C++ name, e.g., for a constructor, destructor, or conversion function.
Definition at line 507 of file DeclarationName.cpp.
References clang::DeclarationNameExtra::CXXConstructor, clang::DeclarationName::CXXConstructorName, clang::DeclarationNameExtra::CXXConversionFunction, clang::DeclarationName::CXXConversionFunctionName, clang::DeclarationNameExtra::CXXDestructor, clang::DeclarationName::CXXDestructorName, clang::CanQual< T >::getAsOpaquePtr(), and clang::CanQual< T >::hasQualifiers().
Referenced by getCXXConstructorName(), getCXXConversionFunctionName(), and getCXXDestructorName().
|
inline |
getIdentifier - Create a declaration name that is a simple identifier.
Definition at line 376 of file DeclarationName.h.
References clang::DeclarationName::DeclarationName().
|
delete |