polyglot.ext.jl.ast
Class AmbAssign_c

java.lang.Object
  extended by polyglot.ext.jl.ast.Node_c
      extended by polyglot.ext.jl.ast.Term_c
          extended by polyglot.ext.jl.ast.Expr_c
              extended by polyglot.ext.jl.ast.Assign_c
                  extended by polyglot.ext.jl.ast.AmbAssign_c
All Implemented Interfaces:
java.lang.Cloneable, AmbAssign, Ambiguous, Assign, Expr, JL, Node, NodeOps, Prefix, Receiver, Term, Typed, Copy

public class AmbAssign_c
extends Assign_c
implements AmbAssign

A AmbAssign represents a Java assignment expression to an as yet unknown expression.


Nested Class Summary
 
Nested classes/interfaces inherited from interface polyglot.ast.Assign
Assign.Operator
 
Field Summary
 
Fields inherited from class polyglot.ext.jl.ast.Assign_c
left, op, right
 
Fields inherited from class polyglot.ext.jl.ast.Expr_c
type
 
Fields inherited from class polyglot.ext.jl.ast.Term_c
exceptions, reachable
 
Fields inherited from class polyglot.ext.jl.ast.Node_c
del, 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
 
Constructor Summary
AmbAssign_c(Position pos, Expr left, Assign.Operator op, Expr right)
           
 
Method Summary
protected  void acceptCFGAssign(CFGBuilder v)
          ###@@@DOCO TODO
protected  void acceptCFGOpAssign(CFGBuilder v)
          ###@@@DOCO TODO
 Node disambiguate(AmbiguityRemover ar)
          Remove any remaining ambiguities from the AST.
 Term entry()
          Return the first (sub)term performed when evaluating this term.
 
Methods inherited from class polyglot.ext.jl.ast.Assign_c
acceptCFG, childExpectedType, dump, left, left, operator, operator, precedence, prettyPrint, reconstruct, right, right, throwsArithmeticException, throwTypes, toString, typeCheck, visitChildren
 
Methods inherited from class polyglot.ext.jl.ast.Expr_c
booleanValue, buildTypes, byteValue, charValue, constantValue, doubleValue, floatValue, intValue, isConstant, longValue, printSubExpr, printSubExpr, shortValue, stringValue, type, type
 
Methods inherited from class polyglot.ext.jl.ast.Term_c
exceptionCheck, exceptions, exceptions, listEntry, reachable, reachable
 
Methods inherited from class polyglot.ext.jl.ast.Node_c
addDecls, addMembers, addMembersEnter, addMembersOverride, buildTypesEnter, buildTypesOverride, copy, del, del, disambiguateEnter, disambiguateOverride, enterScope, enterScope, exceptionCheckEnter, exceptionCheckOverride, ext, ext, ext, ext, init, node, position, position, 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, left, operator, operator, right, right, throwsArithmeticException
 
Methods inherited from interface polyglot.ast.Expr
constantValue, isConstant, precedence, printSubExpr, printSubExpr, type
 
Methods inherited from interface polyglot.ast.Node
childExpectedType, del, del, dump, ext, ext, ext, ext, position, position, visit, visitChild, visitEdge, visitList
 
Methods inherited from interface polyglot.ast.JL
init, node
 
Methods inherited from interface polyglot.ast.NodeOps
addDecls, addMembers, addMembersEnter, buildTypes, buildTypesEnter, disambiguateEnter, enterScope, enterScope, exceptionCheck, exceptionCheckEnter, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, 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

AmbAssign_c

public AmbAssign_c(Position pos,
                   Expr left,
                   Assign.Operator op,
                   Expr right)
Method Detail

entry

public Term entry()
Description copied from class: Term_c
Return the first (sub)term performed when evaluating this term.

Specified by:
entry in interface Term
Specified by:
entry in class Assign_c

acceptCFGAssign

protected void acceptCFGAssign(CFGBuilder v)
Description copied from class: Assign_c
###@@@DOCO TODO

Specified by:
acceptCFGAssign in class Assign_c

acceptCFGOpAssign

protected void acceptCFGOpAssign(CFGBuilder v)
Description copied from class: Assign_c
###@@@DOCO TODO

Specified by:
acceptCFGOpAssign in class Assign_c

disambiguate

public Node disambiguate(AmbiguityRemover ar)
                  throws SemanticException
Description copied from interface: NodeOps
Remove any remaining ambiguities from the AST. This method is called by the leave() method of the visitor. The method should perform work that should be done after visiting the children of the node. The method may return this or a new copy of the node which will be installed as a child of the node's parent.

Specified by:
disambiguate in interface NodeOps
Overrides:
disambiguate in class Node_c
Parameters:
ar - The visitor which disambiguates.
Throws:
SemanticException