jif.extension
Class JifTypeNodeDel

java.lang.Object
  extended by polyglot.ast.Ext_c
      extended by polyglot.ast.JL_c
          extended by jif.extension.JifJL_c
              extended by jif.extension.JifTypeNodeDel
All Implemented Interfaces:
java.lang.Cloneable, polyglot.ast.Ext, polyglot.ast.JL, polyglot.ast.NodeOps, polyglot.util.Copy

public class JifTypeNodeDel
extends JifJL_c

The Jif extension of the TypeNode node.


Nested Class Summary
protected static class JifTypeNodeDel.StaticLabelChecker
          Checker to ensure that labels in a static context do not use the This label
 
Field Summary
 
Fields inherited from class polyglot.ast.Ext_c
ext, node
 
Constructor Summary
JifTypeNodeDel()
           
 
Method Summary
 polyglot.ast.Node typeCheck(polyglot.visit.TypeChecker tc)
          Prevent an uninstantiated polymorphic class from being used anywhere, and check that the "this" label is not used in a static context.
 
Methods inherited from class jif.extension.JifJL_c
buildTypes, translate
 
Methods inherited from class polyglot.ast.JL_c
addDecls, buildTypesEnter, checkConstants, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, jl, prettyPrint, prettyPrint, prettyPrint, throwTypes, typeCheckEnter, typeCheckOverride, visitChildren
 
Methods inherited from class polyglot.ast.Ext_c
copy, dump, ext, ext, init, node, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface polyglot.ast.JL
init, node
 
Methods inherited from interface polyglot.util.Copy
copy
 

Constructor Detail

JifTypeNodeDel

public JifTypeNodeDel()
Method Detail

typeCheck

public polyglot.ast.Node typeCheck(polyglot.visit.TypeChecker tc)
                            throws polyglot.types.SemanticException
Prevent an uninstantiated polymorphic class from being used anywhere, and check that the "this" label is not used in a static context.

Specified by:
typeCheck in interface polyglot.ast.NodeOps
Overrides:
typeCheck in class polyglot.ast.JL_c
Throws:
polyglot.types.SemanticException