C# Class IronPython.Runtime.Binding.ConditionalBuilder

Builds up a series of conditionals when the False clause isn't yet known. We can keep appending conditions and if true's. Each subsequent true branch becomes the false branch of the previous condition and body. Finally a non-conditional terminating branch must be added.
Exibir arquivo Open project: jschementi/iron Class Usage Examples

Public Methods

Method Description
AddCondition ( Expression condition ) : void

Adds a new condition to the last added body / condition.

AddCondition ( Expression condition, Expression body ) : void

Adds a new conditional and body. The first call this becomes the top-level conditional, subsequent calls will have it added as false statement of the previous conditional.

AddVariable ( System.Linq.Expressions.ParameterExpression var ) : void

Adds a variable which will be scoped at the level of the final expression.

ConditionalBuilder ( ) : System.Linq.Expressions
ConditionalBuilder ( DynamicMetaObjectBinder action ) : System.Linq.Expressions
FinishCondition ( Expression body ) : void

Adds the non-conditional terminating node.

FinishCondition ( Expression body, Type retType ) : void
GetMetaObject ( ) : DynamicMetaObject

Gets the resulting meta object for the full body. FinishCondition must have been called.

Method Details

AddCondition() public method

Adds a new condition to the last added body / condition.
public AddCondition ( Expression condition ) : void
condition System.Linq.Expressions.Expression
return void

AddCondition() public method

Adds a new conditional and body. The first call this becomes the top-level conditional, subsequent calls will have it added as false statement of the previous conditional.
public AddCondition ( Expression condition, Expression body ) : void
condition System.Linq.Expressions.Expression
body System.Linq.Expressions.Expression
return void

AddVariable() public method

Adds a variable which will be scoped at the level of the final expression.
public AddVariable ( System.Linq.Expressions.ParameterExpression var ) : void
var System.Linq.Expressions.ParameterExpression
return void

ConditionalBuilder() public method

public ConditionalBuilder ( ) : System.Linq.Expressions
return System.Linq.Expressions

ConditionalBuilder() public method

public ConditionalBuilder ( DynamicMetaObjectBinder action ) : System.Linq.Expressions
action System.Dynamic.DynamicMetaObjectBinder
return System.Linq.Expressions

FinishCondition() public method

Adds the non-conditional terminating node.
public FinishCondition ( Expression body ) : void
body System.Linq.Expressions.Expression
return void

FinishCondition() public method

public FinishCondition ( Expression body, Type retType ) : void
body System.Linq.Expressions.Expression
retType System.Type
return void

GetMetaObject() public method

Gets the resulting meta object for the full body. FinishCondition must have been called.
public GetMetaObject ( ) : DynamicMetaObject
return System.Dynamic.DynamicMetaObject