mjc

org.multijava.mjc
Class Main.PreprocessTask

java.lang.Object
  extended byorg.multijava.mjc.Main.Task
      extended byorg.multijava.mjc.Main.TreeProcessingTask
          extended byorg.multijava.mjc.Main.PreprocessTask
All Implemented Interfaces:
Comparable, Main.Trees
Enclosing class:
Main

public class Main.PreprocessTask
extends Main.TreeProcessingTask

This class preprocesses type and generic function imports and groups external methods. The class is constructed on an AST forest and generates a new AST forest.


Field Summary
 
Fields inherited from class org.multijava.mjc.Main.TreeProcessingTask
passCompletedMessage, trees
 
Fields inherited from class org.multijava.mjc.Main.Task
 
Constructor Summary
Main.PreprocessTask(CompilerPassEnterable[] trees, Object sequenceID)
          Constructs a task for preprocessing the ASTs in the given forest.
 
Method Summary
 void execute()
           
protected  void processTree(CompilerPassEnterable tree)
          Preprocesses type and generic function imports.
 
Methods inherited from class org.multijava.mjc.Main.TreeProcessingTask
trees
 
Methods inherited from class org.multijava.mjc.Main.Task
compareTo, priority, sequenceID, setToMainSequenceID
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Main.PreprocessTask

public Main.PreprocessTask(CompilerPassEnterable[] trees,
                           Object sequenceID)
Constructs a task for preprocessing the ASTs in the given forest. Stores an alias to trees.

Method Detail

execute

public void execute()
Description copied from class: Main.Task
Executes the task represented by this.

 requires !completed;
 ensures completed;
 

Overrides:
execute in class Main.TreeProcessingTask

processTree

protected void processTree(CompilerPassEnterable tree)
Preprocesses type and generic function imports. Groups external methods by name, corresponding to the anchor classes that will eventually be generated.

Parameters:
tree - the compilation unit

mjc

mjc is Copyright (C) 2000-2004 by Iowa State University and is distributed under the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. mjc is based in part on the Kopi project Copyright (C) 1990-99 DMS Decision Management Systems Ges.m.b.H.