From b430017c420d4843388a2deabbb89ca0d87cc87f Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 11 Mar 1999 22:53:09 +0000 Subject: [PATCH] *** empty log message *** git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@373 379699f6-c40d-0410-875b-85095c16579e --- jode/jode/decompiler/CodeAnalyzer.java | 5 +++-- jode/jode/flow/CreateClassField.java | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/jode/jode/decompiler/CodeAnalyzer.java b/jode/jode/decompiler/CodeAnalyzer.java index 46f220e..dd8b92f 100644 --- a/jode/jode/decompiler/CodeAnalyzer.java +++ b/jode/jode/decompiler/CodeAnalyzer.java @@ -186,8 +186,6 @@ public class CodeAnalyzer implements Analyzer { excHandlers.analyze(); methodHeader.analyze(); - if (!Decompiler.usePUSH && methodHeader.mapStackToLocal()) - methodHeader.removePush(); } public void analyze() @@ -195,6 +193,9 @@ public class CodeAnalyzer implements Analyzer { byte[] codeArray = code.getCode(); int[] handlers = code.getExceptionHandlers(); readCode(codeArray, handlers); + if (!Decompiler.usePUSH && methodHeader.mapStackToLocal()) + methodHeader.removePush(); + Enumeration enum = allLocals.elements(); while (enum.hasMoreElements()) { LocalInfo li = (LocalInfo)enum.nextElement(); diff --git a/jode/jode/flow/CreateClassField.java b/jode/jode/flow/CreateClassField.java index dab7b27..56de6c8 100644 --- a/jode/jode/flow/CreateClassField.java +++ b/jode/jode/flow/CreateClassField.java @@ -57,7 +57,7 @@ public class CreateClassField { ComplexExpression ass = (ComplexExpression) instr; PutFieldOperator put = (PutFieldOperator) ass.getOperator(); - if (!put.isSynthetic() + if (!put.getField().isSynthetic() || !put.matches((GetFieldOperator)cmp.getSubExpressions()[0]) || !(ass.getSubExpressions()[0] instanceof ComplexExpression) || !(ass.getSubExpressions()[0].getOperator()