jif.ast
Class JifArrayAccessAssign_c

java.lang.Object
  extended by polyglot.ast.Node_c
      extended by polyglot.ast.Term_c
          extended by polyglot.ast.Expr_c
              extended by polyglot.ast.Assign_c
                  extended by polyglot.ast.ArrayAccessAssign_c
                      extended by jif.ast.JifArrayAccessAssign_c
All Implemented Interfaces:
java.lang.Cloneable, polyglot.ast.ArrayAccessAssign, polyglot.ast.Assign, polyglot.ast.Expr, polyglot.ast.JL, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.ast.Prefix, polyglot.ast.Receiver, polyglot.ast.Term, polyglot.ast.Typed, polyglot.util.Copy

public class JifArrayAccessAssign_c
extends polyglot.ast.ArrayAccessAssign_c

A ArrayAccessAssign_c represents a Java assignment expression to an array element. For instance, A[3] = e. The class of the Expr returned by ArrayAccessAssign_c.left()is guaranteed to be an ArrayAccess.


Nested Class Summary
 
Nested classes/interfaces inherited from interface polyglot.ast.Assign
polyglot.ast.Assign.Operator
 
Field Summary
 
Fields inherited from class polyglot.ast.Assign_c
left, op, right
 
Fields inherited from class polyglot.ast.Expr_c
type
 
Fields inherited from class polyglot.ast.Term_c
exceptions, reachable
 
Fields inherited from class polyglot.ast.Node_c
del, error, ext, position
 
Fields inherited from interface polyglot.ast.Assign
ADD_ASSIGN, ASSIGN, BIT_AND_ASSIGN, BIT_OR_ASSIGN, BIT_XOR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN, MUL_ASSIGN, SHL_ASSIGN, SHR_ASSIGN, SUB_ASSIGN, USHR_ASSIGN
 
Fields inherited from interface polyglot.ast.Term
ENTRY, EXIT
 
Constructor Summary
JifArrayAccessAssign_c(polyglot.util.Position pos, polyglot.ast.ArrayAccess left, polyglot.ast.Assign.Operator op, polyglot.ast.Expr right)
           
 
Method Summary
 boolean throwsArrayStoreException()
          Since Jif's type system makes arrays invariant on the base type, no array store exceptions can be thrown.
 
Methods inherited from class polyglot.ast.ArrayAccessAssign_c
acceptCFGAssign, acceptCFGOpAssign, firstChild, left, throwTypes
 
Methods inherited from class polyglot.ast.Assign_c
acceptCFG, childExpectedType, copy, dump, left, operator, operator, precedence, prettyPrint, reconstruct, right, right, throwsArithmeticException, toString, typeCheck, visitChildren
 
Methods inherited from class polyglot.ast.Expr_c
booleanValue, buildTypes, byteValue, charValue, constantValue, constantValueSet, doubleValue, floatValue, intValue, isConstant, isTypeChecked, longValue, printSubExpr, printSubExpr, shortValue, stringValue, type, type
 
Methods inherited from class polyglot.ast.Term_c
exceptionCheck, exceptions, exceptions, listChild, reachable, reachable
 
Methods inherited from class polyglot.ast.Node_c
addDecls, buildTypesEnter, checkConstants, copy, copy, del, del, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, error, error, exceptionCheckEnter, ext, ext, ext, ext, init, isDisambiguated, node, position, position, prettyPrint, prettyPrint, print, printBlock, printSubStmt, translate, typeCheckEnter, typeCheckOverride, visit, visitChild, visitEdge, visitList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface polyglot.ast.Assign
left, operator, operator, right, right, throwsArithmeticException
 
Methods inherited from interface polyglot.ast.Expr
constantValue, constantValueSet, isConstant, precedence, printSubExpr, printSubExpr, type
 
Methods inherited from interface polyglot.ast.Node
childExpectedType, del, del, dump, error, error, ext, ext, ext, ext, isDisambiguated, isTypeChecked, position, position, visit, visitChild, visitEdge, visitList
 
Methods inherited from interface polyglot.ast.JL
init, node
 
Methods inherited from interface polyglot.ast.NodeOps
addDecls, buildTypes, buildTypesEnter, checkConstants, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, prettyPrint, prettyPrint, prettyPrint, translate, typeCheck, typeCheckEnter, typeCheckOverride, visitChildren
 
Methods inherited from interface polyglot.util.Copy
copy
 
Methods inherited from interface polyglot.ast.Typed
type
 
Methods inherited from interface polyglot.ast.Term
acceptCFG, exceptions, exceptions, reachable, reachable
 

Constructor Detail

JifArrayAccessAssign_c

public JifArrayAccessAssign_c(polyglot.util.Position pos,
                              polyglot.ast.ArrayAccess left,
                              polyglot.ast.Assign.Operator op,
                              polyglot.ast.Expr right)
Method Detail

throwsArrayStoreException

public boolean throwsArrayStoreException()
Since Jif's type system makes arrays invariant on the base type, no array store exceptions can be thrown.

Specified by:
throwsArrayStoreException in interface polyglot.ast.ArrayAccessAssign
Overrides:
throwsArrayStoreException in class polyglot.ast.ArrayAccessAssign_c