changeset 128:ce0b5a00da7b

Fixed merging of join points for labels. * rewriter/DexRewriter.java (visitLabel): Join points of jump targets are merged before exception handlers are considered.
author Michael Starzinger <michi@complang.tuwien.ac.at>
date Tue, 12 Apr 2011 23:41:58 +0200
parents 48dd23cd3827
children f07b2934d275
files src/main/java/org/icedrobot/daneel/rewriter/DexRewriter.java
diffstat 1 files changed, 3 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/org/icedrobot/daneel/rewriter/DexRewriter.java	Tue Apr 12 22:56:37 2011 +0200
+++ b/src/main/java/org/icedrobot/daneel/rewriter/DexRewriter.java	Tue Apr 12 23:41:58 2011 +0200
@@ -845,15 +845,14 @@
         public void visitLabel(Label label) {
             fixStackAfterAMethodCallOrAnExceptionHandler();
             exceptionOnTop = exceptionHandlerSet.contains(label);
-            
+            createOrMergeJoinPoint(label);
+            mv.visitLabel(getASMLabel(label));
+
             // if it's the start of a try, find the corresponding handler
             Label handler = exceptionTryStartToHandlerMap.get(label);
             if (handler != null) {
                 createOrMergeJoinPoint(handler);
             }
-            
-            createOrMergeJoinPoint(label);
-            mv.visitLabel(getASMLabel(label));
         }
         
         @Override