jif.ast
Class JoinLabelNode_c

java.lang.Object
  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
isDisambiguated
 
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
parameter
 
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
copy
 

Field Detail

components

protected java.util.List components
Constructor Detail

JoinLabelNode_c

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

components

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

components

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

reconstruct

protected JoinLabelNode_c reconstruct(java.util.List components)

visitChildren

public polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
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 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
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 LabelNode_c