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.strategy.termfeature;
12:
13: import de.uka.ilkd.key.logic.Term;
14: import de.uka.ilkd.key.logic.sort.Sort;
15:
16: /**
17: * Term feature for testing whether the sort of a term is a subsort of a given
18: * sort (or exactly the given sort).
19: */
20: public class SortExtendsTransTermFeature extends BinaryTermFeature {
21:
22: private final Sort sort;
23:
24: public static TermFeature create(Sort sort) {
25: return new SortExtendsTransTermFeature(sort);
26: }
27:
28: private SortExtendsTransTermFeature(Sort sort) {
29: this .sort = sort;
30: }
31:
32: protected boolean filter(Term term) {
33: return term.sort().extendsTrans(sort);
34: }
35:
36: }
|