jltools.ext.jl.ast
Class ArrayAccess_c

java.lang.Object
  |
  +--jltools.ext.jl.ast.Node_c
        |
        +--jltools.ext.jl.ast.Expr_c
              |
              +--jltools.ext.jl.ast.ArrayAccess_c
All Implemented Interfaces:
ArrayAccess, java.lang.Cloneable, Copy, Expr, Node, Prefix, Receiver, java.io.Serializable, Typed

public class ArrayAccess_c
extends Expr_c
implements ArrayAccess

An ArrayAccess is an immutable representation of an access of an array member.

See Also:
Serialized Form

Inner classes inherited from class jltools.ext.jl.ast.Node_c
Node_c.StringCodeWriter
 
Field Summary
protected  Expr array
           
protected  Expr index
           
 
Fields inherited from class jltools.ext.jl.ast.Expr_c
type
 
Fields inherited from class jltools.ext.jl.ast.Node_c
ext, position
 
Constructor Summary
ArrayAccess_c(Ext ext, Position pos, Expr array, Expr index)
           
 
Method Summary
 Expr array()
          Get the array of the expression.
 ArrayAccess array(Expr array)
          Set the array of the expression.
 Node exceptionCheck_(ExceptionChecker ec)
          Check exceptions thrown by the expression.
 Expr index()
          Get the index of the expression.
 ArrayAccess index(Expr index)
          Set the index of the expression.
 Precedence precedence()
          Get the precedence of the expression.
protected  ArrayAccess_c reconstruct(Expr array, Expr index)
          Reconstruct the expression.
 java.lang.String toString()
           
 void translate_(CodeWriter w, Translator tr)
          Write the expression to an output file.
 Node typeCheck_(TypeChecker tc)
          Type check the expression.
 Node visitChildren(NodeVisitor v)
          Visit the children of the expression.
 
Methods inherited from class jltools.ext.jl.ast.Expr_c
buildTypes_, dump, reconstructTypes_, translateSubexpr, type, type
 
Methods inherited from class jltools.ext.jl.ast.Node_c
buildTypes, buildTypesOverride_, buildTypesOverride, copy, disambiguate_, disambiguate, disambiguateOverride_, disambiguateOverride, disambiguateTypes_, disambiguateTypes, disambiguateTypesOverride_, disambiguateTypesOverride, enterScope, exceptionCheck, exceptionCheckOverride_, exceptionCheckOverride, ext, ext, foldConstants_, foldConstants, foldConstantsOverride_, foldConstantsOverride, leaveScope, position, position, reconstructTypes, translate, translateBlock, translateSubstmt, typeCheck, typeCheckOverride_, typeCheckOverride, visit, visitList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jltools.ast.Expr
type
 
Methods inherited from interface jltools.ast.Node
buildTypes_, buildTypesOverride_, copy, disambiguate_, disambiguateOverride_, disambiguateTypes_, disambiguateTypesOverride_, dump, enterScope, exceptionCheckOverride_, ext, ext, foldConstants_, foldConstantsOverride_, leaveScope, position, position, reconstructTypes_, typeCheckOverride_, visit
 
Methods inherited from interface jltools.ast.Typed
type
 

Field Detail

array

protected Expr array

index

protected Expr index
Constructor Detail

ArrayAccess_c

public ArrayAccess_c(Ext ext,
                     Position pos,
                     Expr array,
                     Expr index)
Method Detail

precedence

public Precedence precedence()
Get the precedence of the expression.
Specified by:
precedence in interface Expr
Overrides:
precedence in class Expr_c

array

public Expr array()
Get the array of the expression.
Specified by:
array in interface ArrayAccess

array

public ArrayAccess array(Expr array)
Set the array of the expression.
Specified by:
array in interface ArrayAccess

index

public Expr index()
Get the index of the expression.
Specified by:
index in interface ArrayAccess

index

public ArrayAccess index(Expr index)
Set the index of the expression.
Specified by:
index in interface ArrayAccess

reconstruct

protected ArrayAccess_c reconstruct(Expr array,
                                    Expr index)
Reconstruct the expression.

visitChildren

public Node visitChildren(NodeVisitor v)
Visit the children of the expression.
Specified by:
visitChildren in interface Node
Overrides:
visitChildren in class Node_c

typeCheck_

public Node typeCheck_(TypeChecker tc)
                throws SemanticException
Type check the expression.
Specified by:
typeCheck_ in interface Node
Overrides:
typeCheck_ in class Node_c

exceptionCheck_

public Node exceptionCheck_(ExceptionChecker ec)
                     throws SemanticException
Check exceptions thrown by the expression.
Specified by:
exceptionCheck_ in interface Node
Overrides:
exceptionCheck_ in class Node_c

toString

public java.lang.String toString()
Overrides:
toString in class Node_c

translate_

public void translate_(CodeWriter w,
                       Translator tr)
Write the expression to an output file.
Specified by:
translate_ in interface Node
Overrides:
translate_ in class Node_c
Following copied from interface: jltools.ast.Node
Parameters:
w - The code writer to which to write.
tr - The translation pass. This is not a visitor.