jif.ast
Class MeetLabelNode_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.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
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

MeetLabelNode_c

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

components

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

components

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

reconstruct

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