Table of Contents

Class CallInstruction

Namespace
ICSharpCode.Decompiler.IL
Assembly
ICSharpCode.Decompiler.dll

Instruction with a list of arguments.

public abstract class CallInstruction : ILInstruction
Inheritance
CallInstruction
Derived
Inherited Members

Constructors

CallInstruction(OpCode, IMethod)

protected CallInstruction(OpCode opCode, IMethod method)

Parameters

opCode OpCode
method IMethod

Fields

ArgumentsSlot

public static readonly SlotInfo ArgumentsSlot

Field Value

SlotInfo

ConstrainedTo

Gets/Sets the type specified in the 'constrained.' prefix. Returns null if no 'constrained.' prefix exists for this call.

public IType? ConstrainedTo

Field Value

IType

ILStackWasEmpty

Gets whether the IL stack was empty at the point of this call. (not counting the arguments/return value of the call itself)

public bool ILStackWasEmpty

Field Value

bool

IsTail

Gets/Sets whether the call has the 'tail.' prefix.

public bool IsTail

Field Value

bool

Method

public readonly IMethod Method

Field Value

IMethod

Properties

Arguments

public InstructionCollection<ILInstruction> Arguments { get; }

Property Value

InstructionCollection<ILInstruction>

DirectFlags

Gets the flags for this instruction only, without considering the child instructions.

public override InstructionFlags DirectFlags { get; }

Property Value

InstructionFlags

IsInstanceCall

Gets whether this is an instance call (i.e. whether the first argument is the 'this' pointer).

public bool IsInstanceCall { get; }

Property Value

bool

ResultType

Gets the stack type of the value produced by this instruction.

public override StackType ResultType { get; }

Property Value

StackType

Methods

Clone()

public override sealed ILInstruction Clone()

Returns

ILInstruction

ComputeFlags()

protected override InstructionFlags ComputeFlags()

Returns

InstructionFlags

Create(OpCode, IMethod)

public static CallInstruction Create(OpCode opCode, IMethod method)

Parameters

opCode OpCode
method IMethod

Returns

CallInstruction

GetChild(int)

protected override sealed ILInstruction GetChild(int index)

Parameters

index int

Returns

ILInstruction

GetChildCount()

protected override sealed int GetChildCount()

Returns

int

GetChildSlot(int)

protected override sealed SlotInfo GetChildSlot(int index)

Parameters

index int

Returns

SlotInfo

GetParameter(int)

Gets the parameter for the argument with the specified index. Returns null for the this parameter.

public IParameter? GetParameter(int argumentIndex)

Parameters

argumentIndex int

Returns

IParameter

PerformMatch(ILInstruction?, ref Match)

protected override sealed bool PerformMatch(ILInstruction? other, ref Match match)

Parameters

other ILInstruction
match Match

Returns

bool

SetChild(int, ILInstruction)

protected override sealed void SetChild(int index, ILInstruction value)

Parameters

index int
value ILInstruction

WriteTo(ITextOutput, ILAstWritingOptions)

Writes the ILAst to the text output.

public override void WriteTo(ITextOutput output, ILAstWritingOptions options)

Parameters

output ITextOutput
options ILAstWritingOptions