clang  14.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 650 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 696 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 723 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 703 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 715 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 700 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 749 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 736 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 742 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 729 of file DeclarationName.h.

Member Data Documentation

◆ CXXLiteralOperatorName

struct CXXLitOpName clang::DeclarationNameLoc::CXXLiteralOperatorName

Definition at line 679 of file DeclarationName.h.

◆ CXXOperatorName

struct CXXOpName clang::DeclarationNameLoc::CXXOperatorName

Definition at line 678 of file DeclarationName.h.

◆ NamedType

struct NT clang::DeclarationNameLoc::NamedType

Definition at line 677 of file DeclarationName.h.


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