orc.runtime.sites.java
Class MethodHandle

java.lang.Object
  extended by orc.runtime.sites.java.InvokableHandle<java.lang.reflect.Method>
      extended by orc.runtime.sites.java.MethodHandle

public class MethodHandle
extends InvokableHandle<java.lang.reflect.Method>

Java has method overloading so this may actually call one of several methods depending on the number and type of arguments. This should be cached so that only one instance is used for a given method name and class.

Author:
quark

Nested Class Summary
 
Nested classes/interfaces inherited from class orc.runtime.sites.java.InvokableHandle
InvokableHandle.Type
 
Field Summary
 
Fields inherited from class orc.runtime.sites.java.InvokableHandle
name
 
Constructor Summary
MethodHandle(java.lang.String name, java.lang.reflect.Method[] methods)
           
 
Method Summary
protected  int getModifiers(java.lang.reflect.Method m)
           
 java.lang.Class[] getParameterTypes(java.lang.reflect.Method m)
           
 
Methods inherited from class orc.runtime.sites.java.InvokableHandle
classToType, coerce, isCoercableFrom, resolve
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MethodHandle

public MethodHandle(java.lang.String name,
                    java.lang.reflect.Method[] methods)
Method Detail

getParameterTypes

public java.lang.Class[] getParameterTypes(java.lang.reflect.Method m)
Specified by:
getParameterTypes in class InvokableHandle<java.lang.reflect.Method>

getModifiers

protected int getModifiers(java.lang.reflect.Method m)
Specified by:
getModifiers in class InvokableHandle<java.lang.reflect.Method>