C# Класс Reko.Environments.Windows.MsMangledNameParser

Unmangles methods and data objects whose names have been mangled using Microsoft's mangling algorithm.
Microsoft doesn't document the mangling format, but reverse engineering has been done, resulting in: http://www.kegel.com/mangle.html http://www.agner.org/optimize/calling_conventions.pdf
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
ClassName string
Modifier string
Scope string

Открытые методы

Метод Описание
MsMangledNameParser ( string str ) : Reko.Core
Parse ( ) : Tuple
ParseArgumentList ( ) : Reko.Core.Serialization.Argument_v1[]
ParseBasicName ( ) : string
ParseCallingConvention ( ) : string
ParseDataTypeCode ( List compoundArgs ) : SerializedType
ParseEnum ( List compoundArgs ) : SerializedType
ParseFunctionTypeCode ( ) : SerializedSignature
ParseGlobalFunction ( string modifier ) : SerializedSignature
ParseInstanceMethod ( string modifier ) : SerializedSignature
ParseMemberFunctionPointerCode ( int byteSize, List compoundArgs ) : MemberPointer_v1
ParseOperatorCode ( ) : string
ParsePointer ( List compoundArgs ) : SerializedType
ParseQualification ( ) : string[]

Reads a qualification followed by '@'.

ParseQualifiedTypeCode ( string basicName, string qualification, List compoundArgs ) : Tuple
ParseReturnStorageClass ( ) : string
ParseStaticMethod ( string modifier ) : SerializedSignature
ParseStorageClass ( ) : string
ParseStructure ( List compoundArgs ) : TypeReference_v1
ParseTemplateArguments ( ) : List
ParseThisStorageClass ( ) : string
ParseUnqualifiedTypeCode ( string basicName ) : Tuple

Приватные методы

Метод Описание
CreateEnclosingType ( string scope ) : StructType_v1
Error ( string format ) : void
Expect ( char ch ) : void
ParseAtName ( ) : string
ParseNonTypeTemplateArgument ( ) : void
PeekAndDiscard ( char ch ) : bool

Описание методов

MsMangledNameParser() публичный Метод

public MsMangledNameParser ( string str ) : Reko.Core
str string
Результат Reko.Core

Parse() публичный Метод

public Parse ( ) : Tuple
Результат Tuple

ParseArgumentList() публичный Метод

public ParseArgumentList ( ) : Reko.Core.Serialization.Argument_v1[]
Результат Reko.Core.Serialization.Argument_v1[]

ParseBasicName() публичный Метод

public ParseBasicName ( ) : string
Результат string

ParseCallingConvention() публичный Метод

public ParseCallingConvention ( ) : string
Результат string

ParseDataTypeCode() публичный Метод

public ParseDataTypeCode ( List compoundArgs ) : SerializedType
compoundArgs List
Результат SerializedType

ParseEnum() публичный Метод

public ParseEnum ( List compoundArgs ) : SerializedType
compoundArgs List
Результат SerializedType

ParseFunctionTypeCode() публичный Метод

public ParseFunctionTypeCode ( ) : SerializedSignature
Результат SerializedSignature

ParseGlobalFunction() публичный Метод

public ParseGlobalFunction ( string modifier ) : SerializedSignature
modifier string
Результат SerializedSignature

ParseInstanceMethod() публичный Метод

public ParseInstanceMethod ( string modifier ) : SerializedSignature
modifier string
Результат SerializedSignature

ParseMemberFunctionPointerCode() публичный Метод

public ParseMemberFunctionPointerCode ( int byteSize, List compoundArgs ) : MemberPointer_v1
byteSize int
compoundArgs List
Результат MemberPointer_v1

ParseOperatorCode() публичный Метод

public ParseOperatorCode ( ) : string
Результат string

ParsePointer() публичный Метод

public ParsePointer ( List compoundArgs ) : SerializedType
compoundArgs List
Результат SerializedType

ParseQualification() публичный Метод

Reads a qualification followed by '@'.
public ParseQualification ( ) : string[]
Результат string[]

ParseQualifiedTypeCode() публичный Метод

public ParseQualifiedTypeCode ( string basicName, string qualification, List compoundArgs ) : Tuple
basicName string
qualification string
compoundArgs List
Результат Tuple

ParseReturnStorageClass() публичный Метод

public ParseReturnStorageClass ( ) : string
Результат string

ParseStaticMethod() публичный Метод

public ParseStaticMethod ( string modifier ) : SerializedSignature
modifier string
Результат SerializedSignature

ParseStorageClass() публичный Метод

public ParseStorageClass ( ) : string
Результат string

ParseStructure() публичный Метод

public ParseStructure ( List compoundArgs ) : TypeReference_v1
compoundArgs List
Результат TypeReference_v1

ParseTemplateArguments() публичный Метод

public ParseTemplateArguments ( ) : List
Результат List

ParseThisStorageClass() публичный Метод

public ParseThisStorageClass ( ) : string
Результат string

ParseUnqualifiedTypeCode() публичный Метод

public ParseUnqualifiedTypeCode ( string basicName ) : Tuple
basicName string
Результат Tuple

Описание свойств

ClassName публичное свойство

public string ClassName
Результат string

Modifier публичное свойство

public string Modifier
Результат string

Scope публичное свойство

public string Scope
Результат string