Initial import
[jpf-core.git] / src / main / gov / nasa / jpf / search / heuristic / HeuristicState.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 package gov.nasa.jpf.search.heuristic;
19
20 import gov.nasa.jpf.vm.VM;
21 import gov.nasa.jpf.vm.RestorableVMState;
22
23
24 /**
25  * wrapper for states that are processed in an order that is
26  * defined by a heuristic (i.e. not just depends on the shape
27  * of the state graph)
28  */
29 public abstract class HeuristicState {
30   
31   protected RestorableVMState vmState;
32   protected int     stateId;
33     
34   public HeuristicState (VM vm) {
35     stateId = vm.getStateId();
36     vmState = vm.getRestorableState();
37   }
38   
39   public RestorableVMState getVMState () {
40     return vmState;
41   }
42   
43   public int getStateId() {
44     return stateId;
45   }
46 }