SmartThings specific support to reduce state space
[jpf-core.git] / src / main / gov / nasa / jpf / vm / serialize / FramePolicy.java
1 /*
2  * Copyright (C) 2014, United States Government, as represented by the
3  * Administrator of the National Aeronautics and Space Administration.
4  * All rights reserved.
5  *
6  * The Java Pathfinder core (jpf-core) platform is licensed under the
7  * Apache License, Version 2.0 (the "License"); you may not use this file except
8  * in compliance with the License. You may obtain a copy of the License at
9  * 
10  *        http://www.apache.org/licenses/LICENSE-2.0. 
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and 
16  * limitations under the License.
17  */
18
19 package gov.nasa.jpf.vm.serialize;
20
21
22 public final class FramePolicy {
23   public FramePolicy() {
24     includeOps = true;
25     includeLocals = true;
26     includePC = true;
27     recurse = true;
28   }
29   
30   //May be migrated to BitArray or similar in the future.
31   public boolean includeLocals;
32   
33   //May be migrated to BitArray or similar in the future.
34   public boolean includeOps;
35   
36   /**
37    * Whether to include instruction offset.
38    */
39   public boolean includePC;
40   
41   /**
42    * Whether to considered frames "below" this one (called from here).
43    */
44   public boolean recurse;
45   
46   
47   
48   
49   public boolean isDefaultPolicy() {
50     return includeLocals && includeOps && includePC && recurse;
51   }
52   
53   
54   public void ignoreLocals() {
55     includeLocals = false;
56   }
57
58   public void ignoreOps() {
59     includeOps = false;
60   }
61   
62   public void includeLocals() {
63     includeLocals = true;
64   }
65
66   public void includeOps() {
67     includeOps = true;
68   }
69 }