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.ProgramElement;
14: import de.uka.ilkd.key.java.Services;
15: import de.uka.ilkd.key.logic.op.SchemaVariable;
16: import de.uka.ilkd.key.rule.inst.SVInstantiations;
17:
18: public class StaticProgramCheckerSVI extends StaticProgramChecker {
19:
20: private SVInstantiations svi;
21:
22: public StaticProgramCheckerSVI(ProgramElement p_root,
23: SVInstantiations p_svi, Services p_services) {
24: super (p_root, p_services);
25: svi = p_svi;
26: }
27:
28: public SVInstantiations getSVInstantiations() {
29: return svi;
30: }
31:
32: public void doSchemaVariable(SchemaVariable x) {
33: // todo: handle some special sv sorts, whose type is
34: // determined without instantiation
35: if (getSVInstantiations().isInstantiated(x)) {
36: walk((ProgramElement) getSVInstantiations()
37: .getInstantiation(x));
38: } else
39: pushUnknown();
40: }
41:
42: }
|