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

Loading…
Cancel
Save