diff options
Diffstat (limited to 'src/de/fernflower/main/InitializerProcessor.java')
-rw-r--r-- | src/de/fernflower/main/InitializerProcessor.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/de/fernflower/main/InitializerProcessor.java b/src/de/fernflower/main/InitializerProcessor.java index ecbb9bd..97a0e28 100644 --- a/src/de/fernflower/main/InitializerProcessor.java +++ b/src/de/fernflower/main/InitializerProcessor.java @@ -208,7 +208,9 @@ public class InitializerProcessor { AssignmentExprent asexpr = (AssignmentExprent)exprent; if(asexpr.getLeft().type == Exprent.EXPRENT_FIELD) { FieldExprent fexpr = (FieldExprent)asexpr.getLeft(); - if(!fexpr.isStatic() && fexpr.getClassname().equals(cl.qualifiedName)) { + if(!fexpr.isStatic() && fexpr.getClassname().equals(cl.qualifiedName) && + cl.hasField(fexpr.getName(), fexpr.getDescriptor().descriptorString)) { // check for the physical existence of the field. Could be defined in a superclass. + if(isExprentIndependent(asexpr.getRight(), lstMethWrappers.get(i))) { String fieldKey = InterpreterUtil.makeUniqueKey(fexpr.getName(), fexpr.getDescriptor().descriptorString); if(fieldWithDescr == null) { |