edu.mit.ai.psg.jeva
Class JNEArrayAccessExpression

java.lang.Object
  |
  +--edu.mit.ai.psg.jeva.SimpleNode
        |
        +--edu.mit.ai.psg.jeva.JevaNode
              |
              +--edu.mit.ai.psg.jeva.ExpressionNode
                    |
                    +--edu.mit.ai.psg.jeva.JNEArrayAccessExpression

public class JNEArrayAccessExpression
extends ExpressionNode
implements IExpressionStoreNode

Jeva parse Node for array[index] Expressions [JavaLangSpec1.0 sec15.12 Array Access Expressions].

Author:
CarlManning, caroma@ai.mit.edu
Copyright (c) 1997, 1998, 1999 Massachusetts Institute of Technology

Fields inherited from class edu.mit.ai.psg.jeva.SimpleNode
children, id, parent
 
Method Summary
 boolean computeIsConstant(IEnv env)
           
 IClass computeType(IEnv env)
          computeType also does "compile time" one-time type checks as well.
 Object eval(IEnv env)
           
 IStore evalToStore(IEnv env)
          Used by assignment.
 IExpressionNode getArrayExpressionNode()
           
 IExpressionNode getIndexExpressionNode()
           
 Object jjtAccept(IJevaVisitor visitor, Object data)
           
 
Methods inherited from class edu.mit.ai.psg.jeva.ExpressionNode
getType, getType, getValue, isConstant
 
Methods inherited from class edu.mit.ai.psg.jeva.JevaNode
checkInsertionPoint, find2ndTokenBeforeEndBody, findChildIndex, findPrecedingToken, findTokenBeforeChild, findTokenBeforeChild, findTokenBeforeEnd, getBeginToken, getEndToken, insertChildTokens, insertNewChildAfter, insertNewChildAt, insertNewChildBefore, jnGetChild, jnGetParent, print, print, printToken, printToString, printToString, removeChild, removeChildTokens, replaceChild, replaceChild, setBeginToken, setEndToken, updateEndTokens, updateEndTokensPriorChild, updateEndTokensPriorNode, updateEndTokensPriorNode
 
Methods inherited from class edu.mit.ai.psg.jeva.SimpleNode
dump, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, toString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

jjtAccept

public Object jjtAccept(IJevaVisitor visitor,
                        Object data)
Overrides:
jjtAccept in class JevaNode

getArrayExpressionNode

public IExpressionNode getArrayExpressionNode()

getIndexExpressionNode

public IExpressionNode getIndexExpressionNode()

computeType

public IClass computeType(IEnv env)
                   throws VerifyingException
computeType also does "compile time" one-time type checks as well. [JavaLangSpec1.0 sec10.4 Array Access]
Overrides:
computeType in class ExpressionNode

computeIsConstant

public boolean computeIsConstant(IEnv env)
                          throws VerifyingException
Overrides:
computeIsConstant in class ExpressionNode

eval

public Object eval(IEnv env)
            throws ThrowException
Overrides:
eval in class ExpressionNode

evalToStore

public IStore evalToStore(IEnv env)
                   throws ThrowException
Used by assignment. ArrayExpr must be evaluated before indexExpr [JavaLangSpec1.0 sec15.12 Array Access Expressions]
Specified by:
evalToStore in interface IExpressionStoreNode

Copyright (c) 1996-1999
Massachusetts Institute of Technology

Feedback: jeva-bugs@ai.mit.edu