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
파일 보기 프로젝트 열기: uxmal/reko 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
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