clang  6.0.0svn
Public Member Functions | Static Public Member Functions | List of all members
clang::ItaniumMangleContext Class Referenceabstract

#include "clang/AST/Mangle.h"

Inheritance diagram for clang::ItaniumMangleContext:
Inheritance graph
Collaboration diagram for clang::ItaniumMangleContext:
Collaboration graph

Public Member Functions

 ItaniumMangleContext (ASTContext &C, DiagnosticsEngine &D)
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 mangleItaniumThreadLocalInit (const VarDecl *D, raw_ostream &)=0
virtual void mangleItaniumThreadLocalWrapper (const VarDecl *D, raw_ostream &)=0
virtual void mangleCXXCtorComdat (const CXXConstructorDecl *D, raw_ostream &)=0
virtual void mangleCXXDtorComdat (const CXXDestructorDecl *D, raw_ostream &)=0
- Public Member Functions inherited from clang::MangleContext
ManglerKind getKind () const
 MangleContext (ASTContext &Context, DiagnosticsEngine &Diags, ManglerKind Kind)
virtual ~MangleContext ()
ASTContextgetASTContext () const
DiagnosticsEnginegetDiags () const
virtual void startNewFunction ()
unsigned getBlockId (const BlockDecl *BD, bool Local)
uint64_t getAnonymousStructId (const TagDecl *TD)
bool shouldMangleDeclName (const NamedDecl *D)
virtual bool shouldMangleCXXName (const NamedDecl *D)=0
virtual bool shouldMangleStringLiteral (const StringLiteral *SL)=0
void mangleName (const NamedDecl *D, raw_ostream &)
virtual void mangleCXXName (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, unsigned ManglingNumber, 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
virtual void mangleStringLiteral (const StringLiteral *SL, raw_ostream &)=0
void mangleGlobalBlock (const BlockDecl *BD, const NamedDecl *ID, 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 mangleObjCMethodNameWithoutSize (const ObjCMethodDecl *MD, raw_ostream &)
void mangleObjCMethodName (const ObjCMethodDecl *MD, raw_ostream &)
virtual void mangleStaticGuardVariable (const VarDecl *D, raw_ostream &)=0
virtual void mangleDynamicInitializer (const VarDecl *D, raw_ostream &)=0
virtual void mangleDynamicAtExitDestructor (const VarDecl *D, raw_ostream &)=0
virtual void mangleSEHFilterExpression (const NamedDecl *EnclosingDecl, raw_ostream &Out)=0
virtual void mangleSEHFinallyBlock (const NamedDecl *EnclosingDecl, raw_ostream &Out)=0
virtual void mangleTypeName (QualType T, raw_ostream &)=0
 Generates a unique string for an externally visible type for use with TBAA or type uniquing. More...

Static Public Member Functions

static bool classof (const MangleContext *C)
static ItaniumMangleContextcreate (ASTContext &Context, DiagnosticsEngine &Diags)

Additional Inherited Members

- Public Types inherited from clang::MangleContext
enum  ManglerKind { MK_Itanium, MK_Microsoft }

Detailed Description

Definition at line 152 of file Mangle.h.

Constructor & Destructor Documentation

◆ ItaniumMangleContext()

clang::ItaniumMangleContext::ItaniumMangleContext ( ASTContext C,
DiagnosticsEngine D 

Definition at line 154 of file Mangle.h.

Member Function Documentation

◆ classof()

static bool clang::ItaniumMangleContext::classof ( const MangleContext C)

Definition at line 172 of file Mangle.h.

References clang::serialized_diags::create(), and clang::MangleContext::getKind().

◆ create()

ItaniumMangleContext * ItaniumMangleContext::create ( ASTContext Context,
DiagnosticsEngine Diags 

Definition at line 4945 of file ItaniumMangle.cpp.

Referenced by clang::ASTContext::createMangleContext().

◆ mangleCXXCtorComdat()

virtual void clang::ItaniumMangleContext::mangleCXXCtorComdat ( const CXXConstructorDecl D,
raw_ostream &   
pure virtual

◆ mangleCXXCtorVTable()

virtual void clang::ItaniumMangleContext::mangleCXXCtorVTable ( const CXXRecordDecl RD,
int64_t  Offset,
const CXXRecordDecl Type,
raw_ostream &   
pure virtual

◆ mangleCXXDtorComdat()

virtual void clang::ItaniumMangleContext::mangleCXXDtorComdat ( const CXXDestructorDecl D,
raw_ostream &   
pure virtual

◆ mangleCXXVTable()

virtual void clang::ItaniumMangleContext::mangleCXXVTable ( const CXXRecordDecl RD,
raw_ostream &   
pure virtual

◆ mangleCXXVTT()

virtual void clang::ItaniumMangleContext::mangleCXXVTT ( const CXXRecordDecl RD,
raw_ostream &   
pure virtual

◆ mangleItaniumThreadLocalInit()

virtual void clang::ItaniumMangleContext::mangleItaniumThreadLocalInit ( const VarDecl D,
raw_ostream &   
pure virtual

◆ mangleItaniumThreadLocalWrapper()

virtual void clang::ItaniumMangleContext::mangleItaniumThreadLocalWrapper ( const VarDecl D,
raw_ostream &   
pure virtual

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