clang API Documentation
#include <DeclarationName.h>
Public Member Functions | |
| DeclarationNameTable (const ASTContext &C) | |
| ~DeclarationNameTable () | |
| DeclarationName | getIdentifier (const IdentifierInfo *ID) |
| DeclarationName | getCXXConstructorName (CanQualType Ty) |
| DeclarationName | getCXXDestructorName (CanQualType Ty) |
| DeclarationName | getCXXConversionFunctionName (CanQualType Ty) |
| DeclarationName | getCXXSpecialName (DeclarationName::NameKind Kind, CanQualType Ty) |
| DeclarationName | getCXXOperatorName (OverloadedOperatorKind Op) |
| DeclarationName | getCXXLiteralOperatorName (IdentifierInfo *II) |
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 317 of file DeclarationName.h.
| DeclarationNameTable::DeclarationNameTable | ( | const ASTContext & | C | ) |
Definition at line 384 of file DeclarationName.cpp.
References clang::DeclarationNameExtra::CXXConversionFunction, clang::DeclarationNameExtra::ExtraKindOrNumArgs, and clang::CXXOperatorIdName::FETokenInfo.
| DeclarationNameTable::~DeclarationNameTable | ( | ) |
Definition at line 397 of file DeclarationName.cpp.
| DeclarationName clang::DeclarationNameTable::getCXXConstructorName | ( | CanQualType | Ty | ) | [inline] |
getCXXConstructorName - Returns the name of a C++ constructor for the given Type.
Definition at line 338 of file DeclarationName.h.
References clang::DeclarationName::CXXConstructorName, getCXXSpecialName(), and clang::CanQual< T >::getUnqualifiedType().
Referenced by clang::Sema::DeclareImplicitCopyConstructor(), clang::Sema::DeclareImplicitDefaultConstructor(), clang::Sema::DeclareImplicitMoveConstructor(), clang::Sema::DeclareInheritedConstructors(), clang::CXXRecordDecl::getCopyConstructor(), getDefaultedDefaultConstructorUnsafe(), clang::serialization::reader::ASTDeclContextNameLookupTrait::GetExternalKey(), clang::ASTImporter::Import(), and clang::ASTReader::ReadDeclarationName().
| DeclarationName clang::DeclarationNameTable::getCXXConversionFunctionName | ( | CanQualType | Ty | ) | [inline] |
getCXXConversionFunctionName - Returns the name of a C++ conversion function for the given Type.
Definition at line 352 of file DeclarationName.h.
References clang::DeclarationName::CXXConversionFunctionName, and getCXXSpecialName().
Referenced by clang::serialization::reader::ASTDeclContextNameLookupTrait::GetExternalKey(), clang::ASTImporter::Import(), and clang::ASTReader::ReadDeclarationName().
| DeclarationName clang::DeclarationNameTable::getCXXDestructorName | ( | CanQualType | Ty | ) | [inline] |
getCXXDestructorName - Returns the name of a C++ destructor for the given Type.
Definition at line 345 of file DeclarationName.h.
References clang::DeclarationName::CXXDestructorName, getCXXSpecialName(), and clang::CanQual< T >::getUnqualifiedType().
Referenced by clang::Sema::DeclareImplicitDestructor(), FindOverriddenMethod(), clang::CXXRecordDecl::getDestructor(), clang::serialization::reader::ASTDeclContextNameLookupTrait::GetExternalKey(), clang::ASTImporter::Import(), and clang::ASTReader::ReadDeclarationName().
| DeclarationName DeclarationNameTable::getCXXLiteralOperatorName | ( | IdentifierInfo * | II | ) |
getCXXLiteralOperatorName - Get the name of the literal operator function with II as the identifier.
Definition at line 458 of file DeclarationName.cpp.
References clang::DeclarationNameExtra::ExtraKindOrNumArgs, and clang::CXXLiteralOperatorIdName::ID.
Referenced by clang::serialization::reader::ASTDeclContextNameLookupTrait::GetExternalKey(), clang::ASTImporter::Import(), and clang::ASTReader::ReadDeclarationName().
| DeclarationName DeclarationNameTable::getCXXOperatorName | ( | OverloadedOperatorKind | Op | ) |
getCXXOperatorName - Get the name of the overloadable C++ operator corresponding to Op.
Definition at line 453 of file DeclarationName.cpp.
Referenced by BuildSingleCopyAssign(), clang::Sema::CheckDestructor(), clang::Sema::DeclareImplicitCopyAssignment(), clang::Sema::DeclareImplicitMoveAssignment(), clang::DiagnoseTwoPhaseOperatorLookup(), doesUsualArrayDeleteWantSize(), clang::LambdaExpr::getCallOperator(), clang::CXXRecordDecl::getCopyAssignmentOperator(), clang::serialization::reader::ASTDeclContextNameLookupTrait::GetExternalKey(), clang::ASTContext::getNameForTemplate(), clang::ASTImporter::Import(), clang::ASTReader::ReadDeclarationName(), and clang::Sema::ShouldDeleteDestructor().
| 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 409 of file DeclarationName.cpp.
References clang::DeclarationNameExtra::CXXConstructor, clang::DeclarationName::CXXConstructorName, clang::DeclarationNameExtra::CXXConversionFunction, clang::DeclarationName::CXXConversionFunctionName, clang::DeclarationNameExtra::CXXDestructor, clang::DeclarationName::CXXDestructorName, clang::DeclarationNameExtra::ExtraKindOrNumArgs, clang::CXXSpecialName::FETokenInfo, clang::CanQual< T >::getAsOpaquePtr(), clang::CanQual< T >::hasQualifiers(), and clang::CXXSpecialName::Type.
Referenced by getCXXConstructorName(), getCXXConversionFunctionName(), and getCXXDestructorName().
| DeclarationName clang::DeclarationNameTable::getIdentifier | ( | const IdentifierInfo * | ID | ) | [inline] |
getIdentifier - Create a declaration name that is a simple identifier.
Definition at line 332 of file DeclarationName.h.
Referenced by clang::ASTContext::getNameForTemplate().