clang API Documentation

Public Member Functions
clang::MangleContext Class Reference

#include <Mangle.h>

List of all members.

Public Member Functions

 MangleContext (ASTContext &Context, DiagnosticsEngine &Diags)
virtual ~MangleContext ()
ASTContextgetASTContext () const
DiagnosticsEnginegetDiags () const
virtual void startNewFunction ()
unsigned getBlockId (const BlockDecl *BD, bool Local)
Mangler Entry Points
virtual bool shouldMangleDeclName (const NamedDecl *D)=0
virtual void mangleName (const NamedDecl *D, raw_ostream &)=0
virtual void mangleThunk (const CXXMethodDecl *MD, const ThunkInfo &Thunk, raw_ostream &)=0
virtual void mangleCXXDtorThunk (const CXXDestructorDecl *DD, CXXDtorType Type, const ThisAdjustment &ThisAdjustment, raw_ostream &)=0
virtual void mangleReferenceTemporary (const VarDecl *D, raw_ostream &)=0
virtual void mangleCXXVTable (const CXXRecordDecl *RD, raw_ostream &)=0
virtual void mangleCXXVTT (const CXXRecordDecl *RD, raw_ostream &)=0
virtual void mangleCXXCtorVTable (const CXXRecordDecl *RD, int64_t Offset, const CXXRecordDecl *Type, raw_ostream &)=0
virtual void mangleCXXRTTI (QualType T, raw_ostream &)=0
virtual void mangleCXXRTTIName (QualType T, raw_ostream &)=0
virtual void mangleCXXCtor (const CXXConstructorDecl *D, CXXCtorType Type, raw_ostream &)=0
virtual void mangleCXXDtor (const CXXDestructorDecl *D, CXXDtorType Type, raw_ostream &)=0
void mangleGlobalBlock (const BlockDecl *BD, raw_ostream &Out)
void mangleCtorBlock (const CXXConstructorDecl *CD, CXXCtorType CT, const BlockDecl *BD, raw_ostream &Out)
void mangleDtorBlock (const CXXDestructorDecl *CD, CXXDtorType DT, const BlockDecl *BD, raw_ostream &Out)
void mangleBlock (const DeclContext *DC, const BlockDecl *BD, raw_ostream &Out)
void mangleBlock (const BlockDecl *BD, raw_ostream &Out)
void mangleObjCMethodName (const ObjCMethodDecl *MD, raw_ostream &)
virtual void mangleItaniumGuardVariable (const VarDecl *D, raw_ostream &)

Detailed Description

MangleContext - Context for tracking state which persists across multiple calls to the C++ name mangler.

Definition at line 66 of file Mangle.h.


Constructor & Destructor Documentation

clang::MangleContext::MangleContext ( ASTContext Context,
DiagnosticsEngine Diags 
) [inline, explicit]

Definition at line 76 of file Mangle.h.

virtual clang::MangleContext::~MangleContext ( ) [inline, virtual]

Definition at line 80 of file Mangle.h.


Member Function Documentation

ASTContext& clang::MangleContext::getASTContext ( ) const [inline]

Definition at line 82 of file Mangle.h.

unsigned clang::MangleContext::getBlockId ( const BlockDecl BD,
bool  Local 
) [inline]

Definition at line 88 of file Mangle.h.

Referenced by mangleGlobalBlock().

DiagnosticsEngine& clang::MangleContext::getDiags ( ) const [inline]

Definition at line 84 of file Mangle.h.

void MangleContext::mangleBlock ( const DeclContext DC,
const BlockDecl BD,
raw_ostream &  Out 
)
void MangleContext::mangleBlock ( const BlockDecl BD,
raw_ostream &  Out 
)
void MangleContext::mangleCtorBlock ( const CXXConstructorDecl CD,
CXXCtorType  CT,
const BlockDecl BD,
raw_ostream &  Out 
)

Definition at line 69 of file Mangle.cpp.

References mangleCXXCtor().

Referenced by clang::CodeGen::CodeGenModule::getBlockMangledName().

virtual void clang::MangleContext::mangleCXXCtor ( const CXXConstructorDecl D,
CXXCtorType  Type,
raw_ostream &   
) [pure virtual]
virtual void clang::MangleContext::mangleCXXCtorVTable ( const CXXRecordDecl RD,
int64_t  Offset,
const CXXRecordDecl Type,
raw_ostream &   
) [pure virtual]
virtual void clang::MangleContext::mangleCXXDtor ( const CXXDestructorDecl D,
CXXDtorType  Type,
raw_ostream &   
) [pure virtual]
virtual void clang::MangleContext::mangleCXXDtorThunk ( const CXXDestructorDecl DD,
CXXDtorType  Type,
const ThisAdjustment ThisAdjustment,
raw_ostream &   
) [pure virtual]
virtual void clang::MangleContext::mangleCXXRTTI ( QualType  T,
raw_ostream &   
) [pure virtual]
virtual void clang::MangleContext::mangleCXXRTTIName ( QualType  T,
raw_ostream &   
) [pure virtual]
virtual void clang::MangleContext::mangleCXXVTable ( const CXXRecordDecl RD,
raw_ostream &   
) [pure virtual]
virtual void clang::MangleContext::mangleCXXVTT ( const CXXRecordDecl RD,
raw_ostream &   
) [pure virtual]
void MangleContext::mangleDtorBlock ( const CXXDestructorDecl CD,
CXXDtorType  DT,
const BlockDecl BD,
raw_ostream &  Out 
)

Definition at line 80 of file Mangle.cpp.

References mangleCXXDtor().

Referenced by clang::CodeGen::CodeGenModule::getBlockMangledName().

void MangleContext::mangleGlobalBlock ( const BlockDecl BD,
raw_ostream &  Out 
)

Definition at line 64 of file Mangle.cpp.

References getBlockId().

Referenced by clang::CodeGen::CodeGenModule::getBlockMangledName(), and mangleBlock().

virtual void clang::MangleContext::mangleItaniumGuardVariable ( const VarDecl D,
raw_ostream &   
) [inline, virtual]

Definition at line 138 of file Mangle.h.

virtual void clang::MangleContext::mangleName ( const NamedDecl D,
raw_ostream &   
) [pure virtual]
void MangleContext::mangleObjCMethodName ( const ObjCMethodDecl MD,
raw_ostream &  Out 
)
virtual void clang::MangleContext::mangleReferenceTemporary ( const VarDecl D,
raw_ostream &   
) [pure virtual]
virtual void clang::MangleContext::mangleThunk ( const CXXMethodDecl MD,
const ThunkInfo Thunk,
raw_ostream &   
) [pure virtual]
virtual bool clang::MangleContext::shouldMangleDeclName ( const NamedDecl D) [pure virtual]
virtual void clang::MangleContext::startNewFunction ( ) [inline, virtual]

Definition at line 86 of file Mangle.h.

Referenced by clang::CodeGen::CodeGenFunction::CodeGenFunction().


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