fix(gui): workaround to force class decompilation in loading task (#2400)
This commit is contained in:
@@ -122,8 +122,6 @@ public final class JavaClass implements JavaNode {
|
||||
if (listsLoaded) {
|
||||
return null;
|
||||
}
|
||||
listsLoaded = true;
|
||||
|
||||
ICodeInfo code;
|
||||
if (cls.getState().isProcessComplete()) {
|
||||
// already decompiled -> class internals loaded
|
||||
@@ -131,7 +129,12 @@ public final class JavaClass implements JavaNode {
|
||||
} else {
|
||||
code = cls.decompile();
|
||||
}
|
||||
loadLists();
|
||||
return code;
|
||||
}
|
||||
|
||||
private void loadLists() {
|
||||
listsLoaded = true;
|
||||
JadxDecompiler rootDecompiler = getRootDecompiler();
|
||||
int inClsCount = cls.getInnerClasses().size();
|
||||
if (inClsCount != 0) {
|
||||
@@ -139,7 +142,7 @@ public final class JavaClass implements JavaNode {
|
||||
for (ClassNode inner : cls.getInnerClasses()) {
|
||||
if (!inner.contains(AFlag.DONT_GENERATE)) {
|
||||
JavaClass javaClass = rootDecompiler.convertClassNode(inner);
|
||||
javaClass.load();
|
||||
javaClass.loadLists();
|
||||
list.add(javaClass);
|
||||
}
|
||||
}
|
||||
@@ -150,7 +153,7 @@ public final class JavaClass implements JavaNode {
|
||||
List<JavaClass> list = new ArrayList<>(inlinedClsCount);
|
||||
for (ClassNode inner : cls.getInlinedClasses()) {
|
||||
JavaClass javaClass = rootDecompiler.convertClassNode(inner);
|
||||
javaClass.load();
|
||||
javaClass.loadLists();
|
||||
list.add(javaClass);
|
||||
}
|
||||
this.inlinedClasses = Collections.unmodifiableList(list);
|
||||
@@ -178,7 +181,6 @@ public final class JavaClass implements JavaNode {
|
||||
mths.sort(Comparator.comparing(JavaMethod::getName));
|
||||
this.methods = Collections.unmodifiableList(mths);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
JadxDecompiler getRootDecompiler() {
|
||||
|
||||
Reference in New Issue
Block a user