set analyzedSynthetic

git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@366 379699f6-c40d-0410-875b-85095c16579e
stable
jochen 26 years ago
parent 499d704e01
commit 969c42f8f1
  1. 8
      jode/jode/expr/ComplexExpression.java

@ -226,8 +226,8 @@ public class ComplexExpression extends Expression {
if (!opType.equals(exprType) && opType != Type.tError) { if (!opType.equals(exprType) && opType != Type.tError) {
if (Decompiler.isTypeDebugging) if (Decompiler.isTypeDebugging)
Decompiler.err.println("change in "+this+": " Decompiler.err.println("change in "+this+": "
+exprType +exprType
+"->"+opType); +"->"+opType);
subExpressions[i].setType(opType); subExpressions[i].setType(opType);
changed = true; changed = true;
} }
@ -488,7 +488,8 @@ public class ComplexExpression extends Expression {
GetFieldOperator get = (GetFieldOperator) subExpressions[1]; GetFieldOperator get = (GetFieldOperator) subExpressions[1];
ComplexExpression ass = (ComplexExpression) subExpressions[2]; ComplexExpression ass = (ComplexExpression) subExpressions[2];
PutFieldOperator put = (PutFieldOperator) ass.getOperator(); PutFieldOperator put = (PutFieldOperator) ass.getOperator();
if (put.isSynthetic() && put.matches(get) if (put.getField() != null
&& put.getField().isSynthetic() && put.matches(get)
&& cmp.subExpressions[0] instanceof GetFieldOperator && cmp.subExpressions[0] instanceof GetFieldOperator
&& put.matches((GetFieldOperator)cmp.subExpressions[0]) && put.matches((GetFieldOperator)cmp.subExpressions[0])
&& ass.subExpressions[0] instanceof ComplexExpression && ass.subExpressions[0] instanceof ComplexExpression
@ -508,6 +509,7 @@ public class ComplexExpression extends Expression {
.equals("class$" + clazz.replace('.', '$')) .equals("class$" + clazz.replace('.', '$'))
|| put.getFieldName() || put.getFieldName()
.equals("class$L" + clazz.replace('.', '$'))) { .equals("class$L" + clazz.replace('.', '$'))) {
put.getField().analyzedSynthetic();
return new ClassFieldOperator(Type.tClass(clazz)); return new ClassFieldOperator(Type.tClass(clazz));
} }
} }

Loading…
Cancel
Save