clang  6.0.0svn
Public Member Functions | List of all members
clang::DeclarationNameTable Class Reference

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 ()
 
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...
 

Detailed Description

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 345 of file DeclarationName.h.

Constructor & Destructor Documentation

◆ DeclarationNameTable()

DeclarationNameTable::DeclarationNameTable ( const ASTContext C)

◆ ~DeclarationNameTable()

DeclarationNameTable::~DeclarationNameTable ( )

Definition at line 433 of file DeclarationName.cpp.

Member Function Documentation

◆ getCXXConstructorName()

DeclarationName DeclarationNameTable::getCXXConstructorName ( CanQualType  Ty)

getCXXConstructorName - Returns the name of a C++ constructor for the given Type.

Definition at line 448 of file DeclarationName.cpp.

References clang::DeclarationName::CXXConstructorName, getCXXSpecialName(), and clang::CanQual< T >::getUnqualifiedType().

Referenced by clang::ASTImporter::Import().

◆ getCXXConversionFunctionName()

DeclarationName DeclarationNameTable::getCXXConversionFunctionName ( CanQualType  Ty)

getCXXConversionFunctionName - Returns the name of a C++ conversion function for the given Type.

Definition at line 483 of file DeclarationName.cpp.

References clang::DeclarationName::CXXConversionFunctionName, and getCXXSpecialName().

Referenced by clang::ASTImporter::Import().

◆ getCXXDeductionGuideName()

DeclarationName DeclarationNameTable::getCXXDeductionGuideName ( TemplateDecl TD)

Returns the name of a C++ deduction guide for the given template.

Definition at line 459 of file DeclarationName.cpp.

References clang::Decl::getCanonicalDecl().

Referenced by clang::Sema::DeduceTemplateSpecializationFromInitializer(), and clang::ASTImporter::Import().

◆ getCXXDestructorName()

DeclarationName DeclarationNameTable::getCXXDestructorName ( CanQualType  Ty)

getCXXDestructorName - Returns the name of a C++ destructor for the given Type.

Definition at line 453 of file DeclarationName.cpp.

References clang::DeclarationName::CXXDestructorName, getCXXSpecialName(), and clang::CanQual< T >::getUnqualifiedType().

Referenced by clang::ASTImporter::Import().

◆ getCXXLiteralOperatorName()

DeclarationName DeclarationNameTable::getCXXLiteralOperatorName ( IdentifierInfo II)

getCXXLiteralOperatorName - Get the name of the literal operator function with II as the identifier.

Definition at line 537 of file DeclarationName.cpp.

Referenced by BuildCookedLiteralOperatorCall(), and clang::ASTImporter::Import().

◆ getCXXOperatorName()

DeclarationName DeclarationNameTable::getCXXOperatorName ( OverloadedOperatorKind  Op)

getCXXOperatorName - Get the name of the overloadable C++ operator corresponding to Op.

Definition at line 532 of file DeclarationName.cpp.

Referenced by clang::Sema::ActOnCXXDelete(), clang::Sema::DeclareGlobalNewDelete(), DiagnoseTwoPhaseOperatorLookup(), doesUsualArrayDeleteWantSize(), clang::ASTImporter::Import(), and resolveAllocationOverload().

◆ getCXXSpecialName()

DeclarationName DeclarationNameTable::getCXXSpecialName ( DeclarationName::NameKind  Kind,
CanQualType  Ty 
)

◆ getIdentifier()

DeclarationName clang::DeclarationNameTable::getIdentifier ( const IdentifierInfo ID)
inline

getIdentifier - Create a declaration name that is a simple identifier.

Definition at line 361 of file DeclarationName.h.


The documentation for this class was generated from the following files: