org.erights.e.elib.prim
Class VarGetterNode

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

class VarGetterNode
extends JavaMemberNode

A java public instance variable becomes an E zero-arg method which reads its value

Author:
Mark S. Miller

Field Summary
private  String myVerb
           
private static Class[] NO_CLASSES
           
private static boolean[] PropFlags
           
 
Fields inherited from class org.erights.e.elib.prim.JavaMemberNode
myMember
 
Constructor Summary
VarGetterNode(java.lang.reflect.Field field, boolean propFlag)
           
 
Method Summary
static void defineMembers(VTable vTable, Class clazz, boolean isStatic, 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()
          Enabled:
 
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

NO_CLASSES

private static final Class[] NO_CLASSES

myVerb

private final String myVerb

PropFlags

private static boolean[] PropFlags
Constructor Detail

VarGetterNode

public VarGetterNode(java.lang.reflect.Field field,
                     boolean propFlag)
Method Detail

getVerb

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

Overrides:
getVerb in class JavaMemberNode

explain

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

innerExecute

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

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

defineMembers

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


comments?