/** Inserts <code>toInsert</code> in the Chain before <code>point</code>. */ @Override public void insertBefore(Chain<E> toInsert, E point) { Object[] obj = toInsert.toArray(); E previousPoint = point; for (int i = obj.length - 1; i >= 0; i--) { @SuppressWarnings("unchecked") E o = (E) obj[i]; insertBefore(o, previousPoint); previousPoint = o; } }
protected void handleClass(PrintWriter out, SootClass c) { for (SootMethod m : c.getMethods()) { if (!m.isConcrete()) { continue; } Body b = m.retrieveActiveBody(); Local[] sortedLocals = b.getLocals().toArray(new Local[b.getLocalCount()]); Arrays.sort(sortedLocals, new StringComparator<Local>()); for (Local l : sortedLocals) { out.println("V " + m + l); if (l.getType() instanceof RefLikeType) { Set<Type> types = pa.reachingObjects(l).possibleTypes(); Type[] sortedTypes = types.toArray(new Type[types.size()]); Arrays.sort(sortedTypes, new StringComparator<Type>()); for (Type type : sortedTypes) { out.println("T " + type); } } } } } }
SootClass[] classes = applicationClasses.toArray(new SootClass[applicationClasses.size()]); for (Type type : typeToConstants.keySet()) { if (type instanceof NullType) {
for (Unit stmt : units.toArray(new Unit[units.size()])) { if (stmt instanceof IfStmt) { IfStmt ifs = (IfStmt) stmt;