01: // This file is part of KeY - Integrated Deductive Software Design
02: // Copyright (C) 2001-2007 Universitaet Karlsruhe, Germany
03: // Universitaet Koblenz-Landau, Germany
04: // Chalmers University of Technology, Sweden
05: //
06: // The KeY system is protected by the GNU General Public License.
07: // See LICENSE.TXT for details.
08: //
09: //
10:
11: package de.uka.ilkd.key.java;
12:
13: /**
14: * Non terminal program element.
15: * taken from COMPOST and changed to achieve an immutable structure
16: */
17:
18: public interface NonTerminalProgramElement extends ProgramElement {
19:
20: /**
21: * Returns the number of children of this node.
22: * @return an int giving the number of children of this node
23: */
24: int getChildCount();
25:
26: /**
27: * Returns the child at the specified index in this node's "virtual"
28: * child array.
29: * @param index an index into this node's "virtual" child array
30: * @return the program element at the given position
31: * @exception ArrayIndexOutOfBoundsException if <tt>index</tt> is out
32: * of bounds
33: */
34: ProgramElement getChildAt(int index);
35:
36: }
|