Table of Contents

Class MemberFunctionLeaf

Namespace
AsmResolver.Symbols.Pdb.Leaves
Assembly
AsmResolver.Symbols.Pdb.dll

Represents a single instance member function.

public class MemberFunctionLeaf : CodeViewLeaf, ITpiLeaf, ICodeViewLeaf
Inheritance
MemberFunctionLeaf
Implements
Derived
Inherited Members

Constructors

MemberFunctionLeaf(CodeViewTypeRecord, CodeViewTypeRecord, ArgumentListLeaf)

Creates a new member function.

public MemberFunctionLeaf(CodeViewTypeRecord returnType, CodeViewTypeRecord declaringType, ArgumentListLeaf arguments)

Parameters

returnType CodeViewTypeRecord

The return type of the function.

declaringType CodeViewTypeRecord

The declaring type of the function.

arguments ArgumentListLeaf

The argument types of the function.

MemberFunctionLeaf(uint)

Initializes an empty member function.

protected MemberFunctionLeaf(uint typeIndex)

Parameters

typeIndex uint

The type index to assign to the function.

Properties

Arguments

Gets or sets the list of types of the parameters that this function defines.

public ArgumentListLeaf? Arguments { get; set; }

Property Value

ArgumentListLeaf

Attributes

Gets or sets the attributes associated to the function.

public MemberFunctionAttributes Attributes { get; set; }

Property Value

MemberFunctionAttributes

CallingConvention

Gets or sets the convention that is used when calling the member function.

public CodeViewCallingConvention CallingConvention { get; set; }

Property Value

CodeViewCallingConvention

DeclaringType

Gets or sets the type that declares this member function.

public CodeViewTypeRecord? DeclaringType { get; set; }

Property Value

CodeViewTypeRecord

LeafKind

Gets the type kind this record encodes.

public override CodeViewLeafKind LeafKind { get; }

Property Value

CodeViewLeafKind

ReturnType

Gets or sets the return type of the function.

public CodeViewTypeRecord? ReturnType { get; set; }

Property Value

CodeViewTypeRecord

ThisAdjuster

Gets or sets the offset to adjust the this pointer with before devirtualization of this method.

public uint ThisAdjuster { get; set; }

Property Value

uint

ThisType

Gets or sets the type of the this pointer that is used to access the member function.

public CodeViewTypeRecord? ThisType { get; set; }

Property Value

CodeViewTypeRecord

Methods

GetArguments()

Obtains the argument types of the function.

protected virtual ArgumentListLeaf? GetArguments()

Returns

ArgumentListLeaf

The argument types.

Remarks

This method is called upon initialization of the Arguments property.

GetDeclaringType()

Obtains the declaring type of the function.

protected virtual CodeViewTypeRecord? GetDeclaringType()

Returns

CodeViewTypeRecord

The declaring type.

Remarks

This method is called upon initialization of the DeclaringType property.

GetReturnType()

Obtains the return type of the function.

protected virtual CodeViewTypeRecord? GetReturnType()

Returns

CodeViewTypeRecord

The return type.

Remarks

This method is called upon initialization of the ReturnType property.

GetThisType()

Obtains the this-type of the function.

protected virtual CodeViewTypeRecord? GetThisType()

Returns

CodeViewTypeRecord

The this-type.

Remarks

This method is called upon initialization of the ThisType property.

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.