assertions.getWhenFalse().getLast().addSucc(translations.get(falseSuccessor).getFirst());
assertions.getWhenTrue().getLast().addSucc(translations.get(trueSuccessor).getFirst());
}
else if (stmt instanceof LookupSwitchStmt) {
LookupSwitchStmt sw = (LookupSwitchStmt)stmt;
// add cases
List<Integer> values = new ArrayList<Integer>();
for (int i=0; i<sw.getTargetCount(); i++) {
Stmt succ = (Stmt)sw.getTarget(i);
AssertionBranch assertion = assertionCreator.createSwitchAssertions(sw.getKeyBox(), sw.getLookupValue(i), sw, assertionContext);
tail.addSucc(assertion.getFirst());
assertion.getLast().addSucc(translations.get(succ).getFirst());
values.add(sw.getLookupValue(i));
}
// add default case
AssertionBranch assertion = assertionCreator.createSwitchDefaultAssertions(sw.getKeyBox(), values, sw, assertionContext);
tail.addSucc(assertion.getFirst());
assertion.getLast().addSucc(translations.get(sw.getDefaultTarget()).getFirst());
}
else {
// normal statement
for (Unit succ : normalFlow.getSuccsOf(stmt)) {
tail.addSucc(translations.get(succ).getFirst());