edu.mit.ai.psg.jeva
Class JNEEqualityExpression

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.LeftAssociativeOperatorExpression
                          |
                          +--edu.mit.ai.psg.jeva.JNEEqualityExpression

public class JNEEqualityExpression
extends LeftAssociativeOperatorExpression
implements JevaParserConstants

Jeva parse Node for == and != Expressions [JavaLangSpec 1.0 sec 15.20 Equality Operators].


Fields inherited from class edu.mit.ai.psg.jeva.SimpleNode
children, id, parent
 
Fields inherited from interface edu.mit.ai.psg.jeva.JevaParserConstants
_DEFAULT, ABSTRACT, ANDASSIGN, ASSIGN, BANG, BIT_AND, BIT_OR, BOOLEAN, BREAK, BYTE, CASE, CATCH, CHAR, CHARACTER_LITERAL, CLASS, COLON, COMMA, CONST, CONTINUE, DECIMAL_LITERAL, DECR, DEFAULT, DIGIT, DO, DOT, DOUBLE, ELSE, EOF, EQ, EXPONENT, EXTENDS, FALSE, FINAL, FINALLY, FLOAT, FLOATING_POINT_LITERAL, FOR, FORMAL_COMMENT, GE, GOTO, GT, HEX_LITERAL, HOOK, IDENTIFIER, IF, IMPLEMENTS, IMPORT, INCR, INSTANCEOF, INT, INTEGER_LITERAL, INTERFACE, LBRACE, LBRACKET, LE, LETTER, LONG, LPAREN, LSHIFT, LSHIFTASSIGN, LT, MINUS, MINUSASSIGN, MULTI_LINE_COMMENT, NATIVE, NE, NEW, NULL, OCTAL_LITERAL, ORASSIGN, PACKAGE, PLUS, PLUSASSIGN, PRIVATE, PROTECTED, PUBLIC, RBRACE, RBRACKET, REM, REMASSIGN, RETURN, RPAREN, RSIGNEDSHIFT, RSIGNEDSHIFTASSIGN, RUNSIGNEDSHIFT, RUNSIGNEDSHIFTASSIGN, SC_AND, SC_OR, SEMICOLON, SHORT, SINGLE_LINE_COMMENT, SLASH, SLASHASSIGN, STAR, STARASSIGN, STATIC, STRING_LITERAL, SUPER, SWITCH, SYNCHRONIZED, THIS, THROW, THROWS, TILDE, tokenImage, TRANSIENT, TRUE, TRY, VOID, VOLATILE, WHILE, WHITE_SPACE, XOR, XORASSIGN
 
Method Summary
 Object binaryCombine(Token operator, Object accumResult, Object nextResult)
          [JavaLangSpec 1.0 sec 15.20 Equality Operators]
 IClass binaryCombineTypes(Token operator, IClass leftType, IClass rightType)
          operands must either both be numeric, both be boolean, or both be references or null [JavaLangSpec 1.0 sec 15.20]
 Object jjtAccept(IJevaVisitor visitor, Object data)
          Accept a visitor.
 
Methods inherited from class edu.mit.ai.psg.jeva.LeftAssociativeOperatorExpression
computeIsConstant, computeType, eval
 
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, notVerified, print, print, printSpecialTokens, printToken, printToString, printToString, removeChild, removeChildTokens, replaceChild, replaceChild, setBeginToken, setEndToken, shouldNotHappen, shouldNotHappen, shouldNotHappen, 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)
Description copied from interface: IJevaNode
Accept a visitor. For visitor design pattern: jjtAccept must simply
  return visitor.visit(this, data);  
which dispatches on the type of this to appropriate method of visitor
Overrides:
jjtAccept in class JevaNode

binaryCombineTypes

public IClass binaryCombineTypes(Token operator,
                                 IClass leftType,
                                 IClass rightType)
operands must either both be numeric, both be boolean, or both be references or null [JavaLangSpec 1.0 sec 15.20]
Overrides:
binaryCombineTypes in class LeftAssociativeOperatorExpression
Tags copied from class: LeftAssociativeOperatorExpression
Parameters:
operator - is the Token between expressions (e.g., +,-,*,/,...)
accumResult - is result of accumulating the expressions to the left of the operator.
nextResult - is result of evaluating the next expression to the right of the operator.
Returns:
IClass of result of the combining accumResult and nextResult with operator.
Throws:
IllegalArgumentException - if types not acceptable

binaryCombine

public Object binaryCombine(Token operator,
                            Object accumResult,
                            Object nextResult)
                     throws ThrowException
[JavaLangSpec 1.0 sec 15.20 Equality Operators]
Overrides:
binaryCombine in class LeftAssociativeOperatorExpression
Tags copied from class: LeftAssociativeOperatorExpression
Parameters:
operator - is the Token between expressions (e.g., +,-,*,/,...)
accumResult - is result of accumulating the expressions to the left of the operator.
nextResult - is result of evaluating the next expression to the right of the operator.
Returns:
result of the combining accumResult and nextResult with operator
Throws:
ThrowException - wraps exception thrown by operator.

Copyright (c) 1996-1999
Massachusetts Institute of Technology

Feedback: jeva-feedback@ai.mit.edu