Class JoinLabelNode_c

  extended by polyglot.ast.Node_c
      extended by jif.ast.LabelNode_c
          extended by jif.ast.AmbLabelNode_c
              extended by jif.ast.JoinLabelNode_c
All Implemented Interfaces:
java.lang.Cloneable, JoinLabelNode, LabelNode, ParamNode, polyglot.ast.Ambiguous, polyglot.ast.JL, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.util.Copy

public class JoinLabelNode_c
extends AmbLabelNode_c
implements JoinLabelNode

An implementation of the JoinLabel interface.

Field Summary
protected  java.util.List components
Fields inherited from class polyglot.ast.Node_c
del, error, ext, position
Constructor Summary
JoinLabelNode_c(polyglot.util.Position pos, java.util.List components)
Method Summary
 java.util.List components()
          Gets the list of join components, which are either label nodes or policy nodes.
 JoinLabelNode components(java.util.List components)
          Returns a copy of this object with components updated.
 polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover sc)
          Disambiguate the type of this node.
 void prettyPrint(polyglot.util.CodeWriter w, polyglot.visit.PrettyPrinter tr)
protected  JoinLabelNode_c reconstruct(java.util.List components)
 polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
Methods inherited from class jif.ast.AmbLabelNode_c
Methods inherited from class jif.ast.LabelNode_c
label, label, parameter, toString, translate
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, exceptionCheckEnter, 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.LabelNode
label, label
Methods inherited from interface jif.ast.ParamNode
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, translate, typeCheck, typeCheckEnter, typeCheckOverride
Methods inherited from interface polyglot.util.Copy

Field Detail


protected java.util.List components
Constructor Detail


public JoinLabelNode_c(polyglot.util.Position pos,
                       java.util.List components)
Method Detail


public java.util.List components()
Description copied from interface: JoinLabelNode
Gets the list of join components, which are either label nodes or policy nodes.

Specified by:
components in interface JoinLabelNode


public JoinLabelNode components(java.util.List components)
Description copied from interface: JoinLabelNode
Returns a copy of this object with components updated.

Specified by:
components in interface JoinLabelNode


protected JoinLabelNode_c reconstruct(java.util.List components)


public polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
Specified by:
visitChildren in interface polyglot.ast.NodeOps
visitChildren in class polyglot.ast.Node_c


public polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover sc)
                               throws polyglot.types.SemanticException
Description copied from class: AmbLabelNode_c
Disambiguate the type of this node.

Specified by:
disambiguate in interface polyglot.ast.NodeOps
Specified by:
disambiguate in class AmbLabelNode_c


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