@Override protected void merge(Object in1, Object in2, Object out) { FlowSet inSet1 = (FlowSet) in1, inSet2 = (FlowSet) in2, outSet = (FlowSet) out; inSet1.union(inSet2, outSet); // System.out.println("inset1: " + inSet1 + "\ninset2: " + inSet2 + "\noutset: " + outSet); }
public FlowSet getFlowBeforeEnd() { FlowSet inEnd = new ArraySparseSet(); List<Unit> tails = g.getTails(); for (Unit u : tails) { if (!(u instanceof ThrowStmt)) { // TODO verify this inEnd.union((FlowSet) getFlowBefore(u)); } } return inEnd; }
/* * (non-Javadoc) * * @see soot.toolkits.scalar.AbstractFlowAnalysis#merge(java.lang.Object, java.lang.Object, java.lang.Object) */ @Override protected void merge(FlowSet source1, FlowSet source2, FlowSet dest) { source1.union(source2, dest); }