class MicrosoftMangleContext
Declaration
class MicrosoftMangleContext : public MangleContext { /* full declaration omitted */ };
Description
MangleContext - Context for tracking state which persists across multiple calls to the C++ name mangler.
Declared at: clang/include/clang/AST/Mangle.h:219
Inherits from: MangleContext
Member Variables
Method Overview
- public MicrosoftMangleContext(clang::ASTContext & C, clang::DiagnosticsEngine & D, bool IsAux = false)
- public static bool classof(const clang::MangleContext * C)
- public static clang::MicrosoftMangleContext * create(clang::ASTContext & Context, clang::DiagnosticsEngine & Diags, bool IsAux = false)
- public virtual void mangleCXXCatchableType(clang::QualType T, const clang::CXXConstructorDecl * CD, clang::CXXCtorType CT, uint32_t Size, uint32_t NVOffset, int32_t VBPtrOffset, uint32_t VBIndex, llvm::raw_ostream & Out)
- public virtual void mangleCXXCatchableTypeArray(clang::QualType T, uint32_t NumEntries, llvm::raw_ostream & Out)
- public virtual void mangleCXXRTTIBaseClassArray(const clang::CXXRecordDecl * Derived, llvm::raw_ostream & Out)
- public virtual void mangleCXXRTTIBaseClassDescriptor(const clang::CXXRecordDecl * Derived, uint32_t NVOffset, int32_t VBPtrOffset, uint32_t VBTableOffset, uint32_t Flags, llvm::raw_ostream & Out)
- public virtual void mangleCXXRTTIClassHierarchyDescriptor(const clang::CXXRecordDecl * Derived, llvm::raw_ostream & Out)
- public virtual void mangleCXXRTTICompleteObjectLocator(const clang::CXXRecordDecl * Derived, ArrayRef<const clang::CXXRecordDecl *> BasePath, llvm::raw_ostream & Out)
- public virtual void mangleCXXThrowInfo(clang::QualType T, bool IsConst, bool IsVolatile, bool IsUnaligned, uint32_t NumEntries, llvm::raw_ostream & Out)
- public virtual void mangleCXXVBTable(const clang::CXXRecordDecl * Derived, ArrayRef<const clang::CXXRecordDecl *> BasePath, llvm::raw_ostream & Out)
- public virtual void mangleCXXVFTable(const clang::CXXRecordDecl * Derived, ArrayRef<const clang::CXXRecordDecl *> BasePath, llvm::raw_ostream & Out)
- public virtual void mangleCXXVirtualDisplacementMap(const clang::CXXRecordDecl * SrcRD, const clang::CXXRecordDecl * DstRD, llvm::raw_ostream & Out)
- public virtual void mangleThreadSafeStaticGuardVariable(const clang::VarDecl * VD, unsigned int GuardNum, llvm::raw_ostream & Out)
- public virtual void mangleVirtualMemPtrThunk(const clang::CXXMethodDecl * MD, const clang::MethodVFTableLocation & ML, llvm::raw_ostream & Out)
Inherited from MangleContext:
- public getASTContext
- public getAnonymousStructId
- public getAnonymousStructIdForDebugInfo
- public getBlockId
- public getDiags
- public getKind
- public getLambdaString
- public isAux
- public isUniqueInternalLinkageDecl
- public mangleBlock
- public mangleCXXDtorThunk
- public mangleCXXName
- public mangleCXXRTTI
- public mangleCXXRTTIName
- public mangleCtorBlock
- public mangleDtorBlock
- public mangleDynamicAtExitDestructor
- public mangleDynamicInitializer
- public mangleGlobalBlock
- public mangleMSGuidDecl
- public mangleName
- public mangleObjCMethodName
- public mangleObjCMethodNameAsSourceName
- public mangleReferenceTemporary
- public mangleSEHFilterExpression
- public mangleSEHFinallyBlock
- public mangleStaticGuardVariable
- public mangleStringLiteral
- public mangleThunk
- public mangleTypeName
- public needsUniqueInternalLinkageNames
- public shouldMangleCXXName
- public shouldMangleDeclName
- public shouldMangleStringLiteral
- public startNewFunction
Methods
¶MicrosoftMangleContext(
clang::ASTContext& C,
clang::DiagnosticsEngine& D,
bool IsAux = false)
MicrosoftMangleContext(
clang::ASTContext& C,
clang::DiagnosticsEngine& D,
bool IsAux = false)
Declared at: clang/include/clang/AST/Mangle.h:221
Parameters
- clang::ASTContext& C
- clang::DiagnosticsEngine& D
- bool IsAux = false
¶static bool classof(const clang::MangleContext* C)
static bool classof(const clang::MangleContext* C)
Declared at: clang/include/clang/AST/Mangle.h:278
Parameters
- const clang::MangleContext* C
¶static clang::MicrosoftMangleContext* create(
clang::ASTContext& Context,
clang::DiagnosticsEngine& Diags,
bool IsAux = false)
static clang::MicrosoftMangleContext* create(
clang::ASTContext& Context,
clang::DiagnosticsEngine& Diags,
bool IsAux = false)
Declared at: clang/include/clang/AST/Mangle.h:283
Parameters
- clang::ASTContext& Context
- clang::DiagnosticsEngine& Diags
- bool IsAux = false
¶virtual void mangleCXXCatchableType(
clang::QualType T,
const clang::CXXConstructorDecl* CD,
clang::CXXCtorType CT,
uint32_t Size,
uint32_t NVOffset,
int32_t VBPtrOffset,
uint32_t VBIndex,
llvm::raw_ostream& Out)
virtual void mangleCXXCatchableType(
clang::QualType T,
const clang::CXXConstructorDecl* CD,
clang::CXXCtorType CT,
uint32_t Size,
uint32_t NVOffset,
int32_t VBPtrOffset,
uint32_t VBIndex,
llvm::raw_ostream& Out)
Declared at: clang/include/clang/AST/Mangle.h:258
Parameters
- clang::QualType T
- const clang::CXXConstructorDecl* CD
- clang::CXXCtorType CT
- uint32_t Size
- uint32_t NVOffset
- int32_t VBPtrOffset
- uint32_t VBIndex
- llvm::raw_ostream& Out
¶virtual void mangleCXXCatchableTypeArray(
clang::QualType T,
uint32_t NumEntries,
llvm::raw_ostream& Out)
virtual void mangleCXXCatchableTypeArray(
clang::QualType T,
uint32_t NumEntries,
llvm::raw_ostream& Out)
Declared at: clang/include/clang/AST/Mangle.h:255
Parameters
- clang::QualType T
- uint32_t NumEntries
- llvm::raw_ostream& Out
¶virtual void mangleCXXRTTIBaseClassArray(
const clang::CXXRecordDecl* Derived,
llvm::raw_ostream& Out)
virtual void mangleCXXRTTIBaseClassArray(
const clang::CXXRecordDecl* Derived,
llvm::raw_ostream& Out)
Declared at: clang/include/clang/AST/Mangle.h:267
Parameters
- const clang::CXXRecordDecl* Derived
- llvm::raw_ostream& Out
¶virtual void mangleCXXRTTIBaseClassDescriptor(
const clang::CXXRecordDecl* Derived,
uint32_t NVOffset,
int32_t VBPtrOffset,
uint32_t VBTableOffset,
uint32_t Flags,
llvm::raw_ostream& Out)
virtual void mangleCXXRTTIBaseClassDescriptor(
const clang::CXXRecordDecl* Derived,
uint32_t NVOffset,
int32_t VBPtrOffset,
uint32_t VBTableOffset,
uint32_t Flags,
llvm::raw_ostream& Out)
Declared at: clang/include/clang/AST/Mangle.h:263
Parameters
- const clang::CXXRecordDecl* Derived
- uint32_t NVOffset
- int32_t VBPtrOffset
- uint32_t VBTableOffset
- uint32_t Flags
- llvm::raw_ostream& Out
¶virtual void
mangleCXXRTTIClassHierarchyDescriptor(
const clang::CXXRecordDecl* Derived,
llvm::raw_ostream& Out)
virtual void
mangleCXXRTTIClassHierarchyDescriptor(
const clang::CXXRecordDecl* Derived,
llvm::raw_ostream& Out)
Declared at: clang/include/clang/AST/Mangle.h:270
Parameters
- const clang::CXXRecordDecl* Derived
- llvm::raw_ostream& Out
¶virtual void mangleCXXRTTICompleteObjectLocator(
const clang::CXXRecordDecl* Derived,
ArrayRef<const clang::CXXRecordDecl*>
BasePath,
llvm::raw_ostream& Out)
virtual void mangleCXXRTTICompleteObjectLocator(
const clang::CXXRecordDecl* Derived,
ArrayRef<const clang::CXXRecordDecl*>
BasePath,
llvm::raw_ostream& Out)
Declared at: clang/include/clang/AST/Mangle.h:274
Parameters
- const clang::CXXRecordDecl* Derived
- ArrayRef<const clang::CXXRecordDecl*> BasePath
- llvm::raw_ostream& Out
¶virtual void mangleCXXThrowInfo(
clang::QualType T,
bool IsConst,
bool IsVolatile,
bool IsUnaligned,
uint32_t NumEntries,
llvm::raw_ostream& Out)
virtual void mangleCXXThrowInfo(
clang::QualType T,
bool IsConst,
bool IsVolatile,
bool IsUnaligned,
uint32_t NumEntries,
llvm::raw_ostream& Out)
Declared at: clang/include/clang/AST/Mangle.h:251
Parameters
- clang::QualType T
- bool IsConst
- bool IsVolatile
- bool IsUnaligned
- uint32_t NumEntries
- llvm::raw_ostream& Out
¶virtual void mangleCXXVBTable(
const clang::CXXRecordDecl* Derived,
ArrayRef<const clang::CXXRecordDecl*>
BasePath,
llvm::raw_ostream& Out)
virtual void mangleCXXVBTable(
const clang::CXXRecordDecl* Derived,
ArrayRef<const clang::CXXRecordDecl*>
BasePath,
llvm::raw_ostream& Out)
Description
Mangle vbtable symbols. Only a subset of the bases along the path to the vbtable are included in the name. It's up to the caller to pick them correctly.
Declared at: clang/include/clang/AST/Mangle.h:235
Parameters
- const clang::CXXRecordDecl* Derived
- ArrayRef<const clang::CXXRecordDecl*> BasePath
- llvm::raw_ostream& Out
¶virtual void mangleCXXVFTable(
const clang::CXXRecordDecl* Derived,
ArrayRef<const clang::CXXRecordDecl*>
BasePath,
llvm::raw_ostream& Out)
virtual void mangleCXXVFTable(
const clang::CXXRecordDecl* Derived,
ArrayRef<const clang::CXXRecordDecl*>
BasePath,
llvm::raw_ostream& Out)
Description
Mangle vftable symbols. Only a subset of the bases along the path to the vftable are included in the name. It's up to the caller to pick them correctly.
Declared at: clang/include/clang/AST/Mangle.h:228
Parameters
- const clang::CXXRecordDecl* Derived
- ArrayRef<const clang::CXXRecordDecl*> BasePath
- llvm::raw_ostream& Out
¶virtual void mangleCXXVirtualDisplacementMap(
const clang::CXXRecordDecl* SrcRD,
const clang::CXXRecordDecl* DstRD,
llvm::raw_ostream& Out)
virtual void mangleCXXVirtualDisplacementMap(
const clang::CXXRecordDecl* SrcRD,
const clang::CXXRecordDecl* DstRD,
llvm::raw_ostream& Out)
Declared at: clang/include/clang/AST/Mangle.h:247
Parameters
- const clang::CXXRecordDecl* SrcRD
- const clang::CXXRecordDecl* DstRD
- llvm::raw_ostream& Out
¶virtual void mangleThreadSafeStaticGuardVariable(
const clang::VarDecl* VD,
unsigned int GuardNum,
llvm::raw_ostream& Out)
virtual void mangleThreadSafeStaticGuardVariable(
const clang::VarDecl* VD,
unsigned int GuardNum,
llvm::raw_ostream& Out)
Declared at: clang/include/clang/AST/Mangle.h:239
Parameters
- const clang::VarDecl* VD
- unsigned int GuardNum
- llvm::raw_ostream& Out
¶virtual void mangleVirtualMemPtrThunk(
const clang::CXXMethodDecl* MD,
const clang::MethodVFTableLocation& ML,
llvm::raw_ostream& Out)
virtual void mangleVirtualMemPtrThunk(
const clang::CXXMethodDecl* MD,
const clang::MethodVFTableLocation& ML,
llvm::raw_ostream& Out)
Declared at: clang/include/clang/AST/Mangle.h:243
Parameters
- const clang::CXXMethodDecl* MD
- const clang::MethodVFTableLocation& ML
- llvm::raw_ostream& Out