C# Class IronRuby.Builtins.Proc

Inheritance: IDuplicable
Show file Open project: jschementi/iron Class Usage Examples

Private Properties

Property Type Description
BuildCall void
BuildInvoke void
IDuplicable object
Proc System.Linq.Expressions

Public Methods

Method Description
Call ( Proc procArg ) : object
Call ( Proc procArg, object arg1 ) : object
Call ( Proc procArg, object arg1, object arg2 ) : object
Call ( Proc procArg, object arg1, object arg2, object arg3 ) : object
Call ( Proc procArg, object arg1, object arg2, object arg3, object arg4 ) : object
CallN ( Proc procArg, object args ) : object
Copy ( ) : Proc

Creates a copy of the proc that has the same target, context, self object as this instance. Doesn't copy instance data. Preserves the class of the Proc.

Create ( Proc proc ) : Proc

Creates a copy of the proc that has the same target, context and self object as this block.

Create ( RubyContext context, BlockCallTarget1 clrMethod ) : Proc
Create ( RubyContext context, BlockCallTarget2 clrMethod ) : Proc
Create ( RubyContext context, BlockCallTarget3 clrMethod ) : Proc
Create ( RubyContext context, int parameterCount, BlockCallTargetUnsplatN clrMethod ) : Proc
Create ( RubyContext context, int parameterCount, BlockSignatureAttributes signatureAttributes, Delegate clrMethod ) : Proc
CreateMethodInvoker ( IronRuby.Runtime.RubyScope scope, string methodName ) : Proc

Creates a proc that invokes a method of given name. Proc.new do |*args| raise ArgumentException if args.size == 0 obj.methodName(args.delete_at(0), args) end

CreateSimple ( RubyContext context, BlockCallTarget1 clrMethod ) : Proc
ToLambda ( RubyLambdaMethodInfo method ) : Proc

Creates a lambda Proc that has the same target, context and self object as this block. Doesn't preserve the class of the Proc.

ToLambdaMethodInfo ( Proc block, string definitionName, RubyMethodVisibility visibility, RubyModule owner ) : RubyLambdaMethodInfo
ToString ( ) : string

Protected Methods

Method Description
Proc ( Proc proc ) : System.Linq.Expressions

Private Methods

Method Description
BuildCall ( MetaObjectBuilder metaBuilder, Expression procExpression, Expression selfExpression, CallArguments args ) : void

From control flow perspective it "calls" the proc.

BuildInvoke ( MetaObjectBuilder metaBuilder, CallArguments args ) : void
IDuplicable ( RubyContext context, bool copySingletonMembers ) : object
Proc ( ProcKind kind, object self, IronRuby.Runtime.RubyScope scope, BlockDispatcher dispatcher ) : System.Linq.Expressions

Method Details

Call() public method

public Call ( Proc procArg ) : object
procArg Proc
return object

Call() public method

public Call ( Proc procArg, object arg1 ) : object
procArg Proc
arg1 object
return object

Call() public method

public Call ( Proc procArg, object arg1, object arg2 ) : object
procArg Proc
arg1 object
arg2 object
return object

Call() public method

public Call ( Proc procArg, object arg1, object arg2, object arg3 ) : object
procArg Proc
arg1 object
arg2 object
arg3 object
return object

Call() public method

public Call ( Proc procArg, object arg1, object arg2, object arg3, object arg4 ) : object
procArg Proc
arg1 object
arg2 object
arg3 object
arg4 object
return object

CallN() public method

public CallN ( Proc procArg, object args ) : object
procArg Proc
args object
return object

Copy() public method

Creates a copy of the proc that has the same target, context, self object as this instance. Doesn't copy instance data. Preserves the class of the Proc.
public Copy ( ) : Proc
return Proc

Create() public method

Creates a copy of the proc that has the same target, context and self object as this block.
public Create ( Proc proc ) : Proc
proc Proc
return Proc

Create() public static method

public static Create ( RubyContext context, BlockCallTarget1 clrMethod ) : Proc
context RubyContext
clrMethod BlockCallTarget1
return Proc

Create() public static method

public static Create ( RubyContext context, BlockCallTarget2 clrMethod ) : Proc
context RubyContext
clrMethod BlockCallTarget2
return Proc

Create() public static method

public static Create ( RubyContext context, BlockCallTarget3 clrMethod ) : Proc
context RubyContext
clrMethod BlockCallTarget3
return Proc

Create() public static method

public static Create ( RubyContext context, int parameterCount, BlockCallTargetUnsplatN clrMethod ) : Proc
context RubyContext
parameterCount int
clrMethod BlockCallTargetUnsplatN
return Proc

Create() public static method

public static Create ( RubyContext context, int parameterCount, BlockSignatureAttributes signatureAttributes, Delegate clrMethod ) : Proc
context RubyContext
parameterCount int
signatureAttributes BlockSignatureAttributes
clrMethod System.Delegate
return Proc

CreateMethodInvoker() public static method

Creates a proc that invokes a method of given name. Proc.new do |*args| raise ArgumentException if args.size == 0 obj.methodName(args.delete_at(0), args) end
public static CreateMethodInvoker ( IronRuby.Runtime.RubyScope scope, string methodName ) : Proc
scope IronRuby.Runtime.RubyScope
methodName string
return Proc

CreateSimple() public static method

public static CreateSimple ( RubyContext context, BlockCallTarget1 clrMethod ) : Proc
context RubyContext
clrMethod BlockCallTarget1
return Proc

Proc() protected method

protected Proc ( Proc proc ) : System.Linq.Expressions
proc Proc
return System.Linq.Expressions

ToLambda() public method

Creates a lambda Proc that has the same target, context and self object as this block. Doesn't preserve the class of the Proc.
public ToLambda ( RubyLambdaMethodInfo method ) : Proc
method IronRuby.Runtime.Calls.RubyLambdaMethodInfo
return Proc

ToLambdaMethodInfo() public static method

public static ToLambdaMethodInfo ( Proc block, string definitionName, RubyMethodVisibility visibility, RubyModule owner ) : RubyLambdaMethodInfo
block Proc
definitionName string
visibility RubyMethodVisibility
owner RubyModule
return IronRuby.Runtime.Calls.RubyLambdaMethodInfo

ToString() public method

public ToString ( ) : string
return string