C# Class IronRuby.Runtime.BlockParam

ファイルを表示 Open project: jschementi/iron Class Usage Examples

Private Properties

Property Type Description
BlockJumped bool
BlockParam System
BuildInvoke void
GetUnwinderResult object
SetFlowControl void

Public Methods

Method Description
Break ( object returnValue ) : object

Breaks from the current block.

PropagateFlow ( BlockParam yieldedBlock, object returnValue ) : object

Propagates control flow (break/return) from the yielded block to the enclosing block.

Returning ( object returnValue, object &result ) : bool
Yield ( object &blockResult ) : bool
Yield ( object arg1, object &blockResult ) : bool
Yield ( object arg1, object arg2, object &blockResult ) : bool
Yield ( object arg1, object arg2, object arg3, object &blockResult ) : bool
Yield ( object arg1, object arg2, object arg3, object arg4, object &blockResult ) : bool
YieldSplat ( IList args, object &blockResult ) : bool

Private Methods

Method Description
BlockJumped ( object returnValue ) : bool

Must be called on the result of RubyOps.Yield. Implements post-yield control flow operation.

Used by library methods that take a block. The binder creates an instance of BlockParam holding on RFC if necessary. A library method that creates a block yet doesn't take one needs to manage RFC on its own.

BlockParam ( Proc proc, BlockCallerKind callerKind, bool isLibProcConverter ) : System
BuildInvoke ( MetaObjectBuilder metaBuilder, CallArguments args ) : void

"yields" to the proc.

GetUnwinderResult ( EvalUnwinder unwinder ) : object
SetFlowControl ( BlockReturnReason reason, IronRuby.Runtime.RuntimeFlowControl targetFrame, ProcKind sourceProcKind ) : void

Method Details

Break() public method

Breaks from the current block.
public Break ( object returnValue ) : object
returnValue object
return object

PropagateFlow() public method

Propagates control flow (break/return) from the yielded block to the enclosing block.
public PropagateFlow ( BlockParam yieldedBlock, object returnValue ) : object
yieldedBlock BlockParam
returnValue object
return object

Returning() public method

public Returning ( object returnValue, object &result ) : bool
returnValue object
result object
return bool

Yield() public method

public Yield ( object &blockResult ) : bool
blockResult object
return bool

Yield() public method

public Yield ( object arg1, object &blockResult ) : bool
arg1 object
blockResult object
return bool

Yield() public method

public Yield ( object arg1, object arg2, object &blockResult ) : bool
arg1 object
arg2 object
blockResult object
return bool

Yield() public method

public Yield ( object arg1, object arg2, object arg3, object &blockResult ) : bool
arg1 object
arg2 object
arg3 object
blockResult object
return bool

Yield() public method

public Yield ( object arg1, object arg2, object arg3, object arg4, object &blockResult ) : bool
arg1 object
arg2 object
arg3 object
arg4 object
blockResult object
return bool

YieldSplat() public method

public YieldSplat ( IList args, object &blockResult ) : bool
args IList
blockResult object
return bool