jltools.ext.jl.ast
Class Ext_c

java.lang.Object
  |
  +--jltools.ext.jl.ast.Ext_c
All Implemented Interfaces:
java.lang.Cloneable, Copy, Ext
Direct Known Subclasses:
Jif_c

public class Ext_c
extends java.lang.Object
implements Ext

Ext is the super type of all node extension objects. It defines default implementations of the methods which implement compiler passes, dispatching to the node to perform the actual work of the pass.


Constructor Summary
Ext_c()
           
 
Method Summary
 Node buildTypes(TypeBuilder tb)
           
 Node buildTypesOverride(TypeBuilder tb)
           
 java.lang.Object copy()
           
 Node disambiguate(AmbiguityRemover ar)
           
 Node disambiguateOverride(AmbiguityRemover ar)
           
 Node disambiguateTypes(TypeAmbiguityRemover sc)
           
 Node disambiguateTypesOverride(TypeAmbiguityRemover sc)
           
 Node exceptionCheck(ExceptionChecker ec)
           
 Node exceptionCheckOverride(ExceptionChecker ec)
           
 Node foldConstants(ConstantFolder cf)
           
 Node foldConstantsOverride(ConstantFolder cf)
           
 void init(Node n)
           
protected  Node node()
           
 Node reconstructTypes(NodeFactory nf, TypeSystem ts, Context c)
           
 java.lang.String toString()
           
 void translate(CodeWriter w, Translator tr)
           
 Node typeCheck(TypeChecker tc)
           
 Node typeCheckOverride(TypeChecker tc)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Ext_c

public Ext_c()
Method Detail

init

public void init(Node n)
Specified by:
init in interface Ext

node

protected Node node()

copy

public java.lang.Object copy()
Specified by:
copy in interface Ext

buildTypesOverride

public Node buildTypesOverride(TypeBuilder tb)
                        throws SemanticException
Specified by:
buildTypesOverride in interface Ext

buildTypes

public Node buildTypes(TypeBuilder tb)
                throws SemanticException
Specified by:
buildTypes in interface Ext

disambiguateTypesOverride

public Node disambiguateTypesOverride(TypeAmbiguityRemover sc)
                               throws SemanticException
Specified by:
disambiguateTypesOverride in interface Ext

disambiguateTypes

public Node disambiguateTypes(TypeAmbiguityRemover sc)
                       throws SemanticException
Specified by:
disambiguateTypes in interface Ext

disambiguateOverride

public Node disambiguateOverride(AmbiguityRemover ar)
                          throws SemanticException
Specified by:
disambiguateOverride in interface Ext

disambiguate

public Node disambiguate(AmbiguityRemover ar)
                  throws SemanticException
Specified by:
disambiguate in interface Ext

foldConstantsOverride

public Node foldConstantsOverride(ConstantFolder cf)
Specified by:
foldConstantsOverride in interface Ext

foldConstants

public Node foldConstants(ConstantFolder cf)
Specified by:
foldConstants in interface Ext

typeCheckOverride

public Node typeCheckOverride(TypeChecker tc)
                       throws SemanticException
Specified by:
typeCheckOverride in interface Ext

typeCheck

public Node typeCheck(TypeChecker tc)
               throws SemanticException
Specified by:
typeCheck in interface Ext

exceptionCheckOverride

public Node exceptionCheckOverride(ExceptionChecker ec)
                            throws SemanticException
Specified by:
exceptionCheckOverride in interface Ext

exceptionCheck

public Node exceptionCheck(ExceptionChecker ec)
                    throws SemanticException
Specified by:
exceptionCheck in interface Ext

translate

public void translate(CodeWriter w,
                      Translator tr)
Specified by:
translate in interface Ext

reconstructTypes

public Node reconstructTypes(NodeFactory nf,
                             TypeSystem ts,
                             Context c)
                      throws SemanticException
Specified by:
reconstructTypes in interface Ext

toString

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