package listener; import gov.nasa.jpf.ListenerAdapter; import gov.nasa.jpf.search.Search; import gov.nasa.jpf.search.SearchListener; /** * This listener prints the state space. * * @author Franck van Breugel */ public class StateSpaceText extends ListenerAdapter implements SearchListener { private int current; // ID of current state (before state advances) /** * Initializes this listener. */ public StateSpaceText() { this.current = -1; // -1 is the ID of the initial state } /** * Whenever JPF traverses a transition, prints the transition. * * @param search JPF's search. */ @Override public void stateAdvanced(Search search) { System.out.printf("%d -> %d%n", this.current, search.getStateId()); this.current = search.getStateId(); } /** * Whenever JPF backtracks, updates information needed for this listener. * * @param search JPF's search. */ @Override public void stateBacktracked(Search search) { this.current = search.getStateId(); } /** * Whenever JPF restores an earlier visited state, updates information * needed for this listener. * * @param search JPF's search. */ @Override public void stateRestored(Search search) { this.current = search.getStateId(); } }