@@ -115,12 +115,10 @@ protected void internalTransform(String phaseName, @SuppressWarnings("rawtypes")
115115 reachableChangedListener = Scene .v ().getReachableMethods ().listener ();
116116 logger .info ("Callback analysis done." );
117117 } else {
118- // Incremental mode, only process the worklist
119- logger .info (String .format ("Running incremental callback analysis for %d components..." ,
120- callbackWorklist .size ()));
121118 // Find the mappings between classes and layouts
122119 findClassLayoutMappings ();
123120
121+ // Add the methods that have become reachable in the views
124122 MultiMap <SootMethod , SootClass > reverseViewCallbacks = new HashMultiMap <>();
125123 for (Pair <SootClass , AndroidCallbackDefinition > i : viewCallbacks )
126124 reverseViewCallbacks .put (i .getO2 ().getTargetMethod (), i .getO1 ());
@@ -132,6 +130,10 @@ protected void internalTransform(String phaseName, @SuppressWarnings("rawtypes")
132130 }
133131 }
134132
133+ // Incremental mode, only process the worklist
134+ logger .info (String .format ("Running incremental callback analysis for %d components..." ,
135+ callbackWorklist .size ()));
136+
135137 MultiMap <SootClass , SootMethod > workList = new HashMultiMap <>(callbackWorklist );
136138 for (Iterator <SootClass > it = workList .keySet ().iterator (); it .hasNext ();) {
137139 // Check whether we're still running
0 commit comments