C# Class Mono.CSharp.BlockContext

Inheritance: ResolveContext
显示文件 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_oe property

public int FlowOffset
return int

HasReturnLabel public_oe property

If we already defined the ReturnLabel
public bool HasReturnLabel
return bool

ReturnLabel public_oe property

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