Table of Contents

Class Branch

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

Unconditional branch. goto target;

public sealed class Branch : SimpleInstruction
Inheritance
Branch
Inherited Members

Remarks

When jumping to the entrypoint of the current block container, the branch represents a continue statement.

Constructors

Branch(Block)

public Branch(Block targetBlock)

Parameters

targetBlock Block

Branch(int)

public Branch(int targetILOffset)

Parameters

targetILOffset int

Properties

DirectFlags

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

public override InstructionFlags DirectFlags { get; }

Property Value

InstructionFlags

ResultType

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

public override StackType ResultType { get; }

Property Value

StackType

TargetBlock

public Block TargetBlock { get; set; }

Property Value

Block

TargetContainer

Gets the BlockContainer that contains the target block.

public BlockContainer TargetContainer { get; }

Property Value

BlockContainer

TargetILOffset

public int TargetILOffset { get; }

Property Value

int

TargetLabel

public string TargetLabel { get; }

Property Value

string

TriggersFinallyBlock

Gets whether this branch executes at least one finally block before jumping to the target block.

public bool TriggersFinallyBlock { get; }

Property Value

bool

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

Connected()

Called after the ILInstruction was connected to the root node of the ILAst.

protected override void Connected()

Disconnected()

Called after the ILInstruction was disconnected from the root node of the ILAst.

protected override void Disconnected()

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