State machine: ============== Initial State 0 (needStrongRefs[], collectableWeakRefs[syncMap, mapSet, iter], weakRefs[], collectSets[[mapSet], [iter], [syncMap]], boundVars[]) -->[sync] to State 1 State 1 (needStrongRefs[], collectableWeakRefs[syncMap, mapSet, iter], weakRefs[], collectSets[[mapSet], [iter], [syncMap]], boundVars[syncMap]) -->[createSet] to State 2 -->[SKIP(newDaCapoRun)] to State 1 -->[SKIP(sync)] to State 1 -->[SKIP(createSet)] to State 1 -->[SKIP(syncCreateIter)] to State 1 -->[SKIP(asyncCreateIter)] to State 1 -->[SKIP(accessIter)] to State 1 State 2 (needStrongRefs[syncMap], collectableWeakRefs[mapSet, iter], weakRefs[], collectSets[[mapSet], [iter]], boundVars[syncMap, mapSet]) -->[syncCreateIter] to State 3 -->[asyncCreateIter] to State 4 -->[SKIP(newDaCapoRun)] to State 2 -->[SKIP(sync)] to State 2 -->[SKIP(createSet)] to State 2 -->[SKIP(syncCreateIter)] to State 2 -->[SKIP(asyncCreateIter)] to State 2 -->[SKIP(accessIter)] to State 2 State 3 (needStrongRefs[syncMap], collectableWeakRefs[iter], weakRefs[mapSet], collectSets[[iter]], boundVars[syncMap, mapSet, iter]) -->[accessIter] to State 4 -->[SKIP(newDaCapoRun)] to State 3 -->[SKIP(sync)] to State 3 -->[SKIP(createSet)] to State 3 -->[SKIP(syncCreateIter)] to State 3 -->[SKIP(asyncCreateIter)] to State 3 -->[SKIP(accessIter)] to State 3 Final State 4 (needStrongRefs[syncMap], collectableWeakRefs[], weakRefs[mapSet, iter], collectSets[], boundVars[syncMap, mapSet, iter]) State 1 - collectable indices: [syncMap] - primitive indices: [] - weak indices: [] - other indices: [] State 2 - collectable indices: [] - primitive indices: [] - weak indices: [] - other indices: [] State 3 - collectable indices: [] - primitive indices: [] - weak indices: [] - other indices: [] ===================================================== Symbol advice methods for tracematch tracematch$0: before$1 newDaCapoRun afterReturning$2 sync afterReturning$3 createSet afterReturning$4 syncCreateIter afterReturning$5 asyncCreateIter before$6 accessIter Sync advice method for tracematch tracematch$0: beforeafter$7 Some advice method for tracematch tracematch$0: beforeafter$8 Body advice method for tracematch tracematch$0: tracematch$0$body Advice Dependencies for tracematch tracematch$0: strong: ASyncIterationMap.afterReturning$2(syncMap), ASyncIterationMap.afterReturning$3(syncMap,mapSet), ASyncIterationMap.afterReturning$5(mapSet,iter) weak: ASyncIterationMap.beforeafter$7, ASyncIterationMap.tracematch$0$body, ASyncIterationMap.beforeafter$8, ASyncIterationMap.before$1, ASyncIterationMap.before$6(iter), ASyncIterationMap.afterReturning$4(mapSet,iter) - - - - - - - - - - - - - - - - - - - - - - - - - - - strong: ASyncIterationMap.afterReturning$2(syncMap), ASyncIterationMap.afterReturning$3(syncMap,mapSet), ASyncIterationMap.before$6(iter), ASyncIterationMap.afterReturning$4(mapSet,iter) weak: ASyncIterationMap.beforeafter$7, ASyncIterationMap.tracematch$0$body, ASyncIterationMap.beforeafter$8, ASyncIterationMap.before$1, ASyncIterationMap.afterReturning$5(mapSet,iter) - - - - - - - - - - - - - - - - - - - - - - - - - - - =====================================================