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
ResultType
Gets the stack type of the value produced by this instruction.
public override StackType ResultType { get; }
Property Value
TargetBlock
public Block TargetBlock { get; set; }
Property Value
TargetContainer
Gets the BlockContainer that contains the target block.
public BlockContainer TargetContainer { get; }
Property Value
TargetILOffset
public int TargetILOffset { get; }
Property Value
TargetLabel
public string TargetLabel { get; }
Property Value
TriggersFinallyBlock
Gets whether this branch executes at least one finally block before jumping to the target block.
public bool TriggersFinallyBlock { get; }
Property Value
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
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
ILInstructionmatch
Match
Returns
WriteTo(ITextOutput, ILAstWritingOptions)
Writes the ILAst to the text output.
public override void WriteTo(ITextOutput output, ILAstWritingOptions options)
Parameters
output
ITextOutputoptions
ILAstWritingOptions