13#ifndef LLVM_DEMANGLE_MICROSOFTDEMANGLENODES_H
14#define LLVM_DEMANGLE_MICROSOFTDEMANGLENODES_H
22namespace itanium_demangle {
27using llvm::itanium_demangle::OutputBuffer;
30namespace ms_demangle {
519 std::string_view Separator)
const;
Class to represent array types.
This is a utility class that provides an abstraction for the common functionality between Instruction...
Class to represent pointers.
The instances of the Type class are immutable: once they are created, they are never changed.
LLVM Value Representation.
@ LiteralOperatorIdentifier
@ LocalStaticGuardVariable
@ DynamicStructorIdentifier
@ LocalStaticGuardIdentifier
@ ConversionOperatorIdentifier
@ TemplateParameterReference
@ IntrinsicFunctionIdentifier
@ ManVectorVbaseCopyCtorIter
@ EHVectorVbaseCopyCtorIter
@ LocalVftableCtorClosure
@ VectorVbaseCopyCtorIter
@ RttiBaseClassDescriptor
@ DynamicAtexitDestructor
@ RttiClassHierarchyDescriptor
This is an optimization pass for GlobalISel generic memory operations.
Determine the kind of a node from its type.
void outputPost(OutputBuffer &OB, OutputFlags Flags) const override
void outputOneDimension(OutputBuffer &OB, OutputFlags Flags, Node *N) const
NodeArrayNode * Dimensions
void outputPre(OutputBuffer &OB, OutputFlags Flags) const override
void outputDimensionsImpl(OutputBuffer &OB, OutputFlags Flags) const
void output(OutputBuffer &OB, OutputFlags Flags) const override
ConversionOperatorIdentifierNode()
void outputPost(OutputBuffer &OB, OutputFlags Flags) const override
void outputPre(OutputBuffer &OB, OutputFlags Flags) const override
IdentifierNode * Identifier
DynamicStructorIdentifierNode()
void output(OutputBuffer &OB, OutputFlags Flags) const override
VariableSymbolNode * Variable
void output(OutputBuffer &OB, OutputFlags Flags) const override
std::string_view DecodedString
EncodedStringLiteralNode()
void outputPre(OutputBuffer &OB, OutputFlags Flags) const override
FunctionSignatureNode(NodeKind K)
void outputPost(OutputBuffer &OB, OutputFlags Flags) const override
FunctionRefQualifier RefQualifier
CallingConv CallConvention
FunctionSignatureNode * Signature
void output(OutputBuffer &OB, OutputFlags Flags) const override
NodeArrayNode * TemplateParams
void outputTemplateParameters(OutputBuffer &OB, OutputFlags Flags) const
IdentifierNode(NodeKind K)
IntegerLiteralNode(uint64_t Value, bool IsNegative)
void output(OutputBuffer &OB, OutputFlags Flags) const override
IntrinsicFunctionIdentifierNode(IntrinsicFunctionKind Operator)
void output(OutputBuffer &OB, OutputFlags Flags) const override
IntrinsicFunctionKind Operator
void output(OutputBuffer &OB, OutputFlags Flags) const override
LiteralOperatorIdentifierNode()
void output(OutputBuffer &OB, OutputFlags Flags) const override
LocalStaticGuardIdentifierNode()
void output(OutputBuffer &OB, OutputFlags Flags) const override
void output(OutputBuffer &OB, OutputFlags Flags) const override
LocalStaticGuardVariableNode()
void output(OutputBuffer &OB, OutputFlags Flags) const override
void output(OutputBuffer &OB, OutputFlags Flags) const override
virtual void output(OutputBuffer &OB, OutputFlags Flags) const =0
std::string toString(OutputFlags Flags=OF_Default) const
QualifiedNameNode * ClassParent
void outputPost(OutputBuffer &OB, OutputFlags Flags) const override
void outputPre(OutputBuffer &OB, OutputFlags Flags) const override
void outputPre(OutputBuffer &OB, OutputFlags Flags) const override
PrimitiveTypeNode(PrimitiveKind K)
void outputPost(OutputBuffer &OB, OutputFlags Flags) const override
void output(OutputBuffer &OB, OutputFlags Flags) const override
IdentifierNode * getUnqualifiedIdentifier()
NodeArrayNode * Components
RttiBaseClassDescriptorNode()
void output(OutputBuffer &OB, OutputFlags Flags) const override
void output(OutputBuffer &OB, OutputFlags Flags) const override
QualifiedNameNode * TargetName
void output(OutputBuffer &OB, OutputFlags Flags) const override
StructorIdentifierNode(bool IsDestructor)
void output(OutputBuffer &OB, OutputFlags Flags) const override
void outputPost(OutputBuffer &OB, OutputFlags Flags) const override
void outputPre(OutputBuffer &OB, OutputFlags Flags) const override
void output(OutputBuffer &OB, OutputFlags Flags) const override
TemplateParameterReferenceNode()
std::array< int64_t, 3 > ThunkOffsets
void outputPost(OutputBuffer &OB, OutputFlags Flags) const override
void outputPre(OutputBuffer &OB, OutputFlags Flags) const override
void output(OutputBuffer &OB, OutputFlags Flags) const override
virtual void outputPre(OutputBuffer &OB, OutputFlags Flags) const =0
virtual void outputPost(OutputBuffer &OB, OutputFlags Flags) const =0
void output(OutputBuffer &OB, OutputFlags Flags) const override
void output(OutputBuffer &OB, OutputFlags Flags) const override
VcallThunkIdentifierNode()