Skip to content

Commit 55159f0

Browse files
committed
skip inner class when output decompiled
1 parent 14f2cff commit 55159f0

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

src/main/java/cn/enaium/joe/task/SaveAllSourceTask.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import cn.enaium.joe.service.DecompileService;
2121
import cn.enaium.joe.util.MessageUtil;
2222
import cn.enaium.joe.util.classes.ClassNode;
23+
import org.objectweb.asm.Opcodes;
2324

2425
import java.io.File;
2526
import java.io.IOException;
@@ -52,6 +53,10 @@ public Boolean get() {
5253
ZipOutputStream zipOutputStream = new ZipOutputStream(Files.newOutputStream(out.toPath()));
5354

5455
for (ClassNode value : jar.classes.values()) {
56+
if (value.getOuterClassInternalName() != null) {
57+
setProgress((int) ((loaded++ / files) * 100f));
58+
continue;
59+
}
5560
String name = value.getInternalName() + ".java";
5661
name = "src/main/java/" + name;
5762
zipOutputStream.putNextEntry(new ZipEntry(name));

src/main/java/cn/enaium/joe/util/classes/ClassNode.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,10 @@ default Set<String> getParents(){
9292
return parent;
9393
}
9494

95+
default String getOuterClassInternalName(){
96+
return this.getNodeInternal().outerClass;
97+
}
98+
9599
static ClassNode of(final byte[] classIn){
96100
ClassReader classReader = new ClassReader(classIn);
97101
final org.objectweb.asm.tree.ClassNode classNode = new org.objectweb.asm.tree.ClassNode();

0 commit comments

Comments
 (0)