org.erights.e.elib.prim
Class ConstructorNode

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

class ConstructorNode
extends JavaMemberNode

Turns a java constructor into a "run" method on the corresponding StaticMaker, as seen thru E.call*() and E.send*().

Author:
Mark S. Miller

Field Summary
private  String myVerb
           
 
Fields inherited from class org.erights.e.elib.prim.JavaMemberNode
myMember
 
Constructor Summary
private ConstructorNode(java.lang.reflect.Constructor constr, String verb)
           
 
Method Summary
static void defineMembers(VTable vTable, Class clazz, SafeJ safeJ)
           
 String explain(String args)
           
 String getDocComment()
          Enabled:
 String getVerb()
          Enabled:
 Object innerExecute(Object self, Object[] args)
           
 Class[] parameterTypes()
          Enabled:
 Class receiverType()
           
 Class returnType()
          The return type is the declaring class of the Constructor, since we're not concerned about 'super(...)' invocations.
 
Methods inherited from class org.erights.e.elib.prim.JavaMemberNode
addJavaMemberNodesToMap, execute, getArity, getOptTypedVerb, 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
 

Field Detail

myVerb

private final String myVerb
Constructor Detail

ConstructorNode

private ConstructorNode(java.lang.reflect.Constructor constr,
                        String verb)
Method Detail

defineMembers

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

explain

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

innerExecute

public Object innerExecute(Object self,
                           Object[] args)
                    throws InstantiationException,
                           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.
InstantiationException
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

getVerb

public String getVerb()
Description copied from class: JavaMemberNode
Enabled:

Overrides:
getVerb in class JavaMemberNode

parameterTypes

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

Specified by:
parameterTypes in class JavaMemberNode

returnType

public Class returnType()
The return type is the declaring class of the Constructor, since we're not concerned about 'super(...)' invocations.

Specified by:
returnType in class JavaMemberNode


comments?