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: package de.uka.ilkd.key.rule.updatesimplifier;
10:
11: import de.uka.ilkd.key.logic.Term;
12: import de.uka.ilkd.key.logic.op.AnonymousUpdate;
13: import de.uka.ilkd.key.logic.op.ArrayOfQuantifiableVariable;
14: import de.uka.ilkd.key.util.Debug;
15:
16: /**
17: * Models an assignment pair <code> l_i := t_i </code> of an update.
18: * This data structure is only used for update simplification.
19: */
20: public class AssignmentPairLazy extends AbstractAssignmentPairLazy {
21:
22: /**
23: * creates the assignment pair <code> l_i := t_i </code>
24: * @param update the Term with update as top level operator whose
25: * locationPos-th assignment pair is modeled
26: * @param locationPos the position of the location of this assignment pair
27: */
28: public AssignmentPairLazy(Term update, int locationPos) {
29: super (update, locationPos);
30: Debug.assertTrue(getUpdateOp() instanceof AnonymousUpdate);
31: }
32:
33: /* (non-Javadoc)
34: * @see de.uka.ilkd.key.rule.updatesimplifier.AssignmentPair#boundVars()
35: */
36: public ArrayOfQuantifiableVariable boundVars() {
37: return new ArrayOfQuantifiableVariable();
38: }
39:
40: /* (non-Javadoc)
41: * @see de.uka.ilkd.key.rule.updatesimplifier.AssignmentPair#guard()
42: */
43: public Term guard() {
44: return UpdateSimplifierTermFactory.DEFAULT.getValidGuard();
45: }
46:
47: /* (non-Javadoc)
48: * @see de.uka.ilkd.key.rule.updatesimplifier.AssignmentPair#nontrivialGuard()
49: */
50: public boolean nontrivialGuard() {
51: return false;
52: }
53: }
|