提交 5d894b61 编写于 作者: S Skylot

core: don't process dependencies of dependencies

上级 2eddbb91
......@@ -25,6 +25,9 @@ public final class ProcessClass {
}
public static void process(ClassNode cls, List<IDexTreeVisitor> 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);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册