C# Class Mono.CSharp.BlockContext

Inheritance: ResolveContext
Show file Open project: kumpera/mono Class Usage Examples

Public Properties

Property Type Description
FlowOffset int
HasReturnLabel bool
ReturnLabel System.Reflection.Emit.Label

Public Methods

Method Description
BlockContext ( IMemberContext mc, ExplicitBlock block, System.TypeSpec returnType ) : System
BlockContext ( ResolveContext rc, ExplicitBlock block, System.TypeSpec returnType ) : System
EndFlowBranching ( ) : bool

Ends a code branching. Merges the state of locals and parameters from all the children of the ending branching.

KillFlowBranching ( ) : void

Kills the current code branching. This throws away any changed state information and should only be used in case of an error.

NeedReturnLabel ( ) : void
StartFlowBranching ( Block block ) : Mono.CSharp.FlowBranching

Starts a new code branching for block `block'.

StartFlowBranching ( Mono.CSharp.FlowBranching type, Mono.CSharp.Location loc ) : Mono.CSharp.FlowBranching

Starts a new code branching. This inherits the state of all local variables and parameters from the current branching.

StartFlowBranching ( ExceptionStatement stmt ) : Mono.CSharp.FlowBranchingException
StartFlowBranching ( Mono.CSharp.Iterator iterator, Mono.CSharp.FlowBranching parent ) : Mono.CSharp.FlowBranchingIterator
StartFlowBranching ( LabeledStatement stmt ) : Mono.CSharp.FlowBranchingLabeled
StartFlowBranching ( ParametersBlock stmt, Mono.CSharp.FlowBranching parent ) : Mono.CSharp.FlowBranchingToplevel
StartFlowBranching ( TryCatch stmt ) : Mono.CSharp.FlowBranchingTryCatch

Method Details

BlockContext() public method

public BlockContext ( IMemberContext mc, ExplicitBlock block, System.TypeSpec returnType ) : System
mc IMemberContext
block ExplicitBlock
returnType System.TypeSpec
return System

BlockContext() public method

public BlockContext ( ResolveContext rc, ExplicitBlock block, System.TypeSpec returnType ) : System
rc ResolveContext
block ExplicitBlock
returnType System.TypeSpec
return System

EndFlowBranching() public method

Ends a code branching. Merges the state of locals and parameters from all the children of the ending branching.
public EndFlowBranching ( ) : bool
return bool

KillFlowBranching() public method

Kills the current code branching. This throws away any changed state information and should only be used in case of an error.
public KillFlowBranching ( ) : void
return void

NeedReturnLabel() public method

public NeedReturnLabel ( ) : void
return void

StartFlowBranching() public method

Starts a new code branching for block `block'.
public StartFlowBranching ( Block block ) : Mono.CSharp.FlowBranching
block Block
return Mono.CSharp.FlowBranching

StartFlowBranching() public method

Starts a new code branching. This inherits the state of all local variables and parameters from the current branching.
public StartFlowBranching ( Mono.CSharp.FlowBranching type, Mono.CSharp.Location loc ) : Mono.CSharp.FlowBranching
type Mono.CSharp.FlowBranching
loc Mono.CSharp.Location
return Mono.CSharp.FlowBranching

StartFlowBranching() public method

public StartFlowBranching ( ExceptionStatement stmt ) : Mono.CSharp.FlowBranchingException
stmt ExceptionStatement
return Mono.CSharp.FlowBranchingException

StartFlowBranching() public method

public StartFlowBranching ( Mono.CSharp.Iterator iterator, Mono.CSharp.FlowBranching parent ) : Mono.CSharp.FlowBranchingIterator
iterator Mono.CSharp.Iterator
parent Mono.CSharp.FlowBranching
return Mono.CSharp.FlowBranchingIterator

StartFlowBranching() public method

public StartFlowBranching ( LabeledStatement stmt ) : Mono.CSharp.FlowBranchingLabeled
stmt LabeledStatement
return Mono.CSharp.FlowBranchingLabeled

StartFlowBranching() public method

public StartFlowBranching ( ParametersBlock stmt, Mono.CSharp.FlowBranching parent ) : Mono.CSharp.FlowBranchingToplevel
stmt ParametersBlock
parent Mono.CSharp.FlowBranching
return Mono.CSharp.FlowBranchingToplevel

StartFlowBranching() public method

public StartFlowBranching ( TryCatch stmt ) : Mono.CSharp.FlowBranchingTryCatch
stmt TryCatch
return Mono.CSharp.FlowBranchingTryCatch

Property Details

FlowOffset public property

public int FlowOffset
return int

HasReturnLabel public property

If we already defined the ReturnLabel
public bool HasReturnLabel
return bool

ReturnLabel public property

The location where return has to jump to return the value
public Label,System.Reflection.Emit ReturnLabel
return System.Reflection.Emit.Label