Table of Contents

Class CompoundAssignmentInstruction

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

Common instruction for compound assignments.

public abstract class CompoundAssignmentInstruction : ILInstruction
Inheritance
CompoundAssignmentInstruction
Derived
Inherited Members

Constructors

CompoundAssignmentInstruction(OpCode, CompoundEvalMode, ILInstruction, CompoundTargetKind, ILInstruction)

public CompoundAssignmentInstruction(OpCode opCode, CompoundEvalMode evalMode, ILInstruction target, CompoundTargetKind targetKind, ILInstruction value)

Parameters

opCode OpCode
evalMode CompoundEvalMode
target ILInstruction
targetKind CompoundTargetKind
value ILInstruction

Fields

EvalMode

public readonly CompoundEvalMode EvalMode

Field Value

CompoundEvalMode

TargetKind

If TargetIsProperty is true, the Target must be a call to a property getter, and the compound.assign will implicitly call the corresponding property setter. Otherwise, the Target can be any instruction that evaluates to an address, and the compound.assign will implicit load and store from/to that address.

public readonly CompoundTargetKind TargetKind

Field Value

CompoundTargetKind

TargetSlot

public static readonly SlotInfo TargetSlot

Field Value

SlotInfo

ValueSlot

public static readonly SlotInfo ValueSlot

Field Value

SlotInfo

Properties

DirectFlags

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

public override InstructionFlags DirectFlags { get; }

Property Value

InstructionFlags

Target

public ILInstruction Target { get; set; }

Property Value

ILInstruction

Value

public ILInstruction Value { get; set; }

Property Value

ILInstruction

Methods

Clone()

public override sealed ILInstruction Clone()

Returns

ILInstruction

ComputeFlags()

protected override InstructionFlags ComputeFlags()

Returns

InstructionFlags

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

SetChild(int, ILInstruction)

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

Parameters

index int
value ILInstruction

WriteSuffix(ITextOutput)

protected void WriteSuffix(ITextOutput output)

Parameters

output ITextOutput

WriteTo(ITextOutput, ILAstWritingOptions)

Writes the ILAst to the text output.

public override void WriteTo(ITextOutput output, ILAstWritingOptions options)

Parameters

output ITextOutput
options ILAstWritingOptions