LLVM 22.0.0git
llvm::ms_demangle Namespace Reference

Classes

class  ArenaAllocator
struct  ArrayTypeNode
struct  BackrefContext
struct  ConversionOperatorIdentifierNode
struct  CustomTypeNode
class  Demangler
struct  DynamicStructorIdentifierNode
struct  EncodedStringLiteralNode
struct  FunctionSignatureNode
struct  FunctionSymbolNode
struct  IdentifierNode
struct  IntegerLiteralNode
struct  IntrinsicFunctionIdentifierNode
struct  IntrinsicNode
struct  LiteralOperatorIdentifierNode
struct  LocalStaticGuardIdentifierNode
struct  LocalStaticGuardVariableNode
struct  NamedIdentifierNode
struct  Node
struct  NodeArrayNode
struct  PointerAuthQualifierNode
struct  PointerTypeNode
struct  PrimitiveTypeNode
struct  QualifiedNameNode
struct  RttiBaseClassDescriptorNode
struct  SpecialTableSymbolNode
struct  StructorIdentifierNode
struct  SymbolNode
struct  TagTypeNode
struct  TemplateParameterReferenceNode
struct  ThunkSignatureNode
struct  TypeNode
struct  VariableSymbolNode
struct  VcallThunkIdentifierNode

Enumerations

enum class  QualifierMangleMode { Drop , Mangle , Result }
enum  NameBackrefBehavior : uint8_t { NBB_None = 0 , NBB_Template = 1 << 0 , NBB_Simple = 1 << 1 }
enum class  FunctionIdentifierCodeGroup { Basic , Under , DoubleUnder }
enum  Qualifiers : uint8_t {
  Q_None = 0 , Q_Const = 1 << 0 , Q_Volatile = 1 << 1 , Q_Far = 1 << 2 ,
  Q_Huge = 1 << 3 , Q_Unaligned = 1 << 4 , Q_Restrict = 1 << 5 , Q_Pointer64 = 1 << 6
}
enum class  StorageClass : uint8_t {
  None , PrivateStatic , ProtectedStatic , PublicStatic ,
  Global , FunctionLocalStatic
}
enum class  PointerAffinity { None , Pointer , Reference , RValueReference }
enum class  FunctionRefQualifier { None , Reference , RValueReference }
enum class  CallingConv : uint8_t {
  None , Cdecl , Pascal , Thiscall ,
  Stdcall , Fastcall , Clrcall , Eabi ,
  Vectorcall , Regcall , Swift , SwiftAsync
}
enum class  ReferenceKind : uint8_t { None , LValueRef , RValueRef }
enum  OutputFlags {
  OF_Default = 0 , OF_NoCallingConvention = 1 , OF_NoTagSpecifier = 2 , OF_NoAccessSpecifier = 4 ,
  OF_NoMemberType = 8 , OF_NoReturnType = 16 , OF_NoVariableType = 32
}
enum class  PrimitiveKind {
  Void , Bool , Char , Schar ,
  Uchar , Char8 , Char16 , Char32 ,
  Short , Ushort , Int , Uint ,
  Long , Ulong , Int64 , Uint64 ,
  Wchar , Float , Double , Ldouble ,
  Nullptr , Auto , DecltypeAuto
}
enum class  CharKind { Char , Char16 , Char32 , Wchar }
enum class  IntrinsicFunctionKind : uint8_t {
  None , New , Delete , Assign ,
  RightShift , LeftShift , LogicalNot , Equals ,
  NotEquals , ArraySubscript , Pointer , Dereference ,
  Increment , Decrement , Minus , Plus ,
  BitwiseAnd , MemberPointer , Divide , Modulus ,
  LessThan , LessThanEqual , GreaterThan , GreaterThanEqual ,
  Comma , Parens , BitwiseNot , BitwiseXor ,
  BitwiseOr , LogicalAnd , LogicalOr , TimesEqual ,
  PlusEqual , MinusEqual , DivEqual , ModEqual ,
  RshEqual , LshEqual , BitwiseAndEqual , BitwiseOrEqual ,
  BitwiseXorEqual , VbaseDtor , VecDelDtor , DefaultCtorClosure ,
  ScalarDelDtor , VecCtorIter , VecDtorIter , VecVbaseCtorIter ,
  VdispMap , EHVecCtorIter , EHVecDtorIter , EHVecVbaseCtorIter ,
  CopyCtorClosure , LocalVftableCtorClosure , ArrayNew , ArrayDelete ,
  ManVectorCtorIter , ManVectorDtorIter , EHVectorCopyCtorIter , EHVectorVbaseCopyCtorIter ,
  VectorCopyCtorIter , VectorVbaseCopyCtorIter , ManVectorVbaseCopyCtorIter , CoAwait ,
  Spaceship , MaxIntrinsic
}
enum class  SpecialIntrinsicKind {
  None , Vftable , Vbtable , Typeof ,
  VcallThunk , LocalStaticGuard , StringLiteralSymbol , UdtReturning ,
  Unknown , DynamicInitializer , DynamicAtexitDestructor , RttiTypeDescriptor ,
  RttiBaseClassDescriptor , RttiBaseClassArray , RttiClassHierarchyDescriptor , RttiCompleteObjLocator ,
  LocalVftable , LocalStaticThreadGuard
}
enum  FuncClass : uint16_t {
  FC_None = 0 , FC_Public = 1 << 0 , FC_Protected = 1 << 1 , FC_Private = 1 << 2 ,
  FC_Global = 1 << 3 , FC_Static = 1 << 4 , FC_Virtual = 1 << 5 , FC_Far = 1 << 6 ,
  FC_ExternC = 1 << 7 , FC_NoParameterList = 1 << 8 , FC_VirtualThisAdjust = 1 << 9 , FC_VirtualThisAdjustEx = 1 << 10 ,
  FC_StaticThisAdjust = 1 << 11
}
enum class  TagKind { Class , Struct , Union , Enum }
enum class  NodeKind {
  Unknown , SymbolStart , Md5Symbol = SymbolStart , EncodedStringLiteral ,
  FunctionSymbol , LocalStaticGuardVariable , SpecialTableSymbol , VariableSymbol ,
  SymbolEnd = VariableSymbol , IdentifierStart , ConversionOperatorIdentifier = IdentifierStart , DynamicStructorIdentifier ,
  IntrinsicFunctionIdentifier , LiteralOperatorIdentifier , LocalStaticGuardIdentifier , NamedIdentifier ,
  RttiBaseClassDescriptor , StructorIdentifier , VcallThunkIdentifier , IdentifierEnd = VcallThunkIdentifier ,
  TypeStart , ArrayType = TypeStart , Custom , FunctionSignature ,
  ThunkSignature , FunctionSignatureEnd = ThunkSignature , IntrinsicType , PointerType ,
  PrimitiveType , TagType , TypeEnd = TagType , PointerAuthQualifier ,
  IntegerLiteral , NodeArray , QualifiedName , TemplateParameterReference
}

Variables

constexpr size_t AllocUnit = 4096

Enumeration Type Documentation

◆ CallingConv

Enumerator
None 
Cdecl 
Pascal 
Thiscall 
Stdcall 
Fastcall 
Clrcall 
Eabi 
Vectorcall 
Regcall 
Swift 
SwiftAsync 

Definition at line 58 of file MicrosoftDemangleNodes.h.

◆ CharKind

enum class llvm::ms_demangle::CharKind
strong
Enumerator
Char 
Char16 
Char32 
Wchar 

Definition at line 112 of file MicrosoftDemangleNodes.h.

◆ FuncClass

Enumerator
FC_None 
FC_Public 
FC_Protected 
FC_Private 
FC_Global 
FC_Static 
FC_Virtual 
FC_Far 
FC_ExternC 
FC_NoParameterList 
FC_VirtualThisAdjust 
FC_VirtualThisAdjustEx 
FC_StaticThisAdjust 

Definition at line 210 of file MicrosoftDemangleNodes.h.

◆ FunctionIdentifierCodeGroup

Enumerator
Basic 
Under 
DoubleUnder 

Definition at line 140 of file MicrosoftDemangle.h.

◆ FunctionRefQualifier

Enumerator
None 
Reference 
RValueReference 

Definition at line 55 of file MicrosoftDemangleNodes.h.

◆ IntrinsicFunctionKind

Enumerator
None 
New 
Delete 
Assign 
RightShift 
LeftShift 
LogicalNot 
Equals 
NotEquals 
ArraySubscript 
Pointer 
Dereference 
Increment 
Decrement 
Minus 
Plus 
BitwiseAnd 
MemberPointer 
Divide 
Modulus 
LessThan 
LessThanEqual 
GreaterThan 
GreaterThanEqual 
Comma 
Parens 
BitwiseNot 
BitwiseXor 
BitwiseOr 
LogicalAnd 
LogicalOr 
TimesEqual 
PlusEqual 
MinusEqual 
DivEqual 
ModEqual 
RshEqual 
LshEqual 
BitwiseAndEqual 
BitwiseOrEqual 
BitwiseXorEqual 
VbaseDtor 
VecDelDtor 
DefaultCtorClosure 
ScalarDelDtor 
VecCtorIter 
VecDtorIter 
VecVbaseCtorIter 
VdispMap 
EHVecCtorIter 
EHVecDtorIter 
EHVecVbaseCtorIter 
CopyCtorClosure 
LocalVftableCtorClosure 
ArrayNew 
ArrayDelete 
ManVectorCtorIter 
ManVectorDtorIter 
EHVectorCopyCtorIter 
EHVectorVbaseCopyCtorIter 
VectorCopyCtorIter 
VectorVbaseCopyCtorIter 
ManVectorVbaseCopyCtorIter 
CoAwait 
Spaceship 
MaxIntrinsic 

Definition at line 119 of file MicrosoftDemangleNodes.h.

◆ NameBackrefBehavior

Enumerator
NBB_None 
NBB_Template 
NBB_Simple 

Definition at line 134 of file MicrosoftDemangle.h.

◆ NodeKind

enum class llvm::ms_demangle::NodeKind
strong
Enumerator
Unknown 
SymbolStart 
Md5Symbol 
EncodedStringLiteral 
FunctionSymbol 
LocalStaticGuardVariable 
SpecialTableSymbol 
VariableSymbol 
SymbolEnd 
IdentifierStart 
ConversionOperatorIdentifier 
DynamicStructorIdentifier 
IntrinsicFunctionIdentifier 
LiteralOperatorIdentifier 
LocalStaticGuardIdentifier 
NamedIdentifier 
RttiBaseClassDescriptor 
StructorIdentifier 
VcallThunkIdentifier 
IdentifierEnd 
TypeStart 
ArrayType 
Custom 
FunctionSignature 
ThunkSignature 
FunctionSignatureEnd 
IntrinsicType 
PointerType 
PrimitiveType 
TagType 
TypeEnd 
PointerAuthQualifier 
IntegerLiteral 
NodeArray 
QualifiedName 
TemplateParameterReference 

Definition at line 228 of file MicrosoftDemangleNodes.h.

◆ OutputFlags

Enumerator
OF_Default 
OF_NoCallingConvention 
OF_NoTagSpecifier 
OF_NoAccessSpecifier 
OF_NoMemberType 
OF_NoReturnType 
OF_NoVariableType 

Definition at line 75 of file MicrosoftDemangleNodes.h.

◆ PointerAffinity

Enumerator
None 
Pointer 
Reference 
RValueReference 

Definition at line 54 of file MicrosoftDemangleNodes.h.

◆ PrimitiveKind

Enumerator
Void 
Bool 
Char 
Schar 
Uchar 
Char8 
Char16 
Char32 
Short 
Ushort 
Int 
Uint 
Long 
Ulong 
Int64 
Uint64 
Wchar 
Float 
Double 
Ldouble 
Nullptr 
Auto 
DecltypeAuto 

Definition at line 86 of file MicrosoftDemangleNodes.h.

◆ QualifierMangleMode

Enumerator
Drop 
Mangle 
Result 

Definition at line 132 of file MicrosoftDemangle.h.

◆ Qualifiers

Enumerator
Q_None 
Q_Const 
Q_Volatile 
Q_Far 
Q_Huge 
Q_Unaligned 
Q_Restrict 
Q_Pointer64 

Definition at line 34 of file MicrosoftDemangleNodes.h.

◆ ReferenceKind

Enumerator
None 
LValueRef 
RValueRef 

Definition at line 73 of file MicrosoftDemangleNodes.h.

◆ SpecialIntrinsicKind

Enumerator
None 
Vftable 
Vbtable 
Typeof 
VcallThunk 
LocalStaticGuard 
StringLiteralSymbol 
UdtReturning 
Unknown 
DynamicInitializer 
DynamicAtexitDestructor 
RttiTypeDescriptor 
RttiBaseClassDescriptor 
RttiBaseClassArray 
RttiClassHierarchyDescriptor 
RttiCompleteObjLocator 
LocalVftable 
LocalStaticThreadGuard 

Definition at line 188 of file MicrosoftDemangleNodes.h.

◆ StorageClass

Enumerator
None 
PrivateStatic 
ProtectedStatic 
PublicStatic 
Global 
FunctionLocalStatic 

Definition at line 45 of file MicrosoftDemangleNodes.h.

◆ TagKind

enum class llvm::ms_demangle::TagKind
strong
Enumerator
Class 
Struct 
Union 
Enum 

Definition at line 226 of file MicrosoftDemangleNodes.h.

Variable Documentation

◆ AllocUnit