org.erights.e.elib.prim
Class InstanceMethodNode

java.lang.Object
  |
  +--org.erights.e.elib.base.MethodNode
        |
        +--org.erights.e.elib.prim.JavaMemberNode
              |
              +--org.erights.e.elib.prim.InstanceMethodNode
All Implemented Interfaces:
EStackItem, Script

class InstanceMethodNode
extends JavaMemberNode

How a java instance method is installed in a VTable

Author:
Mark S. Miller

Field Summary
 
Fields inherited from class org.erights.e.elib.prim.JavaMemberNode
myMember
 
Constructor Summary
InstanceMethodNode(java.lang.reflect.Method method)
           
 
Method Summary
static void defineMembers(VTable vTable, Class clazz, SafeJ safeJ)
           
 String explain(String args)
           
 String getDocComment()
          Enabled:
 Object innerExecute(Object self, Object[] args)
           
 Class[] parameterTypes()
          Enabled:
 Class receiverType()
           
 Class returnType()
          Enabled:
 
Methods inherited from class org.erights.e.elib.prim.JavaMemberNode
addJavaMemberNodesToMap, execute, getArity, getOptTypedVerb, getVerb, makeMessageType, member, optCoerceArgs, shorten, subPrintOn, toString, traceOn
 
Methods inherited from class org.erights.e.elib.base.MethodNode
protocol, respondsTo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

InstanceMethodNode

public InstanceMethodNode(java.lang.reflect.Method method)
Method Detail

defineMembers

public static void defineMembers(VTable vTable,
                                 Class clazz,
                                 SafeJ safeJ)
                          throws AlreadyDefinedException
AlreadyDefinedException

innerExecute

public Object innerExecute(Object self,
                           Object[] args)
                    throws IllegalAccessException,
                           IllegalArgumentException,
                           java.lang.reflect.InvocationTargetException
Specified by:
innerExecute in class JavaMemberNode
Throws:
IllegalArgumentException - if the number of actual and formal parameters differ, or if an unwrapping or method invocation conversion fails.
IllegalAccessException
java.lang.reflect.InvocationTargetException

receiverType

public Class receiverType()
Specified by:
receiverType in class JavaMemberNode

getDocComment

public String getDocComment()
Description copied from class: MethodNode
Enabled:

Specified by:
getDocComment in class MethodNode

parameterTypes

public Class[] parameterTypes()
Description copied from class: JavaMemberNode
Enabled:

Specified by:
parameterTypes in class JavaMemberNode

returnType

public Class returnType()
Description copied from class: JavaMemberNode
Enabled:

Specified by:
returnType in class JavaMemberNode

explain

public String explain(String args)
Specified by:
explain in class JavaMemberNode


comments?