polyglot.ext.jl.ast
Class CanonicalTypeNode_c

java.lang.Object
  extended by polyglot.ext.jl.ast.Node_c
      extended by polyglot.ext.jl.ast.TypeNode_c
          extended by polyglot.ext.jl.ast.CanonicalTypeNode_c
All Implemented Interfaces:
java.lang.Cloneable, CanonicalTypeNode, JL, Node, NodeOps, Prefix, QualifierNode, Receiver, Typed, TypeNode, Copy

public class CanonicalTypeNode_c
extends TypeNode_c
implements CanonicalTypeNode

A CanonicalTypeNode is a type node for a canonical type.


Field Summary
 
Fields inherited from class polyglot.ext.jl.ast.TypeNode_c
type
 
Fields inherited from class polyglot.ext.jl.ast.Node_c
del, ext, position
 
Constructor Summary
CanonicalTypeNode_c(Position pos, Type type)
           
 
Method Summary
 void dump(CodeWriter w)
          Dump the AST node for debugging purposes.
 void prettyPrint(CodeWriter w, PrettyPrinter tr)
          If the "use-fully-qualified-class-names" options is used, then the fully qualified names is written out (java.lang.Object).
 java.lang.String toString()
           
 void translate(CodeWriter w, Translator tr)
          Translate the AST using the given CodeWriter.
 Node typeCheck(TypeChecker tc)
          Type check the type node.
 
Methods inherited from class polyglot.ext.jl.ast.TypeNode_c
buildTypes, qualifier, type, type
 
Methods inherited from class polyglot.ext.jl.ast.Node_c
addDecls, addMembers, addMembersEnter, addMembersOverride, buildTypesEnter, buildTypesOverride, childExpectedType, copy, del, del, disambiguate, disambiguateEnter, disambiguateOverride, enterScope, enterScope, exceptionCheck, exceptionCheckEnter, exceptionCheckOverride, ext, ext, ext, ext, init, node, position, position, 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
type
 
Methods inherited from interface polyglot.ast.Node
childExpectedType, del, del, ext, ext, ext, ext, position, position, visit, visitChild, visitEdge, visitList
 
Methods inherited from interface polyglot.ast.JL
init, node
 
Methods inherited from interface polyglot.ast.NodeOps
addDecls, addMembers, addMembersEnter, buildTypes, buildTypesEnter, disambiguate, disambiguateEnter, enterScope, enterScope, exceptionCheck, exceptionCheckEnter, throwTypes, typeCheckEnter, 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, ext, ext, ext, ext, position, position, visit, visitChild, visitEdge, visitList
 
Methods inherited from interface polyglot.ast.JL
init, node
 
Methods inherited from interface polyglot.ast.NodeOps
addDecls, addMembers, addMembersEnter, buildTypes, buildTypesEnter, disambiguate, disambiguateEnter, enterScope, enterScope, exceptionCheck, exceptionCheckEnter, throwTypes, typeCheckEnter, visitChildren
 

Constructor Detail

CanonicalTypeNode_c

public CanonicalTypeNode_c(Position pos,
                           Type type)
Method Detail

prettyPrint

public void prettyPrint(CodeWriter w,
                        PrettyPrinter tr)
If the "use-fully-qualified-class-names" options is used, then the fully qualified names is written out (java.lang.Object). Otherwise, the string that originally represented the type in the source file is used.

Specified by:
prettyPrint in interface NodeOps
Specified by:
prettyPrint in class TypeNode_c
Parameters:
w - The code writer to which to write.
tr - The pretty printer. This is not a visitor.

typeCheck

public Node typeCheck(TypeChecker tc)
               throws SemanticException
Type check the type node. Check accessibility of class types.

Specified by:
typeCheck in interface NodeOps
Overrides:
typeCheck in class Node_c
Parameters:
tc - The type checking visitor.
Throws:
SemanticException

translate

public void translate(CodeWriter w,
                      Translator tr)
Description copied from class: Node_c
Translate the AST using the given CodeWriter.

Specified by:
translate in interface NodeOps
Overrides:
translate in class Node_c
Parameters:
w - The code writer to which to write.
tr - The translation pass. This is not a visitor.

toString

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

dump

public void dump(CodeWriter w)
Description copied from interface: Node
Dump the AST node for debugging purposes.

Specified by:
dump in interface Node
Overrides:
dump in class Node_c