Table of Contents

Class DynamicCompoundAssign

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

Common instruction for dynamic compound assignments.

public sealed class DynamicCompoundAssign : CompoundAssignmentInstruction
Inheritance
DynamicCompoundAssign
Inherited Members

Constructors

DynamicCompoundAssign(ExpressionType, CSharpBinderFlags, ILInstruction, CSharpArgumentInfo, ILInstruction, CSharpArgumentInfo, CompoundTargetKind)

public DynamicCompoundAssign(ExpressionType op, CSharpBinderFlags binderFlags, ILInstruction target, CSharpArgumentInfo targetArgumentInfo, ILInstruction value, CSharpArgumentInfo valueArgumentInfo, CompoundTargetKind targetKind = CompoundTargetKind.Dynamic)

Parameters

op ExpressionType
binderFlags CSharpBinderFlags
target ILInstruction
targetArgumentInfo CSharpArgumentInfo
value ILInstruction
valueArgumentInfo CSharpArgumentInfo
targetKind CompoundTargetKind

Properties

BinderFlags

public CSharpBinderFlags BinderFlags { get; }

Property Value

CSharpBinderFlags

DirectFlags

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

public override InstructionFlags DirectFlags { get; }

Property Value

InstructionFlags

Operation

public ExpressionType Operation { get; }

Property Value

ExpressionType

ResultType

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

public override StackType ResultType { get; }

Property Value

StackType

TargetArgumentInfo

public CSharpArgumentInfo TargetArgumentInfo { get; }

Property Value

CSharpArgumentInfo

ValueArgumentInfo

public CSharpArgumentInfo ValueArgumentInfo { get; }

Property Value

CSharpArgumentInfo

Methods

AcceptVisitor(ILVisitor)

Calls the Visit*-method on the visitor corresponding to the concrete type of this instruction.

public override void AcceptVisitor(ILVisitor visitor)

Parameters

visitor ILVisitor

AcceptVisitor<T>(ILVisitor<T>)

Calls the Visit*-method on the visitor corresponding to the concrete type of this instruction.

public override T AcceptVisitor<T>(ILVisitor<T> visitor)

Parameters

visitor ILVisitor<T>

Returns

T

Type Parameters

T

AcceptVisitor<C, T>(ILVisitor<C, T>, C)

Calls the Visit*-method on the visitor corresponding to the concrete type of this instruction.

public override T AcceptVisitor<C, T>(ILVisitor<C, T> visitor, C context)

Parameters

visitor ILVisitor<C, T>
context C

Returns

T

Type Parameters

C
T

ComputeFlags()

protected override InstructionFlags ComputeFlags()

Returns

InstructionFlags

PerformMatch(ILInstruction?, ref Match)

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

Parameters

other ILInstruction
match Match

Returns

bool

WriteTo(ITextOutput, ILAstWritingOptions)

Writes the ILAst to the text output.

public override void WriteTo(ITextOutput output, ILAstWritingOptions options)

Parameters

output ITextOutput
options ILAstWritingOptions