1 // Loops.java, created Wed Jun 13 17:38:43 1998 by bdemsky
2 // Copyright (C) 1999 Brian Demsky <bdemsky@mit.edu>
3 // Licensed under the terms of the GNU GPL; see COPYING for details.
5 package Analysis.Loops;
9 * <code>Loops</code> contains the interface to be implemented by objects
10 * generating nested loops trees.
13 * @author Brian Demsky <bdemsky@mit.edu>
14 * @version $Id: Loops.java,v 1.1 2009/03/27 00:59:36 bdemsky Exp $
17 public interface Loops {
19 /** Returns entrances to the Loop.
20 * This is a <code>Set</code> of <code>HCodeElement</code>s.*/
21 public Set loopEntrances();
23 /** Returns elements of this loops and all nested loop.
24 * This is a <code>Set</code> of <code>HCodeElement</code>s.*/
25 public Set loopIncElements();
27 /** Returns elements of this loop not in any nested loop.
28 * This is a <code>Set</code> of <code>HCodeElement</code>s.*/
29 public Set loopExcElements();
31 /** Returns a <code>Set</code> containing <code>Loops</code> that are
33 public Set nestedLoops();
35 /** Returns the loop immediately nesting this loop.
36 * If this is the highest level loop, returns a null pointer.*/
37 public Loops parentLoop();