clang  15.0.0git
Classes | Public Member Functions | Static Public Member Functions | List of all members
clang::DeclarationNameLoc Class Reference

DeclarationNameLoc - Additional source/type location info for a declaration name. More...

#include "clang/AST/DeclarationName.h"

Collaboration diagram for clang::DeclarationNameLoc:
Collaboration graph
[legend]

Public Member Functions

 DeclarationNameLoc (DeclarationName Name)
 
 DeclarationNameLoc ()
 
TypeSourceInfogetNamedTypeInfo () const
 Returns the source type info. More...
 
SourceLocation getCXXOperatorNameBeginLoc () const
 Return the beginning location of the getCXXOperatorNameRange() range. More...
 
SourceLocation getCXXOperatorNameEndLoc () const
 Return the end location of the getCXXOperatorNameRange() range. More...
 
SourceRange getCXXOperatorNameRange () const
 Return the range of the operator name (without the operator keyword). More...
 
SourceLocation getCXXLiteralOperatorNameLoc () const
 Return the location of the literal operator name (without the operator keyword). More...
 

Static Public Member Functions

static DeclarationNameLoc makeNamedTypeLoc (TypeSourceInfo *TInfo)
 Construct location information for a constructor, destructor or conversion operator. More...
 
static DeclarationNameLoc makeCXXOperatorNameLoc (SourceLocation BeginLoc, SourceLocation EndLoc)
 Construct location information for a non-literal C++ operator. More...
 
static DeclarationNameLoc makeCXXOperatorNameLoc (SourceRange Range)
 Construct location information for a non-literal C++ operator. More...
 
static DeclarationNameLoc makeCXXLiteralOperatorNameLoc (SourceLocation Loc)
 Construct location information for a literal C++ operator. More...
 

Detailed Description

DeclarationNameLoc - Additional source/type location info for a declaration name.

Needs a DeclarationName in order to be interpreted correctly.

Definition at line 659 of file DeclarationName.h.

Constructor & Destructor Documentation

◆ DeclarationNameLoc() [1/2]

DeclarationNameLoc::DeclarationNameLoc ( DeclarationName  Name)

Definition at line 387 of file DeclarationName.cpp.

◆ DeclarationNameLoc() [2/2]

clang::DeclarationNameLoc::DeclarationNameLoc ( )
inline

Definition at line 705 of file DeclarationName.h.

References memset().

Member Function Documentation

◆ getCXXLiteralOperatorNameLoc()

SourceLocation clang::DeclarationNameLoc::getCXXLiteralOperatorNameLoc ( ) const
inline

Return the location of the literal operator name (without the operator keyword).

Assumes that the object stores location information of a literal operator.

Definition at line 732 of file DeclarationName.h.

References clang::SourceLocation::getFromRawEncoding().

◆ getCXXOperatorNameBeginLoc()

SourceLocation clang::DeclarationNameLoc::getCXXOperatorNameBeginLoc ( ) const
inline

Return the beginning location of the getCXXOperatorNameRange() range.

Definition at line 712 of file DeclarationName.h.

References clang::SourceLocation::getFromRawEncoding().

Referenced by clang::TreeTransform< Derived >::RebuildCXXOperatorCallExpr().

◆ getCXXOperatorNameEndLoc()

SourceLocation clang::DeclarationNameLoc::getCXXOperatorNameEndLoc ( ) const
inline

◆ getCXXOperatorNameRange()

SourceRange clang::DeclarationNameLoc::getCXXOperatorNameRange ( ) const
inline

Return the range of the operator name (without the operator keyword).

Assumes that the object stores location information of a (non-literal) operator.

Definition at line 724 of file DeclarationName.h.

◆ getNamedTypeInfo()

TypeSourceInfo* clang::DeclarationNameLoc::getNamedTypeInfo ( ) const
inline

Returns the source type info.

Assumes that the object stores location information of a constructor, destructor or conversion operator.

Definition at line 709 of file DeclarationName.h.

Referenced by clang::DeclarationNameInfo::containsUnexpandedParameterPack(), clang::DeclarationNameInfo::isInstantiationDependent(), and clang::DeclarationNameInfo::printName().

◆ makeCXXLiteralOperatorNameLoc()

static DeclarationNameLoc clang::DeclarationNameLoc::makeCXXLiteralOperatorNameLoc ( SourceLocation  Loc)
inlinestatic

Construct location information for a literal C++ operator.

Definition at line 758 of file DeclarationName.h.

◆ makeCXXOperatorNameLoc() [1/2]

static DeclarationNameLoc clang::DeclarationNameLoc::makeCXXOperatorNameLoc ( SourceLocation  BeginLoc,
SourceLocation  EndLoc 
)
inlinestatic

Construct location information for a non-literal C++ operator.

Definition at line 745 of file DeclarationName.h.

Referenced by clang::Sema::startLambdaDefinition().

◆ makeCXXOperatorNameLoc() [2/2]

static DeclarationNameLoc clang::DeclarationNameLoc::makeCXXOperatorNameLoc ( SourceRange  Range)
inlinestatic

Construct location information for a non-literal C++ operator.

Definition at line 751 of file DeclarationName.h.

◆ makeNamedTypeLoc()

static DeclarationNameLoc clang::DeclarationNameLoc::makeNamedTypeLoc ( TypeSourceInfo TInfo)
inlinestatic

Construct location information for a constructor, destructor or conversion operator.

Definition at line 738 of file DeclarationName.h.

Member Data Documentation

◆ CXXLiteralOperatorName

struct CXXLitOpName clang::DeclarationNameLoc::CXXLiteralOperatorName

Definition at line 688 of file DeclarationName.h.

◆ CXXOperatorName

struct CXXOpName clang::DeclarationNameLoc::CXXOperatorName

Definition at line 687 of file DeclarationName.h.

◆ NamedType

struct NT clang::DeclarationNameLoc::NamedType

Definition at line 686 of file DeclarationName.h.


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