jltools.ext.jl.ast
Class Assign_c

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

public class Assign_c
extends Expr_c
implements Assign

An Assign represents a Java assignment expression.

See Also:
Serialized Form

Inner classes inherited from class jltools.ext.jl.ast.Node_c
Node_c.StringCodeWriter
 
Inner classes inherited from class jltools.ast.Assign
Assign.Operator
 
Field Summary
protected  Expr left
           
protected  jltools.ext.jl.ast.Operator op
           
protected  Expr right
           
 
Fields inherited from class jltools.ext.jl.ast.Expr_c
type
 
Fields inherited from class jltools.ext.jl.ast.Node_c
ext, position
 
Fields inherited from interface jltools.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
 
Constructor Summary
Assign_c(Ext ext, Position pos, Expr left, jltools.ext.jl.ast.Operator op, Expr right)
           
 
Method Summary
 Node exceptionCheck_(ExceptionChecker ec)
          Check exceptions thrown by the expression.
 Expr left()
          Get the left operand of the expression.
 Assign left(Expr left)
          Set the left operand of the expression.
 jltools.ext.jl.ast.Operator operator()
          Get the operator of the expression.
 Assign operator(jltools.ext.jl.ast.Operator op)
          Set the operator of the expression.
 Precedence precedence()
          Get the precedence of the expression.
protected  Assign_c reconstruct(Expr left, Expr right)
          Reconstruct the expression.
 Expr right()
          Get the right operand of the expression.
 Assign right(Expr right)
          Set the right operand of the expression.
 boolean throwsArithmeticException()
          Get the throwsArithmeticException of the expression.
 boolean throwsArrayStoreException()
          Get the throwsArrayStoreException of 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.Assign
operator
 
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

left

protected Expr left

op

protected jltools.ext.jl.ast.Operator op

right

protected Expr right
Constructor Detail

Assign_c

public Assign_c(Ext ext,
                Position pos,
                Expr left,
                jltools.ext.jl.ast.Operator op,
                Expr right)
Method Detail

precedence

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

left

public Expr left()
Get the left operand of the expression.
Specified by:
left in interface Assign

left

public Assign left(Expr left)
Set the left operand of the expression.
Specified by:
left in interface Assign

operator

public jltools.ext.jl.ast.Operator operator()
Get the operator of the expression.
Specified by:
operator in interface Assign

operator

public Assign operator(jltools.ext.jl.ast.Operator op)
Set the operator of the expression.

right

public Expr right()
Get the right operand of the expression.
Specified by:
right in interface Assign

right

public Assign right(Expr right)
Set the right operand of the expression.
Specified by:
right in interface Assign

reconstruct

protected Assign_c reconstruct(Expr left,
                               Expr right)
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

throwsArrayStoreException

public boolean throwsArrayStoreException()
Get the throwsArrayStoreException of the expression.

throwsArithmeticException

public boolean throwsArithmeticException()
Get the throwsArithmeticException of the expression.
Specified by:
throwsArithmeticException in interface Assign

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.