Class MeetLabelNode_c

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

public class MeetLabelNode_c
extends AmbLabelNode_c
implements MeetLabelNode

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
MeetLabelNode_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.
 MeetLabelNode 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  MeetLabelNode_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 MeetLabelNode_c(polyglot.util.Position pos,
                       java.util.List components)
Method Detail


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

Specified by:
components in interface MeetLabelNode


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

Specified by:
components in interface MeetLabelNode


protected MeetLabelNode_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