jif.ast
Class LabeledTypeNode_c

java.lang.Object
  extended by polyglot.ast.Node_c
      extended by polyglot.ast.Term_c
          extended by polyglot.ast.TypeNode_c
              extended by jif.ast.LabeledTypeNode_c
All Implemented Interfaces:
java.lang.Cloneable, LabeledTypeNode, polyglot.ast.Ambiguous, polyglot.ast.JL, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.ast.Prefix, polyglot.ast.QualifierNode, polyglot.ast.Receiver, polyglot.ast.Term, polyglot.ast.Typed, polyglot.ast.TypeNode, polyglot.util.Copy

public class LabeledTypeNode_c
extends polyglot.ast.TypeNode_c
implements LabeledTypeNode, polyglot.ast.Ambiguous

An implementation of the LabeledTypeNode interface.


Field Summary
protected  LabelNode labelPart
           
protected  polyglot.ast.TypeNode typePart
           
 
Fields inherited from class polyglot.ast.TypeNode_c
type
 
Fields inherited from class polyglot.ast.Term_c
exceptions, reachable
 
Fields inherited from class polyglot.ast.Node_c
del, error, ext, position
 
Fields inherited from interface polyglot.ast.Term
ENTRY, EXIT
 
Constructor Summary
LabeledTypeNode_c(polyglot.util.Position pos, polyglot.ast.TypeNode typePart, LabelNode labelPart)
           
 
Method Summary
 polyglot.ast.Node buildTypes(polyglot.visit.TypeBuilder tb)
           
 polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover ar)
           
 polyglot.ast.Node exceptionCheck(polyglot.visit.ExceptionChecker ec)
           
 boolean isDisambiguated()
           
 LabelNode labelPart()
           
 LabeledTypeNode labelPart(LabelNode labelPart)
           
 void prettyPrint(polyglot.util.CodeWriter w, polyglot.visit.PrettyPrinter tr)
           
protected  LabeledTypeNode_c reconstruct(polyglot.ast.TypeNode typePart, LabelNode labelPart)
           
 java.lang.String toString()
           
 void translate(polyglot.util.CodeWriter w, polyglot.visit.Translator tr)
           
 polyglot.ast.Node typeCheck(polyglot.visit.TypeChecker tc)
           
 polyglot.ast.TypeNode typePart()
           
 LabeledTypeNode typePart(polyglot.ast.TypeNode typePart)
           
 polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
           
 
Methods inherited from class polyglot.ast.TypeNode_c
acceptCFG, firstChild, name, qualifier, type, type
 
Methods inherited from class polyglot.ast.Term_c
exceptions, exceptions, listChild, reachable, reachable
 
Methods inherited from class polyglot.ast.Node_c
addDecls, buildTypesEnter, checkConstants, childExpectedType, copy, copy, copy, del, del, disambiguateEnter, disambiguateOverride, dump, dump, dump, enterChildScope, enterScope, error, error, exceptionCheckEnter, ext, ext, ext, ext, init, isTypeChecked, node, position, position, prettyPrint, prettyPrint, print, printBlock, printSubStmt, throwTypes, 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 polyglot.ast.TypeNode
name, type
 
Methods inherited from interface polyglot.ast.Node
childExpectedType, del, del, dump, error, error, ext, ext, ext, ext, isTypeChecked, position, position, visit, visitChild, visitEdge, visitList
 
Methods inherited from interface polyglot.ast.JL
init, node
 
Methods inherited from interface polyglot.ast.NodeOps
addDecls, buildTypesEnter, checkConstants, copy, copy, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheckEnter, prettyPrint, prettyPrint, throwTypes, typeCheckEnter, typeCheckOverride
 
Methods inherited from interface polyglot.ast.Typed
type
 
Methods inherited from interface polyglot.ast.QualifierNode
qualifier
 
Methods inherited from interface polyglot.ast.Node
childExpectedType, del, del, dump, error, error, ext, ext, ext, ext, isTypeChecked, position, position, visit, visitChild, visitEdge, visitList
 
Methods inherited from interface polyglot.ast.JL
init, node
 
Methods inherited from interface polyglot.ast.NodeOps
addDecls, buildTypesEnter, checkConstants, copy, copy, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheckEnter, prettyPrint, prettyPrint, throwTypes, typeCheckEnter, typeCheckOverride
 
Methods inherited from interface polyglot.ast.Term
acceptCFG, exceptions, exceptions, firstChild, reachable, reachable
 

Field Detail

typePart

protected polyglot.ast.TypeNode typePart

labelPart

protected LabelNode labelPart
Constructor Detail

LabeledTypeNode_c

public LabeledTypeNode_c(polyglot.util.Position pos,
                         polyglot.ast.TypeNode typePart,
                         LabelNode labelPart)
Method Detail

typePart

public polyglot.ast.TypeNode typePart()
Specified by:
typePart in interface LabeledTypeNode

typePart

public LabeledTypeNode typePart(polyglot.ast.TypeNode typePart)
Specified by:
typePart in interface LabeledTypeNode

labelPart

public LabelNode labelPart()
Specified by:
labelPart in interface LabeledTypeNode

labelPart

public LabeledTypeNode labelPart(LabelNode labelPart)
Specified by:
labelPart in interface LabeledTypeNode

reconstruct

protected LabeledTypeNode_c reconstruct(polyglot.ast.TypeNode typePart,
                                        LabelNode labelPart)

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

buildTypes

public polyglot.ast.Node buildTypes(polyglot.visit.TypeBuilder tb)
                             throws polyglot.types.SemanticException
Specified by:
buildTypes in interface polyglot.ast.NodeOps
Overrides:
buildTypes in class polyglot.ast.TypeNode_c
Throws:
polyglot.types.SemanticException

isDisambiguated

public boolean isDisambiguated()
Specified by:
isDisambiguated in interface polyglot.ast.Node
Overrides:
isDisambiguated in class polyglot.ast.TypeNode_c

disambiguate

public polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover ar)
                               throws polyglot.types.SemanticException
Specified by:
disambiguate in interface polyglot.ast.NodeOps
Overrides:
disambiguate in class polyglot.ast.Node_c
Throws:
polyglot.types.SemanticException

toString

public java.lang.String toString()
Overrides:
toString in class polyglot.ast.TypeNode_c

typeCheck

public polyglot.ast.Node typeCheck(polyglot.visit.TypeChecker tc)
                            throws polyglot.types.SemanticException
Specified by:
typeCheck in interface polyglot.ast.NodeOps
Overrides:
typeCheck in class polyglot.ast.Node_c
Throws:
polyglot.types.SemanticException

exceptionCheck

public polyglot.ast.Node exceptionCheck(polyglot.visit.ExceptionChecker ec)
                                 throws polyglot.types.SemanticException
Specified by:
exceptionCheck in interface polyglot.ast.NodeOps
Overrides:
exceptionCheck in class polyglot.ast.Term_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
Specified by:
prettyPrint in class polyglot.ast.TypeNode_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