jif.ast
Class LabelLeAssertionNode_c

java.lang.Object
  extended by polyglot.ast.Node_c
      extended by jif.ast.ConstraintNode_c
          extended by jif.ast.LabelLeAssertionNode_c
All Implemented Interfaces:
java.lang.Cloneable, ConstraintNode, LabelLeAssertionNode, polyglot.ast.JL, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.util.Copy

public class LabelLeAssertionNode_c
extends ConstraintNode_c
implements LabelLeAssertionNode

An implementation of the ActsForConstraintNode interface.


Field Summary
protected  boolean isEquiv
           
protected  LabelNode lhs
           
protected  LabelNode rhs
           
 
Fields inherited from class jif.ast.ConstraintNode_c
constraints
 
Fields inherited from class polyglot.ast.Node_c
del, error, ext, position
 
Constructor Summary
LabelLeAssertionNode_c(polyglot.util.Position pos, LabelNode lhs, LabelNode rhs, boolean isEquiv)
           
 
Method Summary
 polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover ar)
          Builds the type of this node.
 LabelNode lhs()
          Gets the lhs label node.
 LabelLeAssertionNode lhs(LabelNode lhs)
          Returns a copy of this node with the lhs updated.
 void prettyPrint(polyglot.util.CodeWriter w, polyglot.visit.PrettyPrinter tr)
           
protected  LabelLeAssertionNode_c reconstruct(LabelNode lhs, LabelNode rhs)
          Reconstructs this node.
 LabelNode rhs()
          Gets the rhs principal.
 LabelLeAssertionNode rhs(LabelNode rhs)
          Returns a copy of this node with the rhs updated.
 void translate(polyglot.util.CodeWriter w, polyglot.visit.Translator tr)
           
 polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
          Visits the children of this node.
 
Methods inherited from class jif.ast.ConstraintNode_c
constraint, constraint, constraints, constraints, exceptionCheckEnter, isDisambiguated, setConstraint, toString
 
Methods inherited from class polyglot.ast.Node_c
addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, copy, copy, del, del, disambiguateEnter, disambiguateOverride, dump, dump, dump, enterChildScope, enterScope, error, error, exceptionCheck, ext, ext, ext, ext, init, isTypeChecked, node, position, position, prettyPrint, prettyPrint, print, printBlock, printSubStmt, throwTypes, typeCheck, 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 jif.ast.ConstraintNode
constraints, constraints
 
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, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, prettyPrint, prettyPrint, throwTypes, typeCheck, typeCheckEnter, typeCheckOverride
 
Methods inherited from interface polyglot.util.Copy
copy
 

Field Detail

lhs

protected LabelNode lhs

rhs

protected LabelNode rhs

isEquiv

protected final boolean isEquiv
Constructor Detail

LabelLeAssertionNode_c

public LabelLeAssertionNode_c(polyglot.util.Position pos,
                              LabelNode lhs,
                              LabelNode rhs,
                              boolean isEquiv)
Method Detail

lhs

public LabelNode lhs()
Gets the lhs label node.

Specified by:
lhs in interface LabelLeAssertionNode

lhs

public LabelLeAssertionNode lhs(LabelNode lhs)
Returns a copy of this node with the lhs updated.

Specified by:
lhs in interface LabelLeAssertionNode

rhs

public LabelNode rhs()
Gets the rhs principal.

Specified by:
rhs in interface LabelLeAssertionNode

rhs

public LabelLeAssertionNode rhs(LabelNode rhs)
Returns a copy of this node with the rhs updated.

Specified by:
rhs in interface LabelLeAssertionNode

reconstruct

protected LabelLeAssertionNode_c reconstruct(LabelNode lhs,
                                             LabelNode rhs)
Reconstructs this node.


visitChildren

public polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
Visits the children of this node.

Specified by:
visitChildren in interface polyglot.ast.NodeOps
Overrides:
visitChildren in class polyglot.ast.Node_c

disambiguate

public polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover ar)
                               throws polyglot.types.SemanticException
Builds the type of this node.

Specified by:
disambiguate in interface polyglot.ast.NodeOps
Overrides:
disambiguate in class polyglot.ast.Node_c
Throws:
polyglot.types.SemanticException

prettyPrint

public void prettyPrint(polyglot.util.CodeWriter w,
                        polyglot.visit.PrettyPrinter tr)
Specified by:
prettyPrint in interface polyglot.ast.NodeOps
Overrides:
prettyPrint in class polyglot.ast.Node_c

translate

public void translate(polyglot.util.CodeWriter w,
                      polyglot.visit.Translator tr)
Specified by:
translate in interface polyglot.ast.NodeOps
Overrides:
translate in class polyglot.ast.Node_c