IronRuby.Runtime.Calls.CallArguments.GetBlockExpression C# (CSharp) Method

GetBlockExpression() public method

public GetBlockExpression ( ) : Expression
return System.Linq.Expressions.Expression
        public Expression GetBlockExpression() {
            return _signature.HasBlock ? _args[GetBlockIndex()].Expression : null;
        }

Usage Example

Example #1
0
 internal override void BuildCallNoFlow(MetaObjectBuilder /*!*/ metaBuilder, CallArguments /*!*/ args, string /*!*/ name)
 {
     // TODO: splat, rhs, ...
     if (args.Signature.ArgumentCount == 0)
     {
         if (args.Signature.HasBlock)
         {
             metaBuilder.Result = Methods.HookupEvent.OpCall(
                 AstUtils.Constant(this),
                 args.TargetExpression,
                 Ast.Convert(args.GetBlockExpression(), typeof(Proc))
                 );
         }
         else
         {
             metaBuilder.Result = Methods.CreateEvent.OpCall(
                 AstUtils.Constant(this),
                 args.TargetExpression,
                 AstUtils.Constant(name)
                 );
         }
     }
     else
     {
         metaBuilder.SetError(Methods.MakeWrongNumberOfArgumentsError.OpCall(Ast.Constant(args.Signature.ArgumentCount), Ast.Constant(0)));
     }
 }
All Usage Examples Of IronRuby.Runtime.Calls.CallArguments::GetBlockExpression