B2R2


MSExpr Type

AST for microsoft mangled expressions.

Union cases

Union case Description

ArrayPtr(MSExpr list, ArrayLength list, MSExpr)

Full Usage: ArrayPtr(MSExpr list, ArrayLength list, MSExpr)

Parameters:

Pointer to an array of pointerStrTs * dimensions * Array data type.

Item1 : MSExpr list
Item2 : ArrayLength list
Item3 : MSExpr

ArrayType(MSExpr, ArrayLength)

Full Usage: ArrayType(MSExpr, ArrayLength)

Parameters:

Array type (not pointer to array) of modified data type * dimension.

Item1 : MSExpr
Item2 : ArrayLength

ComplexT(ComplexTypeKind, MSExpr)

Full Usage: ComplexT(ComplexTypeKind, MSExpr)

Parameters:

Whole information of a complex type of complaexTypeKind * TypeBody.

Item1 : ComplexTypeKind
Item2 : MSExpr

ConcatT MSExpr list

Full Usage: ConcatT MSExpr list

Parameters:

Concatinate Type of MSExpr list. Concatinates the demangled string of each MSExpr in the list.

Item : MSExpr list

ConstructedTemplate(MSExpr list, MSExpr)

Full Usage: ConstructedTemplate(MSExpr list, MSExpr)

Parameters:

Constructor comming inside templates.

Item1 : MSExpr list
Item2 : MSExpr

Constructor MSExpr

Full Usage: Constructor MSExpr

Parameters:

A constructor of Name.

Item : MSExpr

Destructor MSExpr

Full Usage: Destructor MSExpr

Parameters:

A destructor of Name.

Item : MSExpr

EnumType(EnumTypeKind, MSExpr)

Full Usage: EnumType(EnumTypeKind, MSExpr)

Parameters:

EnumType of the Enum data type * name.

Item1 : EnumTypeKind
Item2 : MSExpr

An MSExpr form for an underscored builtInType represented by an underscore first then a single letter.

Item : UnderscoredBuiltInType

FullName MSExpr list

Full Usage: FullName MSExpr list

Parameters:

A nested name without type information.

Item : MSExpr list

FuncPointer(pointers, callingConvention, returnType, interpretationHelperString, parameterTypes, modifiers)

Full Usage: FuncPointer(pointers, callingConvention, returnType, interpretationHelperString, parameterTypes, modifiers)

Parameters:

For functions as arguements with PointerStrs, calling convention, return type , carry string, and Parameter types.

pointers : MSExpr list
callingConvention : CallConvention
returnType : MSExpr
interpretationHelperString : InterpHelperString
parameterTypes : MSExpr list
modifiers : (ModifierPrefix list * CVModifier) option

FunctionT(callScope, modifiers, callingConvention, functionName, returnType, parameterTypes, returnTypeModifier)

Full Usage: FunctionT(callScope, modifiers, callingConvention, functionName, returnType, parameterTypes, returnTypeModifier)

Parameters:

A function of scope * modifiers * calling convention * Name * ReturnType * ParameterTypes * ReturnType modifiers (if any).

callScope : CallScope
modifiers : ModifierPrefix list * CVModifier
callingConvention : CallConvention
functionName : MSExpr
returnType : MSExpr
parameterTypes : MSExpr list
returnTypeModifier : (ModifierPrefix list * CVModifier) option

IgnoredType

Full Usage: IgnoredType

Ingored type for temlates.

MangledSymbolPtr MSExpr

Full Usage: MangledSymbolPtr MSExpr

Parameters:

Mangled symbol pointer that comes only as template parameter.

Item : MSExpr

ModifiedType(MSExpr, ModifierPrefix list * CVModifier)

Full Usage: ModifiedType(MSExpr, ModifierPrefix list * CVModifier)

Parameters:

Modified type of type * modifiers.

Item1 : MSExpr
Item2 : ModifierPrefix list * CVModifier

Name string

Full Usage: Name string

Parameters:
    Item : string

A name without type information.

Item : string

NestedFunc MSExpr

Full Usage: NestedFunc MSExpr

Parameters:

Function nested in another function.

Item : MSExpr

PointerStrT of PointerType * (prefixes * cvModifier) * cvTypeMSExpr. The cvTypeMSExpr differentiates between normalPointers, __basedPointers, memberPointers, or __based member pointers. Has all the information about the pointer symbol including prefixes.

Item1 : PointerTypeIndicator
Item2 : ModifierPrefix list * CVModifier
Item3 : MSExpr

PointerT(MSExpr, MSExpr)

Full Usage: PointerT(MSExpr, MSExpr)

Parameters:

A pointer type of PointerStrType * PointedType.

Item1 : MSExpr
Item2 : MSExpr

RTTI0 MSExpr

Full Usage: RTTI0 MSExpr

Parameters:

RTTI0 code of any type.

Item : MSExpr

SimpleBuiltInType NormalBuiltInType

Full Usage: SimpleBuiltInType NormalBuiltInType

Parameters:

An MSExpr form for a normal builtInType represented by a single letter.

Item : NormalBuiltInType

Template(MSExpr, MSExpr list)

Full Usage: Template(MSExpr, MSExpr list)

Parameters:

A template of FullName * Arguement types.

Item1 : MSExpr
Item2 : MSExpr list

ThunkF(CallConvention, MSExpr, MSExpr, MSExpr)

Full Usage: ThunkF(CallConvention, MSExpr, MSExpr, MSExpr)

Parameters:

Thunk Function type of calling Type * Name Component * Type Component * Return Type

Item1 : CallConvention
Item2 : MSExpr
Item3 : MSExpr
Item4 : MSExpr

ValueT(MSExpr, MSExpr)

Full Usage: ValueT(MSExpr, MSExpr)

Parameters:

Value of name * type.

Item1 : MSExpr
Item2 : MSExpr