edu.mit.ai.psg.jeva
Class JNEMethodInvocationExpression

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.JNEMethodInvocationExpression

public class JNEMethodInvocationExpression
extends ExpressionNode

Jeva parse node for Method invocation expressions: target.method(args...) [JavaLangSpec 1.0 sec 15.11 Method Invocation Expressions]. Uses type of target expression to determine signature of method to be called. The implementation of this signature may be overridden by subclasses of this type, so the type of the actual target value is also needed.

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)
           
 Object eval(IEnv env)
           
 int getInvocationMode()
           
 IMethod getMethodSignature()
           
 IExpressionNode getTargetExpression()
           
protected  void initMethodSignature(IEnv env)
           
 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

getMethodSignature

public IMethod getMethodSignature()

getTargetExpression

public IExpressionNode getTargetExpression()

getInvocationMode

public int getInvocationMode()

computeType

public IClass computeType(IEnv env)
                   throws VerifyingException
Overrides:
computeType in class ExpressionNode

computeIsConstant

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

eval

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

initMethodSignature

protected void initMethodSignature(IEnv env)
                            throws VerifyingException

Copyright (c) 1996-1999
Massachusetts Institute of Technology

Feedback: jeva-bugs@ai.mit.edu