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.rule.soundness;
12:
13: import de.uka.ilkd.key.java.Services;
14:
15: public class SVPartitioningBuilder extends AbstractSkolemBuilder {
16:
17: private RawProgramVariablePrefixes rpvp;
18:
19: public SVPartitioningBuilder(SkolemSet p_oriSkolemSet,
20: RawProgramVariablePrefixes p_rpvp, Services p_services) {
21: super (p_oriSkolemSet, p_services);
22: rpvp = p_rpvp;
23: }
24:
25: public IteratorOfSkolemSet build() {
26: ListOfSkolemSet res = SLListOfSkolemSet.EMPTY_LIST;
27:
28: SVPartitioning[] partitionings = SVPartitioning
29: .findPartitionings(
30: rpvp.getFreeSchemaVariables(),
31: rpvp.getBoundSchemaVariables(),
32: ExpressionSkolemBuilder
33: .findExpressionSVs(getOriginalSkolemSet()));
34:
35: int i;
36: for (i = 0; i != partitionings.length; ++i)
37: res = res.prepend(getOriginalSkolemSet().setSVPartitioning(
38: partitionings[i]));
39:
40: return res.iterator();
41: }
42:
43: }
|