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: package de.uka.ilkd.key.logic.op;
11:
12: import de.uka.ilkd.key.logic.Name;
13: import de.uka.ilkd.key.logic.Term;
14: import de.uka.ilkd.key.logic.sort.ArrayOfSort;
15: import de.uka.ilkd.key.logic.sort.Sort;
16:
17: public class NonRigidFunctionLocation extends Function implements
18: NonRigid, Location {
19:
20: /**
21: * creates a non rigid function location with given signature
22: * @param name the Name of the non-rigid function symbol
23: * @param sort the Sort of the symbol
24: * @param argSorts the array of Sort defining the argument sorts
25: */
26: public NonRigidFunctionLocation(Name name, Sort sort,
27: Sort[] argSorts) {
28: super (name, sort, argSorts);
29: }
30:
31: /**
32: * creates a non rigid function location with given signature
33: * @param name the Name of the non-rigid function symbol
34: * @param sort the Sort of the symbol
35: * @param argSorts the ArrayOfSort defining the argument sorts
36: */
37: public NonRigidFunctionLocation(Name name, Sort sort,
38: ArrayOfSort argSorts) {
39: super (name, sort, argSorts);
40: }
41:
42: /**
43: * @return true if the value of "term" having this operator as
44: * top-level operator and may not be changed by modalities
45: */
46: public boolean isRigid(Term term) {
47: return false;
48: }
49:
50: public boolean mayBeAliasedBy(Location loc) {
51: return (this == loc);
52: }
53:
54: public String proofToString() {
55: return "\\nonRigid[Location] " + super.proofToString();
56: }
57: }
|