org.jruby.java.invokers
Class ConstructorInvoker

java.lang.Object
  extended by org.jruby.internal.runtime.methods.DynamicMethod
      extended by org.jruby.internal.runtime.methods.JavaMethod
          extended by org.jruby.java.invokers.RubyToJavaInvoker
              extended by org.jruby.java.invokers.ConstructorInvoker
All Implemented Interfaces:
java.lang.Cloneable

public class ConstructorInvoker
extends RubyToJavaInvoker


Nested Class Summary
 
Nested classes/interfaces inherited from class org.jruby.internal.runtime.methods.JavaMethod
JavaMethod.JavaMethodN, JavaMethod.JavaMethodNBlock, JavaMethod.JavaMethodOne, JavaMethod.JavaMethodOneBlock, JavaMethod.JavaMethodOneOrN, JavaMethod.JavaMethodOneOrNBlock, JavaMethod.JavaMethodOneOrTwo, JavaMethod.JavaMethodOneOrTwoBlock, JavaMethod.JavaMethodOneOrTwoOrN, JavaMethod.JavaMethodOneOrTwoOrNBlock, JavaMethod.JavaMethodOneOrTwoOrThree, JavaMethod.JavaMethodOneOrTwoOrThreeBlock, JavaMethod.JavaMethodOneOrTwoOrThreeOrN, JavaMethod.JavaMethodOneOrTwoOrThreeOrNBlock, JavaMethod.JavaMethodThree, JavaMethod.JavaMethodThreeBlock, JavaMethod.JavaMethodThreeOrN, JavaMethod.JavaMethodThreeOrNBlock, JavaMethod.JavaMethodTwo, JavaMethod.JavaMethodTwoBlock, JavaMethod.JavaMethodTwoOrN, JavaMethod.JavaMethodTwoOrNBlock, JavaMethod.JavaMethodTwoOrThree, JavaMethod.JavaMethodTwoOrThreeBlock, JavaMethod.JavaMethodTwoOrThreeOrN, JavaMethod.JavaMethodTwoOrThreeOrNBlock, JavaMethod.JavaMethodZero, JavaMethod.JavaMethodZeroBlock, JavaMethod.JavaMethodZeroOrN, JavaMethod.JavaMethodZeroOrNBlock, JavaMethod.JavaMethodZeroOrOne, JavaMethod.JavaMethodZeroOrOneBlock, JavaMethod.JavaMethodZeroOrOneOrN, JavaMethod.JavaMethodZeroOrOneOrNBlock, JavaMethod.JavaMethodZeroOrOneOrTwo, JavaMethod.JavaMethodZeroOrOneOrTwoBlock, JavaMethod.JavaMethodZeroOrOneOrTwoOrN, JavaMethod.JavaMethodZeroOrOneOrTwoOrNBlock, JavaMethod.JavaMethodZeroOrOneOrTwoOrThree, JavaMethod.JavaMethodZeroOrOneOrTwoOrThreeBlock, JavaMethod.JavaMethodZeroOrOneOrTwoOrThreeOrN, JavaMethod.JavaMethodZeroOrOneOrTwoOrThreeOrNBlock
 
Nested classes/interfaces inherited from class org.jruby.internal.runtime.methods.DynamicMethod
DynamicMethod.NativeCall
 
Field Summary
 
Fields inherited from class org.jruby.java.invokers.RubyToJavaInvoker
cache, EMPTY_OBJECT_ARRAY, javaCallable, javaCallables, javaVarargsCallables, minVarargsArity
 
Fields inherited from class org.jruby.internal.runtime.methods.JavaMethod
arity, arityValue, BLOCK_METHODS, BLOCK_REST_METHODS, METHODS, REST_METHODS, staticScope
 
Fields inherited from class org.jruby.internal.runtime.methods.DynamicMethod
builtin, callConfig, implementationClass, name, nativeCall, notImplemented, protectedClass, serialNumber, visibility
 
Constructor Summary
ConstructorInvoker(RubyModule host, java.util.List<java.lang.reflect.Constructor> ctors)
           
 
Method Summary
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name)
          Arity 0, no block
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, Block block)
          Arity 0, with block; calls through IRubyObject[] path
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0)
          Arity 1, no block
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject[] args)
          A default implementation of n-arity, non-block 'call' method, which simply calls the n-arity, block-receiving version with the arg list and Block.NULL_BLOCK.
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject[] args, Block block)
          The minimum 'call' method required for a dynamic method handle.
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0, Block block)
          Arity 1, with block; calls through IRubyObject[] path
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0, IRubyObject arg1)
          Arity 2, no block
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0, IRubyObject arg1, Block block)
          Arity 2, with block; calls through IRubyObject[] path
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2)
          Arity 3, no block
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
          Arity 3, with block; calls through IRubyObject[] path
protected  JavaCallable createCallable(Ruby ruby, java.lang.reflect.Member member)
           
protected  JavaCallable[] createCallableArray(int size)
           
protected  JavaCallable[] createCallableArray(JavaCallable callable)
           
protected  JavaCallable[][] createCallableArrayArray(int size)
           
protected  java.lang.Class[] getMemberParameterTypes(java.lang.reflect.Member member)
           
protected  boolean isMemberVarArgs(java.lang.reflect.Member member)
           
 
Methods inherited from class org.jruby.java.invokers.RubyToJavaInvoker
findCallable, findCallableArityFour, findCallableArityOne, findCallableArityThree, findCallableArityTwo, findCallableArityZero, getAccessibleObjects, getMembers
 
Methods inherited from class org.jruby.internal.runtime.methods.JavaMethod
callTrace, callTraceCompiled, checkArgumentCount, dup, getArity, getJavaName, init, isNative, isSingleton, postBacktraceAndScope, postBacktraceDummyScope, postBacktraceOnly, postFrameAndScope, postFrameOnly, postNoFrameDummyScope, postNoop, postScopeOnly, preBacktraceAndScope, preBacktraceDummyScope, preBacktraceOnly, preFrameAndDummyScope, preFrameAndScope, preFrameOnly, preNoFrameDummyScope, preNoop, preScopeOnly, raiseArgumentError, returnTrace, returnTraceCompiled, setArity, setJavaName, setSingleton
 
Methods inherited from class org.jruby.internal.runtime.methods.DynamicMethod
calculateProtectedClass, call, call, call, call, call, call, call, call, call, call, call, call, call, call, getCallConfig, getImplementationClass, getName, getNativeCall, getProtectedClass, getRealMethod, getSerialNumber, getVisibility, handleBreak, handleRedo, handleReturn, init, isBuiltin, isCallableFrom, isNotImplemented, isUndefined, setCallConfig, setImplementationClass, setIsBuiltin, setName, setNativeCall, setNotImplemented, setVisibility
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConstructorInvoker

public ConstructorInvoker(RubyModule host,
                          java.util.List<java.lang.reflect.Constructor> ctors)
Method Detail

createCallable

protected JavaCallable createCallable(Ruby ruby,
                                      java.lang.reflect.Member member)
Specified by:
createCallable in class RubyToJavaInvoker

createCallableArray

protected JavaCallable[] createCallableArray(JavaCallable callable)
Specified by:
createCallableArray in class RubyToJavaInvoker

createCallableArray

protected JavaCallable[] createCallableArray(int size)
Specified by:
createCallableArray in class RubyToJavaInvoker

createCallableArrayArray

protected JavaCallable[][] createCallableArrayArray(int size)
Specified by:
createCallableArrayArray in class RubyToJavaInvoker

getMemberParameterTypes

protected java.lang.Class[] getMemberParameterTypes(java.lang.reflect.Member member)
Specified by:
getMemberParameterTypes in class RubyToJavaInvoker

isMemberVarArgs

protected boolean isMemberVarArgs(java.lang.reflect.Member member)
Specified by:
isMemberVarArgs in class RubyToJavaInvoker

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule clazz,
                        java.lang.String name,
                        IRubyObject[] args)
Description copied from class: DynamicMethod
A default implementation of n-arity, non-block 'call' method, which simply calls the n-arity, block-receiving version with the arg list and Block.NULL_BLOCK.

Overrides:
call in class DynamicMethod
Parameters:
context - The thread context for the currently executing thread
self - The 'self' or 'receiver' object to use for this call
name - The incoming name used to invoke this method
Returns:
The result of the call

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule clazz,
                        java.lang.String name)
Description copied from class: DynamicMethod
Arity 0, no block

Overrides:
call in class DynamicMethod

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule clazz,
                        java.lang.String name,
                        IRubyObject arg0)
Description copied from class: DynamicMethod
Arity 1, no block

Overrides:
call in class DynamicMethod

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule clazz,
                        java.lang.String name,
                        IRubyObject arg0,
                        IRubyObject arg1)
Description copied from class: DynamicMethod
Arity 2, no block

Overrides:
call in class DynamicMethod

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule clazz,
                        java.lang.String name,
                        IRubyObject arg0,
                        IRubyObject arg1,
                        IRubyObject arg2)
Description copied from class: DynamicMethod
Arity 3, no block

Overrides:
call in class DynamicMethod

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule clazz,
                        java.lang.String name,
                        IRubyObject[] args,
                        Block block)
Description copied from class: DynamicMethod
The minimum 'call' method required for a dynamic method handle. Subclasses must impleemnt this method, but may implement the other signatures to provide faster, non-boxing call paths. Typically subclasses will implement this method to check variable arity calls, then performing a specific-arity invocation to the appropriate method or performing variable-arity logic in-line.

Specified by:
call in class DynamicMethod
Parameters:
context - The thread context for the currently executing thread
self - The 'self' or 'receiver' object to use for this call
name - The incoming name used to invoke this method
args - The argument list to this invocation
block - The block passed to this invocation
Returns:
The result of the call

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule clazz,
                        java.lang.String name,
                        Block block)
Description copied from class: DynamicMethod
Arity 0, with block; calls through IRubyObject[] path

Overrides:
call in class DynamicMethod

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule clazz,
                        java.lang.String name,
                        IRubyObject arg0,
                        Block block)
Description copied from class: DynamicMethod
Arity 1, with block; calls through IRubyObject[] path

Overrides:
call in class DynamicMethod

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule clazz,
                        java.lang.String name,
                        IRubyObject arg0,
                        IRubyObject arg1,
                        Block block)
Description copied from class: DynamicMethod
Arity 2, with block; calls through IRubyObject[] path

Overrides:
call in class DynamicMethod

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule clazz,
                        java.lang.String name,
                        IRubyObject arg0,
                        IRubyObject arg1,
                        IRubyObject arg2,
                        Block block)
Description copied from class: DynamicMethod
Arity 3, with block; calls through IRubyObject[] path

Overrides:
call in class DynamicMethod


Copyright © 2002-2009 JRuby Team. All Rights Reserved.