@Test public void test1() { final PredPrec prec = PredPrec.of(ImmutableList.of(Lt(x.getRef(), Int(5)))); final PredState state = PredState.of(Lt(x.getRef(), Int(5))); final ExprAction action = new BasicStmtAction(Stmts.Assign(x, Add(x.getRef(), Int(1)))); Assert.assertEquals(2, transFunc.getSuccStates(state, action, prec).size()); }
@Override public Collection<? extends PredState> getSuccStates(final PredState state, final ExprAction action, final PredPrec prec) { checkNotNull(state); checkNotNull(action); checkNotNull(prec); final Collection<PredState> succStates = predAbstractor.createStatesForExpr( And(state.toExpr(), action.toExpr()), VarIndexing.all(0), prec, action.nextIndexing()); return succStates.isEmpty() ? Collections.singleton(PredState.bottom()) : succStates; }
PredTransFunc implements TransFunc<PredState, ExprAction, PredPrec> { @Override public Collection<? extends PredState> getSuccStates(final PredState state, final ExprAction action, final PredPrec prec) { checkNotNull(state); checkNotNull(action); checkNotNull(prec); final Collection<PredState> succStates = predAbstractor.createStatesForExpr( And(state.toExpr(), action.toExpr()), VarIndexing.all(0), prec, action.nextIndexing()); return succStates.isEmpty() ? Collections.singleton(PredState.bottom()) : succStates; } }
PredTransFunc implements TransFunc<PredState, ExprAction, PredPrec> { @Override public Collection<? extends PredState> getSuccStates(final PredState state, final ExprAction action, final PredPrec prec) { checkNotNull(state); checkNotNull(action); checkNotNull(prec); final Collection<PredState> succStates = predAbstractor.createStatesForExpr( And(state.toExpr(), action.toExpr()), VarIndexing.all(0), prec, action.nextIndexing()); return succStates.isEmpty() ? Collections.singleton(PredState.bottom()) : succStates; } private  PredTransFunc(final PredAbstractor predAbstractor); }
PredTransFunc implements TransFunc<PredState, ExprAction, PredPrec> { @Override public Collection<? extends PredState> getSuccStates(final PredState state, final ExprAction action, final PredPrec prec) { checkNotNull(state); checkNotNull(action); checkNotNull(prec); final Collection<PredState> succStates = predAbstractor.createStatesForExpr( And(state.toExpr(), action.toExpr()), VarIndexing.all(0), prec, action.nextIndexing()); return succStates.isEmpty() ? Collections.singleton(PredState.bottom()) : succStates; } private  PredTransFunc(final PredAbstractor predAbstractor); static PredTransFunc create(final PredAbstractor predAbstractor); @Override Collection<? extends PredState> getSuccStates(final PredState state, final ExprAction action,
														 final PredPrec prec); }
PredTransFunc implements TransFunc<PredState, ExprAction, PredPrec> { @Override public Collection<? extends PredState> getSuccStates(final PredState state, final ExprAction action, final PredPrec prec) { checkNotNull(state); checkNotNull(action); checkNotNull(prec); final Collection<PredState> succStates = predAbstractor.createStatesForExpr( And(state.toExpr(), action.toExpr()), VarIndexing.all(0), prec, action.nextIndexing()); return succStates.isEmpty() ? Collections.singleton(PredState.bottom()) : succStates; } private  PredTransFunc(final PredAbstractor predAbstractor); static PredTransFunc create(final PredAbstractor predAbstractor); @Override Collection<? extends PredState> getSuccStates(final PredState state, final ExprAction action,
														 final PredPrec prec);  }