clang 20.0.0git
Public Member Functions | List of all members
clang::MangleNumberingContext Class Referenceabstract

Keeps track of the mangled names of lambda expressions and block literals within a particular context. More...

#include "clang/AST/MangleNumberingContext.h"

Public Member Functions

virtual ~MangleNumberingContext ()
 
virtual unsigned getManglingNumber (const CXXMethodDecl *CallOperator)=0
 Retrieve the mangling number of a new lambda expression with the given call operator within this context.
 
virtual unsigned getManglingNumber (const BlockDecl *BD)=0
 Retrieve the mangling number of a new block literal within this context.
 
virtual unsigned getStaticLocalNumber (const VarDecl *VD)=0
 Static locals are numbered by source order.
 
virtual unsigned getManglingNumber (const VarDecl *VD, unsigned MSLocalManglingNumber)=0
 Retrieve the mangling number of a static local variable within this context.
 
virtual unsigned getManglingNumber (const TagDecl *TD, unsigned MSLocalManglingNumber)=0
 Retrieve the mangling number of a static local variable within this context.
 
virtual unsigned getDeviceManglingNumber (const CXXMethodDecl *)
 Retrieve the mangling number of a new lambda expression with the given call operator within the device context.
 
unsigned getNextLambdaIndex ()
 

Detailed Description

Keeps track of the mangled names of lambda expressions and block literals within a particular context.

Definition at line 29 of file MangleNumberingContext.h.

Constructor & Destructor Documentation

◆ ~MangleNumberingContext()

virtual clang::MangleNumberingContext::~MangleNumberingContext ( )
inlinevirtual

Definition at line 34 of file MangleNumberingContext.h.

Member Function Documentation

◆ getDeviceManglingNumber()

virtual unsigned clang::MangleNumberingContext::getDeviceManglingNumber ( const CXXMethodDecl )
inlinevirtual

Retrieve the mangling number of a new lambda expression with the given call operator within the device context.

No device number is assigned if there's no device numbering context is associated.

Definition at line 60 of file MangleNumberingContext.h.

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

◆ getManglingNumber() [1/4]

virtual unsigned clang::MangleNumberingContext::getManglingNumber ( const BlockDecl BD)
pure virtual

Retrieve the mangling number of a new block literal within this context.

◆ getManglingNumber() [2/4]

virtual unsigned clang::MangleNumberingContext::getManglingNumber ( const CXXMethodDecl CallOperator)
pure virtual

Retrieve the mangling number of a new lambda expression with the given call operator within this context.

Referenced by clang::Sema::ActOnBlockStart(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::handleLambdaNumbering(), and clang::Sema::handleTagNumbering().

◆ getManglingNumber() [3/4]

virtual unsigned clang::MangleNumberingContext::getManglingNumber ( const TagDecl TD,
unsigned  MSLocalManglingNumber 
)
pure virtual

Retrieve the mangling number of a static local variable within this context.

◆ getManglingNumber() [4/4]

virtual unsigned clang::MangleNumberingContext::getManglingNumber ( const VarDecl VD,
unsigned  MSLocalManglingNumber 
)
pure virtual

Retrieve the mangling number of a static local variable within this context.

◆ getNextLambdaIndex()

unsigned clang::MangleNumberingContext::getNextLambdaIndex ( )
inline

Definition at line 65 of file MangleNumberingContext.h.

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

◆ getStaticLocalNumber()

virtual unsigned clang::MangleNumberingContext::getStaticLocalNumber ( const VarDecl VD)
pure virtual

Static locals are numbered by source order.

Referenced by clang::Sema::ActOnVariableDeclarator(), and clang::Sema::BuildAnonymousStructOrUnion().


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