JML

org.jmlspecs.checker
Class Main.JmlCheckAssignableTask

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

public class Main.JmlCheckAssignableTask
extends Main.TypecheckTask

A task for checking assignable clauses; this task has to be done after type checking of assignable clauses of the super types so the fields can be combined with those of the subtype (the subtype is the one whose code is being checked against the assignable clauses but the inherited assignable clauses need to be type checked first). It is a subclass of TypecheckTask to avoid having to override any more of the conditions in the createTaskAfter method of Main. The class is constructed on an 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.JmlCheckAssignableTask(CompilerPassEnterable[] trees, Object sequenceID)
          Constructs a task for checking the assignable clauses of types in the given compilation units (trees).
 
Method Summary
protected  void processTree(CompilerPassEnterable tree)
          Processes the given tree, tree.
 
Methods inherited from class org.multijava.mjc.Main.TypecheckTask
execute
 
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.JmlCheckAssignableTask

public Main.JmlCheckAssignableTask(CompilerPassEnterable[] trees,
                                   Object sequenceID)
Constructs a task for checking the assignable clauses of types in the given compilation units (trees). Removes all but the most refined compilation units from the array of trees.

Method Detail

processTree

protected void processTree(CompilerPassEnterable tree)
Processes the given tree, tree. I.e., checks the assignable clauses in each AST representing the source file, i.e., compilation unit.

Overrides:
processTree in class Main.TypecheckTask

JML

JML is Copyright (C) 1998-2002 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. This release depends on code from the MultiJava project and is based in part on the Kopi project Copyright (C) 1990-99 DMS Decision Management Systems Ges.m.b.H.