jif.ast
Class JifCanonicalTypeNode_c

java.lang.Object
  extended by polyglot.ast.Node_c
      extended by polyglot.ast.Term_c
          extended by polyglot.ast.TypeNode_c
              extended by polyglot.ast.CanonicalTypeNode_c
                  extended by jif.ast.JifCanonicalTypeNode_c
All Implemented Interfaces:
java.lang.Cloneable, JifCanonicalTypeNode, polyglot.ast.CanonicalTypeNode, 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 JifCanonicalTypeNode_c
extends polyglot.ast.CanonicalTypeNode_c
implements JifCanonicalTypeNode

A JifCanonicalTypeNode is a type node for a canonical type in Polyj.


Field Summary
 
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
JifCanonicalTypeNode_c(polyglot.util.Position pos, polyglot.types.Type type)
           
 
Method Summary
 boolean isDisambiguated()
           
 polyglot.ast.Node typeCheck(polyglot.visit.TypeChecker tc)
           
protected  polyglot.types.Type typeCheck(polyglot.types.Type t, polyglot.visit.TypeChecker tc)
           
 
Methods inherited from class polyglot.ast.CanonicalTypeNode_c
copy, copy, dump, prettyPrint, toString, translate
 
Methods inherited from class polyglot.ast.TypeNode_c
acceptCFG, buildTypes, firstChild, name, qualifier, type, type
 
Methods inherited from class polyglot.ast.Term_c
exceptionCheck, exceptions, exceptions, listChild, reachable, reachable
 
Methods inherited from class polyglot.ast.Node_c
addDecls, buildTypesEnter, checkConstants, childExpectedType, copy, del, del, disambiguate, disambiguateEnter, disambiguateOverride, 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, visitChildren, 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, buildTypes, buildTypesEnter, checkConstants, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, prettyPrint, prettyPrint, prettyPrint, throwTypes, translate, typeCheckEnter, typeCheckOverride, visitChildren
 
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, buildTypes, buildTypesEnter, checkConstants, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, prettyPrint, prettyPrint, prettyPrint, throwTypes, translate, typeCheckEnter, typeCheckOverride, visitChildren
 
Methods inherited from interface polyglot.ast.Term
acceptCFG, exceptions, exceptions, firstChild, reachable, reachable
 

Constructor Detail

JifCanonicalTypeNode_c

public JifCanonicalTypeNode_c(polyglot.util.Position pos,
                              polyglot.types.Type type)
Method Detail

isDisambiguated

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

typeCheck

protected polyglot.types.Type typeCheck(polyglot.types.Type t,
                                        polyglot.visit.TypeChecker tc)
                                 throws polyglot.types.SemanticException
Throws:
polyglot.types.SemanticException

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.CanonicalTypeNode_c
Throws:
polyglot.types.SemanticException