orc.runtime.sites.java
Class ClassProxy

java.lang.Object
  extended by orc.runtime.values.Value
      extended by orc.runtime.sites.Site
          extended by orc.runtime.sites.EvalSite
              extended by orc.runtime.sites.java.ClassProxy
All Implemented Interfaces:
Callable

public class ClassProxy
extends EvalSite

Author:
dkitchin, quark

Field Summary
 
Fields inherited from class orc.runtime.values.Value
futureNotReady
 
Method Summary
 java.lang.Object evaluate(Args args)
           
static ClassProxy forClass(java.lang.Class c)
          These objects are cached so that instances of a class can share the same method handles.
 MethodHandle getMethod(java.lang.String methodName)
          Look up a method by name.
 
Methods inherited from class orc.runtime.sites.EvalSite
callSite
 
Methods inherited from class orc.runtime.sites.Site
accept, createCall, type
 
Methods inherited from class orc.runtime.values.Value
forceArg, forceCall, isNone, isSome, signal, untag
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

forClass

public static ClassProxy forClass(java.lang.Class c)
These objects are cached so that instances of a class can share the same method handles.


evaluate

public java.lang.Object evaluate(Args args)
                          throws TokenException
Specified by:
evaluate in class EvalSite
Throws:
TokenException

getMethod

public MethodHandle getMethod(java.lang.String methodName)
                       throws MessageNotUnderstoodException
Look up a method by name. Method handles are cached so that future lookups can go faster. FIXME: should distinguish between static and non-static calls.

Throws:
MessageNotUnderstoodException