From b3a455fb1a3ae71d4a17b085c4dae494eab1ff83 Mon Sep 17 00:00:00 2001 From: Graham Date: Tue, 26 May 2020 21:38:02 +0100 Subject: [PATCH] Relax isExprentIndependent I think the EXPRENT_FIELD condition exists in case the field's initializer depends on a prior field in the same class. We already handle this case in the deobfuscator, which ensures fields appear in exactly the order in which they are first written to in the and methods. (This isn't perfect, as we ignore the problem of multiple methods writing fields in different orders to each other, but it seems good enough for the client.) --- .../jetbrains/java/decompiler/main/InitializerProcessor.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/org/jetbrains/java/decompiler/main/InitializerProcessor.java b/src/org/jetbrains/java/decompiler/main/InitializerProcessor.java index b929d0d..0e373a9 100644 --- a/src/org/jetbrains/java/decompiler/main/InitializerProcessor.java +++ b/src/org/jetbrains/java/decompiler/main/InitializerProcessor.java @@ -241,8 +241,6 @@ public class InitializerProcessor { } } break; - case Exprent.EXPRENT_FIELD: - return false; } }