LLVM  10.0.0svn
Classes | Namespaces | Enumerations
MicrosoftDemangleNodes.h File Reference
#include "llvm/Demangle/DemangleConfig.h"
#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

 llvm
 This class represents lattice values for constants.
 
 llvm::itanium_demangle
 
 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  llvm::ms_demangle::StorageClass : uint8_t {
  llvm::ms_demangle::StorageClass::None, llvm::ms_demangle::StorageClass::PrivateStatic, llvm::ms_demangle::StorageClass::ProtectedStatic, llvm::ms_demangle::StorageClass::PublicStatic,
  llvm::ms_demangle::StorageClass::Global, llvm::ms_demangle::StorageClass::FunctionLocalStatic
}
 
enum  llvm::ms_demangle::PointerAffinity { llvm::ms_demangle::PointerAffinity::None, llvm::ms_demangle::PointerAffinity::Pointer, llvm::ms_demangle::PointerAffinity::Reference, llvm::ms_demangle::PointerAffinity::RValueReference }
 
enum  llvm::ms_demangle::FunctionRefQualifier { llvm::ms_demangle::FunctionRefQualifier::None, llvm::ms_demangle::FunctionRefQualifier::Reference, llvm::ms_demangle::FunctionRefQualifier::RValueReference }
 
enum  llvm::ms_demangle::CallingConv : uint8_t {
  llvm::ms_demangle::CallingConv::None, llvm::ms_demangle::CallingConv::Cdecl, llvm::ms_demangle::CallingConv::Pascal, llvm::ms_demangle::CallingConv::Thiscall,
  llvm::ms_demangle::CallingConv::Stdcall, llvm::ms_demangle::CallingConv::Fastcall, llvm::ms_demangle::CallingConv::Clrcall, llvm::ms_demangle::CallingConv::Eabi,
  llvm::ms_demangle::CallingConv::Vectorcall, llvm::ms_demangle::CallingConv::Regcall
}
 
enum  llvm::ms_demangle::ReferenceKind : uint8_t { llvm::ms_demangle::ReferenceKind::None, llvm::ms_demangle::ReferenceKind::LValueRef, llvm::ms_demangle::ReferenceKind::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
}
 
enum  llvm::ms_demangle::PrimitiveKind {
  llvm::ms_demangle::PrimitiveKind::Void, llvm::ms_demangle::PrimitiveKind::Bool, llvm::ms_demangle::PrimitiveKind::Char, llvm::ms_demangle::PrimitiveKind::Schar,
  llvm::ms_demangle::PrimitiveKind::Uchar, llvm::ms_demangle::PrimitiveKind::Char8, llvm::ms_demangle::PrimitiveKind::Char16, llvm::ms_demangle::PrimitiveKind::Char32,
  llvm::ms_demangle::PrimitiveKind::Short, llvm::ms_demangle::PrimitiveKind::Ushort, llvm::ms_demangle::PrimitiveKind::Int, llvm::ms_demangle::PrimitiveKind::Uint,
  llvm::ms_demangle::PrimitiveKind::Long, llvm::ms_demangle::PrimitiveKind::Ulong, llvm::ms_demangle::PrimitiveKind::Int64, llvm::ms_demangle::PrimitiveKind::Uint64,
  llvm::ms_demangle::PrimitiveKind::Wchar, llvm::ms_demangle::PrimitiveKind::Float, llvm::ms_demangle::PrimitiveKind::Double, llvm::ms_demangle::PrimitiveKind::Ldouble,
  llvm::ms_demangle::PrimitiveKind::Nullptr
}
 
enum  llvm::ms_demangle::CharKind { llvm::ms_demangle::CharKind::Char, llvm::ms_demangle::CharKind::Char16, llvm::ms_demangle::CharKind::Char32, llvm::ms_demangle::CharKind::Wchar }
 
enum  llvm::ms_demangle::IntrinsicFunctionKind : uint8_t {
  llvm::ms_demangle::IntrinsicFunctionKind::None, llvm::ms_demangle::IntrinsicFunctionKind::New, llvm::ms_demangle::IntrinsicFunctionKind::Delete, llvm::ms_demangle::IntrinsicFunctionKind::Assign,
  llvm::ms_demangle::IntrinsicFunctionKind::RightShift, llvm::ms_demangle::IntrinsicFunctionKind::LeftShift, llvm::ms_demangle::IntrinsicFunctionKind::LogicalNot, llvm::ms_demangle::IntrinsicFunctionKind::Equals,
  llvm::ms_demangle::IntrinsicFunctionKind::NotEquals, llvm::ms_demangle::IntrinsicFunctionKind::ArraySubscript, llvm::ms_demangle::IntrinsicFunctionKind::Pointer, llvm::ms_demangle::IntrinsicFunctionKind::Dereference,
  llvm::ms_demangle::IntrinsicFunctionKind::Increment, llvm::ms_demangle::IntrinsicFunctionKind::Decrement, llvm::ms_demangle::IntrinsicFunctionKind::Minus, llvm::ms_demangle::IntrinsicFunctionKind::Plus,
  llvm::ms_demangle::IntrinsicFunctionKind::BitwiseAnd, llvm::ms_demangle::IntrinsicFunctionKind::MemberPointer, llvm::ms_demangle::IntrinsicFunctionKind::Divide, llvm::ms_demangle::IntrinsicFunctionKind::Modulus,
  llvm::ms_demangle::IntrinsicFunctionKind::LessThan, llvm::ms_demangle::IntrinsicFunctionKind::LessThanEqual, llvm::ms_demangle::IntrinsicFunctionKind::GreaterThan, llvm::ms_demangle::IntrinsicFunctionKind::GreaterThanEqual,
  llvm::ms_demangle::IntrinsicFunctionKind::Comma, llvm::ms_demangle::IntrinsicFunctionKind::Parens, llvm::ms_demangle::IntrinsicFunctionKind::BitwiseNot, llvm::ms_demangle::IntrinsicFunctionKind::BitwiseXor,
  llvm::ms_demangle::IntrinsicFunctionKind::BitwiseOr, llvm::ms_demangle::IntrinsicFunctionKind::LogicalAnd, llvm::ms_demangle::IntrinsicFunctionKind::LogicalOr, llvm::ms_demangle::IntrinsicFunctionKind::TimesEqual,
  llvm::ms_demangle::IntrinsicFunctionKind::PlusEqual, llvm::ms_demangle::IntrinsicFunctionKind::MinusEqual, llvm::ms_demangle::IntrinsicFunctionKind::DivEqual, llvm::ms_demangle::IntrinsicFunctionKind::ModEqual,
  llvm::ms_demangle::IntrinsicFunctionKind::RshEqual, llvm::ms_demangle::IntrinsicFunctionKind::LshEqual, llvm::ms_demangle::IntrinsicFunctionKind::BitwiseAndEqual, llvm::ms_demangle::IntrinsicFunctionKind::BitwiseOrEqual,
  llvm::ms_demangle::IntrinsicFunctionKind::BitwiseXorEqual, llvm::ms_demangle::IntrinsicFunctionKind::VbaseDtor, llvm::ms_demangle::IntrinsicFunctionKind::VecDelDtor, llvm::ms_demangle::IntrinsicFunctionKind::DefaultCtorClosure,
  llvm::ms_demangle::IntrinsicFunctionKind::ScalarDelDtor, llvm::ms_demangle::IntrinsicFunctionKind::VecCtorIter, llvm::ms_demangle::IntrinsicFunctionKind::VecDtorIter, llvm::ms_demangle::IntrinsicFunctionKind::VecVbaseCtorIter,
  llvm::ms_demangle::IntrinsicFunctionKind::VdispMap, llvm::ms_demangle::IntrinsicFunctionKind::EHVecCtorIter, llvm::ms_demangle::IntrinsicFunctionKind::EHVecDtorIter, llvm::ms_demangle::IntrinsicFunctionKind::EHVecVbaseCtorIter,
  llvm::ms_demangle::IntrinsicFunctionKind::CopyCtorClosure, llvm::ms_demangle::IntrinsicFunctionKind::LocalVftableCtorClosure, llvm::ms_demangle::IntrinsicFunctionKind::ArrayNew, llvm::ms_demangle::IntrinsicFunctionKind::ArrayDelete,
  llvm::ms_demangle::IntrinsicFunctionKind::ManVectorCtorIter, llvm::ms_demangle::IntrinsicFunctionKind::ManVectorDtorIter, llvm::ms_demangle::IntrinsicFunctionKind::EHVectorCopyCtorIter, llvm::ms_demangle::IntrinsicFunctionKind::EHVectorVbaseCopyCtorIter,
  llvm::ms_demangle::IntrinsicFunctionKind::VectorCopyCtorIter, llvm::ms_demangle::IntrinsicFunctionKind::VectorVbaseCopyCtorIter, llvm::ms_demangle::IntrinsicFunctionKind::ManVectorVbaseCopyCtorIter, llvm::ms_demangle::IntrinsicFunctionKind::CoAwait,
  llvm::ms_demangle::IntrinsicFunctionKind::Spaceship, llvm::ms_demangle::IntrinsicFunctionKind::MaxIntrinsic
}
 
enum  llvm::ms_demangle::SpecialIntrinsicKind {
  llvm::ms_demangle::SpecialIntrinsicKind::None, llvm::ms_demangle::SpecialIntrinsicKind::Vftable, llvm::ms_demangle::SpecialIntrinsicKind::Vbtable, llvm::ms_demangle::SpecialIntrinsicKind::Typeof,
  llvm::ms_demangle::SpecialIntrinsicKind::VcallThunk, llvm::ms_demangle::SpecialIntrinsicKind::LocalStaticGuard, llvm::ms_demangle::SpecialIntrinsicKind::StringLiteralSymbol, llvm::ms_demangle::SpecialIntrinsicKind::UdtReturning,
  llvm::ms_demangle::SpecialIntrinsicKind::Unknown, llvm::ms_demangle::SpecialIntrinsicKind::DynamicInitializer, llvm::ms_demangle::SpecialIntrinsicKind::DynamicAtexitDestructor, llvm::ms_demangle::SpecialIntrinsicKind::RttiTypeDescriptor,
  llvm::ms_demangle::SpecialIntrinsicKind::RttiBaseClassDescriptor, llvm::ms_demangle::SpecialIntrinsicKind::RttiBaseClassArray, llvm::ms_demangle::SpecialIntrinsicKind::RttiClassHierarchyDescriptor, llvm::ms_demangle::SpecialIntrinsicKind::RttiCompleteObjLocator,
  llvm::ms_demangle::SpecialIntrinsicKind::LocalVftable, llvm::ms_demangle::SpecialIntrinsicKind::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  llvm::ms_demangle::TagKind { llvm::ms_demangle::TagKind::Class, llvm::ms_demangle::TagKind::Struct, llvm::ms_demangle::TagKind::Union, llvm::ms_demangle::TagKind::Enum }
 
enum  llvm::ms_demangle::NodeKind {
  llvm::ms_demangle::NodeKind::Unknown, llvm::ms_demangle::NodeKind::Md5Symbol, llvm::ms_demangle::NodeKind::PrimitiveType, llvm::ms_demangle::NodeKind::FunctionSignature,
  llvm::ms_demangle::NodeKind::Identifier, llvm::ms_demangle::NodeKind::NamedIdentifier, llvm::ms_demangle::NodeKind::VcallThunkIdentifier, llvm::ms_demangle::NodeKind::LocalStaticGuardIdentifier,
  llvm::ms_demangle::NodeKind::IntrinsicFunctionIdentifier, llvm::ms_demangle::NodeKind::ConversionOperatorIdentifier, llvm::ms_demangle::NodeKind::DynamicStructorIdentifier, llvm::ms_demangle::NodeKind::StructorIdentifier,
  llvm::ms_demangle::NodeKind::LiteralOperatorIdentifier, llvm::ms_demangle::NodeKind::ThunkSignature, llvm::ms_demangle::NodeKind::PointerType, llvm::ms_demangle::NodeKind::TagType,
  llvm::ms_demangle::NodeKind::ArrayType, llvm::ms_demangle::NodeKind::Custom, llvm::ms_demangle::NodeKind::IntrinsicType, llvm::ms_demangle::NodeKind::NodeArray,
  llvm::ms_demangle::NodeKind::QualifiedName, llvm::ms_demangle::NodeKind::TemplateParameterReference, llvm::ms_demangle::NodeKind::EncodedStringLiteral, llvm::ms_demangle::NodeKind::IntegerLiteral,
  llvm::ms_demangle::NodeKind::RttiBaseClassDescriptor, llvm::ms_demangle::NodeKind::LocalStaticGuardVariable, llvm::ms_demangle::NodeKind::FunctionSymbol, llvm::ms_demangle::NodeKind::VariableSymbol,
  llvm::ms_demangle::NodeKind::SpecialTableSymbol
}