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
Fields
ArgumentsSlot
public static readonly SlotInfo ArgumentsSlot
Field Value
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
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
IsTail
Gets/Sets whether the call has the 'tail.' prefix.
public bool IsTail
Field Value
Method
public readonly IMethod Method
Field Value
Properties
Arguments
public InstructionCollection<ILInstruction> Arguments { get; }
Property Value
DirectFlags
Gets the flags for this instruction only, without considering the child instructions.
public override InstructionFlags DirectFlags { get; }
Property Value
IsInstanceCall
Gets whether this is an instance call (i.e. whether the first argument is the 'this' pointer).
public bool IsInstanceCall { get; }
Property Value
ResultType
Gets the stack type of the value produced by this instruction.
public override StackType ResultType { get; }
Property Value
Methods
Clone()
public override sealed ILInstruction Clone()
Returns
ComputeFlags()
protected override InstructionFlags ComputeFlags()
Returns
Create(OpCode, IMethod)
public static CallInstruction Create(OpCode opCode, IMethod method)
Parameters
Returns
GetChild(int)
protected override sealed ILInstruction GetChild(int index)
Parameters
index
int
Returns
GetChildCount()
protected override sealed int GetChildCount()
Returns
GetChildSlot(int)
protected override sealed SlotInfo GetChildSlot(int index)
Parameters
index
int
Returns
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
PerformMatch(ILInstruction?, ref Match)
protected override sealed bool PerformMatch(ILInstruction? other, ref Match match)
Parameters
other
ILInstructionmatch
Match
Returns
SetChild(int, ILInstruction)
protected override sealed void SetChild(int index, ILInstruction value)
Parameters
index
intvalue
ILInstruction
WriteTo(ITextOutput, ILAstWritingOptions)
Writes the ILAst to the text output.
public override void WriteTo(ITextOutput output, ILAstWritingOptions options)
Parameters
output
ITextOutputoptions
ILAstWritingOptions