C# Class Microsoft.Scripting.Actions.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.
Afficher le fichier Open project: jschementi/iron

Méthodes publiques

Méthode Description
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.

FinishCondition ( DynamicMetaObject body ) : void
FinishCondition ( Expression body ) : void

Adds the non-conditional terminating node.

FinishError ( DynamicMetaObject body ) : void
FinishError ( Expression body ) : void

Adds the non-conditional terminating node.

GetMetaObject ( ) : DynamicMetaObject

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

Method Details

AddCondition() public méthode

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
Résultat void

AddVariable() public méthode

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
Résultat void

FinishCondition() public méthode

public FinishCondition ( DynamicMetaObject body ) : void
body DynamicMetaObject
Résultat void

FinishCondition() public méthode

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

FinishError() public méthode

public FinishError ( DynamicMetaObject body ) : void
body DynamicMetaObject
Résultat void

FinishError() public méthode

Adds the non-conditional terminating node.
public FinishError ( Expression body ) : void
body System.Linq.Expressions.Expression
Résultat void

GetMetaObject() public méthode

Gets the resulting meta object for the full body. FinishCondition must have been called.
public GetMetaObject ( ) : DynamicMetaObject
Résultat DynamicMetaObject