|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jruby.runtime.MethodFactory
org.jruby.internal.runtime.methods.ReflectionMethodFactory
public class ReflectionMethodFactory
This MethodFactory uses reflection to provide method handles. Reflection is typically slower than code-generated handles, but it does provide a simple mechanism for binding in environments where code-generation isn't supported.
org.jruby.internal.runtime.methods.MethodFactory
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.jruby.runtime.MethodFactory |
---|
MethodFactory.MethodDefiningCallback |
Field Summary |
---|
Fields inherited from class org.jruby.runtime.MethodFactory |
---|
CAN_LOAD_BYTECODE, COMPILED_METHOD_PARAMS |
Constructor Summary | |
---|---|
ReflectionMethodFactory()
|
Method Summary | |
---|---|
DynamicMethod |
getAnnotatedMethod(RubyModule implementationClass,
JavaMethodDescriptor desc)
Use reflection to provide a method handle based on an annotated Java method. |
DynamicMethod |
getAnnotatedMethod(RubyModule implementationClass,
java.util.List<JavaMethodDescriptor> descs)
Use reflection to provide a method handle based on an annotated Java method. |
CompiledBlockCallback |
getBlockCallback(java.lang.String method,
java.lang.String file,
int line,
java.lang.Object scriptObject)
Get a CompiledBlockCallback for the specified block |
CompiledBlockCallback19 |
getBlockCallback19(java.lang.String method,
java.lang.String file,
int line,
java.lang.Object scriptObject)
Get a CompiledBlockCallback for the specified block |
DynamicMethod |
getCompiledMethod(RubyModule implementationClass,
java.lang.String methodName,
Arity arity,
Visibility visibility,
StaticScope scope,
java.lang.Object scriptObject,
CallConfiguration callConfig,
ISourcePosition position,
java.lang.String parameterDesc)
Use reflection to provide a method handle for a compiled Ruby method. |
DynamicMethod |
getCompiledMethodLazily(RubyModule implementationClass,
java.lang.String methodName,
Arity arity,
Visibility visibility,
StaticScope scope,
java.lang.Object scriptObject,
CallConfiguration callConfig,
ISourcePosition position,
java.lang.String parameterDesc)
Use reflection to provide a method handle for a compiled Ruby method. |
Methods inherited from class org.jruby.runtime.MethodFactory |
---|
createFactory, getBlockCallback19Offline, getBlockCallbackOffline, getCompiledMethodOffline |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ReflectionMethodFactory()
Method Detail |
---|
public DynamicMethod getCompiledMethodLazily(RubyModule implementationClass, java.lang.String methodName, Arity arity, Visibility visibility, StaticScope scope, java.lang.Object scriptObject, CallConfiguration callConfig, ISourcePosition position, java.lang.String parameterDesc)
getCompiledMethodLazily
in class MethodFactory
implementationClass
- The class to which the method will be bound.methodName
- The name of the methodarity
- The Arity of the methodvisibility
- The method's visibility on the target type.scope
- The methods static scoping information.scriptObject
- An instace of the target compiled method class.callConfig
- The call configuration to use for this method.
org.jruby.internal.runtime.methods.MethodFactory#getCompiledMethod
public DynamicMethod getCompiledMethod(RubyModule implementationClass, java.lang.String methodName, Arity arity, Visibility visibility, StaticScope scope, java.lang.Object scriptObject, CallConfiguration callConfig, ISourcePosition position, java.lang.String parameterDesc)
getCompiledMethod
in class MethodFactory
implementationClass
- The class to which the method will be bound.methodName
- The name of the methodarity
- The Arity of the methodvisibility
- The method's visibility on the target type.scope
- The methods static scoping information.scriptObject
- An instace of the target compiled method class.callConfig
- The call configuration to use for this method.position
- The position to use when generating traceable handles.
org.jruby.internal.runtime.methods.MethodFactory#getCompiledMethod
public DynamicMethod getAnnotatedMethod(RubyModule implementationClass, JavaMethodDescriptor desc)
getAnnotatedMethod
in class MethodFactory
implementationClass
- The target class or module on which the method
will be bound.desc
- A JavaMethodDescriptor describing the target method
org.jruby.internal.runtime.methods.MethodFactory#getAnnotatedMethod
public DynamicMethod getAnnotatedMethod(RubyModule implementationClass, java.util.List<JavaMethodDescriptor> descs)
getAnnotatedMethod
in class MethodFactory
implementationClass
- The target class or module on which the method
will be bound.
org.jruby.internal.runtime.methods.MethodFactory#getAnnotatedMethod
public CompiledBlockCallback getBlockCallback(java.lang.String method, java.lang.String file, int line, java.lang.Object scriptObject)
MethodFactory
getBlockCallback
in class MethodFactory
method
- The name of the methodscriptObject
- The object in which the method can be found
public CompiledBlockCallback19 getBlockCallback19(java.lang.String method, java.lang.String file, int line, java.lang.Object scriptObject)
MethodFactory
getBlockCallback19
in class MethodFactory
method
- The name of the methodscriptObject
- The object in which the method can be found
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |