LLVM 17.0.0git
Classes | Namespaces | Enumerations
MicrosoftDemangleNodes.h File Reference
#include "llvm/Demangle/StringView.h"
#include <array>
#include <cstdint>
#include <string>
Include dependency graph for MicrosoftDemangleNodes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::ms_demangle::Node
 
struct  llvm::ms_demangle::TypeNode
 
struct  llvm::ms_demangle::PrimitiveTypeNode
 
struct  llvm::ms_demangle::FunctionSignatureNode
 
struct  llvm::ms_demangle::IdentifierNode
 
struct  llvm::ms_demangle::VcallThunkIdentifierNode
 
struct  llvm::ms_demangle::DynamicStructorIdentifierNode
 
struct  llvm::ms_demangle::NamedIdentifierNode
 
struct  llvm::ms_demangle::IntrinsicFunctionIdentifierNode
 
struct  llvm::ms_demangle::LiteralOperatorIdentifierNode
 
struct  llvm::ms_demangle::LocalStaticGuardIdentifierNode
 
struct  llvm::ms_demangle::ConversionOperatorIdentifierNode
 
struct  llvm::ms_demangle::StructorIdentifierNode
 
struct  llvm::ms_demangle::ThunkSignatureNode
 
struct  llvm::ms_demangle::ThunkSignatureNode::ThisAdjustor
 
struct  llvm::ms_demangle::PointerTypeNode
 
struct  llvm::ms_demangle::TagTypeNode
 
struct  llvm::ms_demangle::ArrayTypeNode
 
struct  llvm::ms_demangle::IntrinsicNode
 
struct  llvm::ms_demangle::CustomTypeNode
 
struct  llvm::ms_demangle::NodeArrayNode
 
struct  llvm::ms_demangle::QualifiedNameNode
 
struct  llvm::ms_demangle::TemplateParameterReferenceNode
 
struct  llvm::ms_demangle::IntegerLiteralNode
 
struct  llvm::ms_demangle::RttiBaseClassDescriptorNode
 
struct  llvm::ms_demangle::SymbolNode
 
struct  llvm::ms_demangle::SpecialTableSymbolNode
 
struct  llvm::ms_demangle::LocalStaticGuardVariableNode
 
struct  llvm::ms_demangle::EncodedStringLiteralNode
 
struct  llvm::ms_demangle::VariableSymbolNode
 
struct  llvm::ms_demangle::FunctionSymbolNode
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::itanium_demangle
 
namespace  llvm::ms_demangle
 

Enumerations

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