From 5d894b61507e4671332ffeca8f7b0e41772c6e7a Mon Sep 17 00:00:00 2001 From: Skylot Date: Sun, 29 Mar 2015 14:38:15 +0300 Subject: [PATCH] core: don't process dependencies of dependencies --- jadx-core/src/main/java/jadx/core/ProcessClass.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/jadx-core/src/main/java/jadx/core/ProcessClass.java b/jadx-core/src/main/java/jadx/core/ProcessClass.java index 373399a8..868899e0 100644 --- a/jadx-core/src/main/java/jadx/core/ProcessClass.java +++ b/jadx-core/src/main/java/jadx/core/ProcessClass.java @@ -25,6 +25,9 @@ public final class ProcessClass { } public static void process(ClassNode cls, List passes, @Nullable CodeGen codeGen) { + if (codeGen == null && cls.getState() == PROCESSED) { + return; + } synchronized (cls) { try { if (cls.getState() == NOT_LOADED) { @@ -33,10 +36,10 @@ public final class ProcessClass { for (IDexTreeVisitor visitor : passes) { DepthTraversal.visit(visitor, cls); } - processDependencies(cls, passes); cls.setState(PROCESSED); } if (cls.getState() == PROCESSED && codeGen != null) { + processDependencies(cls, passes); codeGen.visit(cls); cls.setState(GENERATED); } -- GitLab