C# Class Microsoft.Scripting.Actions.Calls.ArgBuilder

ArgBuilder provides an argument value used by the MethodBinder. One ArgBuilder exists for each physical parameter defined on a method. Contrast this with ParameterWrapper which represents the logical argument passed to the method.
Show file Open project: jschementi/iron Class Usage Examples

Private Properties

Property Type Description
ToReturnExpression System.Linq.Expressions.Expression
UpdateFromReturn System.Linq.Expressions.Expression

Public Methods

Method Description
Clone ( ParameterInfo newType ) : ArgBuilder

Protected Methods

Method Description
ArgBuilder ( ParameterInfo info ) : System.Linq.Expressions
ToExpression ( OverloadResolver resolver, Microsoft.Scripting.Actions.Calls.RestrictedArguments args, bool hasBeenUsed ) : Expression

Provides the Expression which provides the value to be passed to the argument. If null is returned the argument is skipped (not passed to the callee).

Private Methods

Method Description
ToReturnExpression ( OverloadResolver resolver ) : Expression

If the argument produces a return value (e.g. a ref or out value) this provides the additional value to be returned.

UpdateFromReturn ( OverloadResolver resolver, Microsoft.Scripting.Actions.Calls.RestrictedArguments args ) : Expression

Provides an Expression which will update the provided value after a call to the method. May return null if no update is required.

Method Details

ArgBuilder() protected method

protected ArgBuilder ( ParameterInfo info ) : System.Linq.Expressions
info System.Reflection.ParameterInfo
return System.Linq.Expressions

Clone() public method

public Clone ( ParameterInfo newType ) : ArgBuilder
newType System.Reflection.ParameterInfo
return ArgBuilder

ToExpression() protected abstract method

Provides the Expression which provides the value to be passed to the argument. If null is returned the argument is skipped (not passed to the callee).
protected abstract ToExpression ( OverloadResolver resolver, Microsoft.Scripting.Actions.Calls.RestrictedArguments args, bool hasBeenUsed ) : Expression
resolver OverloadResolver
args Microsoft.Scripting.Actions.Calls.RestrictedArguments
hasBeenUsed bool
return System.Linq.Expressions.Expression