diff --git a/jode/ChangeLog b/jode/ChangeLog index fe79a5f..43fd2e2 100644 --- a/jode/ChangeLog +++ b/jode/ChangeLog @@ -1,3 +1,13 @@ +2002-02-08 Jochen Hoenicke + + * jode/obfuscator/ClassIdentifier.java.in (transformInnerClasses): + Bug fix: Added missing checks for STRIP_UNREACH. + + * jode/obfuscator/MethodIdentifier.java.in (doTransformation): + Don't run analyzer on unreachable methods. Previously the + ConstantAnalyzer assumed that the instructions are not reachable + and removed them all leading to illegal bytecode. + 2002-02-01 Jochen Hoenicke * jode/flow/CreateAssignExpression.java (createAssignOp): diff --git a/jode/jode/obfuscator/ClassIdentifier.java.in b/jode/jode/obfuscator/ClassIdentifier.java.in index fb00d7c..76e852b 100644 --- a/jode/jode/obfuscator/ClassIdentifier.java.in +++ b/jode/jode/obfuscator/ClassIdentifier.java.in @@ -517,7 +517,8 @@ public class ClassIdentifier extends Identifier { .getClassIdentifier(outerClasses[i].outer)) : null; - if (outerIdent != null && !outerIdent.isReachable()) + if ((Main.stripping & Main.STRIP_UNREACH) != 0 + && outerIdent != null && !outerIdent.isReachable()) continue; String inner = lastClass; @@ -556,9 +557,8 @@ public class ClassIdentifier extends Identifier { for (int i=0; i