Dresden OCL Toolkit

tudresden.ocl.normalize
Class IteratorInsertion

java.lang.Object
  extended bytudresden.ocl.normalize.IteratorInsertion
All Implemented Interfaces:
NodeNormalizer

public class IteratorInsertion
extends Object
implements NodeNormalizer

This node normalizer inserts an iterator in every iterating method that does not already have one (or more). This is a prerequisite to the normalization step "DefaultContextInsertion" but breaks to results of "TypeInformationInsertion".

Author:
Frank Finger
See Also:
DefaultContextInsertion

Constructor Summary
IteratorInsertion()
           
 
Method Summary
 void close(OclTree tree, NormalizerPass pass)
          This method notifies the NodeNormalizer of the end of a tree normalization.
 void normalize(Node n, OclTree tree)
          normalize a single node
 void open(OclTree tree, NormalizerPass pass)
          allows the NodeNormalizers to initialize itself.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IteratorInsertion

public IteratorInsertion()
Method Detail

open

public void open(OclTree tree,
                 NormalizerPass pass)
Description copied from interface: NodeNormalizer
allows the NodeNormalizers to initialize itself. In this method, a NodeNormalizer typically makes sure that the AST fulfills the preconditions it requires and then registers its own postconditions.

Specified by:
open in interface NodeNormalizer

close

public void close(OclTree tree,
                  NormalizerPass pass)
Description copied from interface: NodeNormalizer
This method notifies the NodeNormalizer of the end of a tree normalization. Here new invariants on the tree can be registered that were not registered in open() already

Specified by:
close in interface NodeNormalizer

normalize

public void normalize(Node n,
                      OclTree tree)
Description copied from interface: NodeNormalizer
normalize a single node

Specified by:
normalize in interface NodeNormalizer

Dresden OCL Toolkit

Submit a bug
Developed at the Dresden University of Technology.
This software is published under the GNU Lesser General Public License.