From 111d5046ea827d81d521f0686e53de9ce53917f3 Mon Sep 17 00:00:00 2001 From: hoenicke Date: Fri, 8 Feb 2002 12:46:48 +0000 Subject: [PATCH] * 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. git-svn-id: https://svn.code.sf.net/p/jode/code/branches/branch_1_1@1361 379699f6-c40d-0410-875b-85095c16579e --- jode/ChangeLog | 10 ++++++++++ jode/jode/obfuscator/ClassIdentifier.java.in | 18 ++++++++++-------- jode/jode/obfuscator/MethodIdentifier.java.in | 6 +++++- 3 files changed, 25 insertions(+), 9 deletions(-) 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