Skip to content

Commit 7a3799b

Browse files
committed
refactor: delete unused DeserializeClassFileProcessor
1 parent b683d1a commit 7a3799b

28 files changed

+204
-136
lines changed

src/main/java/org/jd/core/v1/ClassFileToJavaSourceDecompiler.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@
1010
import org.jd.core.v1.api.Decompiler;
1111
import org.jd.core.v1.api.loader.Loader;
1212
import org.jd.core.v1.api.printer.Printer;
13+
import org.jd.core.v1.model.classfile.ClassFile;
1314
import org.jd.core.v1.model.message.DecompileContext;
1415
import org.jd.core.v1.service.converter.classfiletojavasyntax.ClassFileToJavaSyntaxProcessor;
15-
import org.jd.core.v1.service.deserializer.classfile.DeserializeClassFileProcessor;
16+
import org.jd.core.v1.service.deserializer.classfile.ClassFileDeserializer;
1617
import org.jd.core.v1.service.fragmenter.javasyntaxtojavafragment.JavaSyntaxToJavaFragmentProcessor;
1718
import org.jd.core.v1.service.layouter.LayoutFragmentProcessor;
1819
import org.jd.core.v1.service.tokenizer.javafragmenttotoken.JavaFragmentToTokenProcessor;
@@ -21,7 +22,7 @@
2122
import java.util.Map;
2223

2324
public class ClassFileToJavaSourceDecompiler implements Decompiler {
24-
protected DeserializeClassFileProcessor deserializer = new DeserializeClassFileProcessor();
25+
protected ClassFileDeserializer deserializer = new ClassFileDeserializer();
2526
protected ClassFileToJavaSyntaxProcessor converter = new ClassFileToJavaSyntaxProcessor();
2627
protected JavaSyntaxToJavaFragmentProcessor fragmenter = new JavaSyntaxToJavaFragmentProcessor();
2728
protected LayoutFragmentProcessor layouter = new LayoutFragmentProcessor();
@@ -50,7 +51,10 @@ public void decompile(Loader loader, Printer printer, String internalName, Map<S
5051
}
5152

5253
protected void decompile(DecompileContext decompileContext) throws Exception {
53-
this.deserializer.process(decompileContext);
54+
ClassFile classFile = this.deserializer.loadClassFile(decompileContext.getLoader(),
55+
decompileContext.getMainInternalTypeName());
56+
decompileContext.setBody(classFile);
57+
5458
this.converter.process(decompileContext);
5559
this.fragmenter.process(decompileContext);
5660
this.layouter.process(decompileContext);

src/main/java/org/jd/core/v1/service/deserializer/classfile/DeserializeClassFileProcessor.java

Lines changed: 0 additions & 29 deletions
This file was deleted.

src/test/java/org/jd/core/v1/AnnotationConverterTest.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,14 @@
1111
import org.jd.core.v1.loader.ZipLoader;
1212
import org.jd.core.v1.model.classfile.ClassFile;
1313
import org.jd.core.v1.model.classfile.attribute.Annotations;
14-
import org.jd.core.v1.model.javasyntax.reference.*;
14+
import org.jd.core.v1.model.javasyntax.reference.AnnotationReference;
15+
import org.jd.core.v1.model.javasyntax.reference.AnnotationReferences;
16+
import org.jd.core.v1.model.javasyntax.reference.BaseAnnotationReference;
17+
import org.jd.core.v1.model.javasyntax.reference.ElementValuePairs;
1518
import org.jd.core.v1.model.message.DecompileContext;
1619
import org.jd.core.v1.service.converter.classfiletojavasyntax.util.AnnotationConverter;
1720
import org.jd.core.v1.service.converter.classfiletojavasyntax.util.TypeMaker;
18-
import org.jd.core.v1.service.deserializer.classfile.DeserializeClassFileProcessor;
21+
import org.jd.core.v1.service.deserializer.classfile.ClassFileDeserializer;
1922
import org.junit.Test;
2023

2124
import java.io.InputStream;
@@ -29,15 +32,14 @@ public void test() throws Exception {
2932
ZipLoader loader = new ZipLoader(is);
3033
TypeMaker typeMaker = new TypeMaker(loader);
3134
AnnotationConverter converter = new AnnotationConverter(typeMaker);
32-
DeserializeClassFileProcessor deserializer = new DeserializeClassFileProcessor();
35+
ClassFileDeserializer deserializer = new ClassFileDeserializer();
3336

3437
DecompileContext decompileContext = new DecompileContext();
3538
decompileContext.setMainInternalTypeName("org/jd/core/test/AnnotatedClass");
3639
decompileContext.setLoader(loader);
3740

38-
deserializer.process(decompileContext);
39-
40-
ClassFile classFile = decompileContext.getBody();
41+
ClassFile classFile = deserializer.loadClassFile(loader, decompileContext.getMainInternalTypeName());
42+
decompileContext.setBody(classFile);
4143

4244
// Check class
4345
assertNotNull(classFile);

src/test/java/org/jd/core/v1/CfrTest.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@
1313
import org.jd.core.v1.compiler.CompilerUtil;
1414
import org.jd.core.v1.compiler.JavaSourceFileObject;
1515
import org.jd.core.v1.loader.ClassPathLoader;
16+
import org.jd.core.v1.model.classfile.ClassFile;
1617
import org.jd.core.v1.model.message.DecompileContext;
1718
import org.jd.core.v1.printer.PlainTextPrinter;
1819
import org.jd.core.v1.regex.PatternMaker;
1920
import org.jd.core.v1.service.converter.classfiletojavasyntax.ClassFileToJavaSyntaxProcessor;
20-
import org.jd.core.v1.service.deserializer.classfile.DeserializeClassFileProcessor;
21+
import org.jd.core.v1.service.deserializer.classfile.ClassFileDeserializer;
2122
import org.jd.core.v1.service.fragmenter.javasyntaxtojavafragment.JavaSyntaxToJavaFragmentProcessor;
2223
import org.jd.core.v1.service.layouter.LayoutFragmentProcessor;
2324
import org.jd.core.v1.service.tokenizer.javafragmenttotoken.JavaFragmentToTokenProcessor;
@@ -28,7 +29,7 @@
2829
import java.util.Map;
2930

3031
public class CfrTest extends TestCase {
31-
protected DeserializeClassFileProcessor deserializer = new DeserializeClassFileProcessor();
32+
protected ClassFileDeserializer deserializer = new ClassFileDeserializer();
3233
protected ClassFileToJavaSyntaxProcessor converter = new ClassFileToJavaSyntaxProcessor();
3334
protected JavaSyntaxToJavaFragmentProcessor fragmenter = new JavaSyntaxToJavaFragmentProcessor();
3435
protected LayoutFragmentProcessor layouter = new LayoutFragmentProcessor();
@@ -84,7 +85,9 @@ protected String decompile(Loader loader, Printer printer, String internalTypeNa
8485
decompileContext.setMainInternalTypeName(internalTypeName);
8586
decompileContext.setConfiguration(configuration);
8687

87-
deserializer.process(decompileContext);
88+
ClassFile classFile = deserializer.loadClassFile(loader, internalTypeName);
89+
decompileContext.setBody(classFile);
90+
8891
converter.process(decompileContext);
8992
fragmenter.process(decompileContext);
9093
layouter.process(decompileContext);

src/test/java/org/jd/core/v1/ClassFileDeserializerTest.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
package org.jd.core.v1;
99

1010
import junit.framework.TestCase;
11-
1211
import org.jd.core.v1.api.loader.Loader;
1312
import org.jd.core.v1.api.loader.LoaderException;
1413
import org.jd.core.v1.loader.ZipLoader;
@@ -21,7 +20,6 @@
2120
import org.jd.core.v1.model.classfile.constant.ConstantUtf8;
2221
import org.jd.core.v1.model.message.DecompileContext;
2322
import org.jd.core.v1.service.deserializer.classfile.ClassFileDeserializer;
24-
import org.jd.core.v1.service.deserializer.classfile.DeserializeClassFileProcessor;
2523
import org.junit.Test;
2624

2725
import java.io.InputStream;
@@ -55,15 +53,14 @@ public byte[] load(String internalName) throws LoaderException {
5553
public void testAnnotatedClass() throws Exception {
5654
InputStream is = this.getClass().getResourceAsStream("/zip/data-java-jdk-1.7.0.zip");
5755
ZipLoader loader = new ZipLoader(is);
58-
DeserializeClassFileProcessor deserializer = new DeserializeClassFileProcessor();
56+
ClassFileDeserializer deserializer = new ClassFileDeserializer();
5957

6058
DecompileContext decompileContext = new DecompileContext();
6159
decompileContext.setMainInternalTypeName("org/jd/core/test/AnnotatedClass");
6260
decompileContext.setLoader(loader);
6361

64-
deserializer.process(decompileContext);
65-
66-
ClassFile classFile = decompileContext.getBody();
62+
ClassFile classFile = deserializer.loadClassFile(loader, decompileContext.getMainInternalTypeName());
63+
decompileContext.setBody(classFile);
6764

6865
// Check class
6966
assertNotNull(classFile);

src/test/java/org/jd/core/v1/ControlFlowGraphTest.java

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,34 @@
99

1010
import junit.framework.TestCase;
1111
import org.jd.core.v1.api.loader.Loader;
12+
import org.jd.core.v1.cfg.ControlFlowGraphPlantUMLWriter;
1213
import org.jd.core.v1.loader.ClassPathLoader;
1314
import org.jd.core.v1.loader.ZipLoader;
15+
import org.jd.core.v1.model.classfile.ClassFile;
1416
import org.jd.core.v1.model.classfile.Method;
1517
import org.jd.core.v1.model.javasyntax.CompilationUnit;
16-
import org.jd.core.v1.model.javasyntax.declaration.*;
18+
import org.jd.core.v1.model.javasyntax.declaration.AnnotationDeclaration;
19+
import org.jd.core.v1.model.javasyntax.declaration.BaseTypeDeclaration;
20+
import org.jd.core.v1.model.javasyntax.declaration.BodyDeclaration;
21+
import org.jd.core.v1.model.javasyntax.declaration.EnumDeclaration;
22+
import org.jd.core.v1.model.javasyntax.declaration.InterfaceDeclaration;
1723
import org.jd.core.v1.model.message.DecompileContext;
1824
import org.jd.core.v1.service.converter.classfiletojavasyntax.model.cfg.BasicBlock;
1925
import org.jd.core.v1.service.converter.classfiletojavasyntax.model.cfg.ControlFlowGraph;
2026
import org.jd.core.v1.service.converter.classfiletojavasyntax.model.cfg.Loop;
21-
import org.jd.core.v1.service.converter.classfiletojavasyntax.model.javasyntax.declaration.*;
27+
import org.jd.core.v1.service.converter.classfiletojavasyntax.model.javasyntax.declaration.ClassFileBodyDeclaration;
28+
import org.jd.core.v1.service.converter.classfiletojavasyntax.model.javasyntax.declaration.ClassFileConstructorDeclaration;
29+
import org.jd.core.v1.service.converter.classfiletojavasyntax.model.javasyntax.declaration.ClassFileMemberDeclaration;
30+
import org.jd.core.v1.service.converter.classfiletojavasyntax.model.javasyntax.declaration.ClassFileMethodDeclaration;
31+
import org.jd.core.v1.service.converter.classfiletojavasyntax.model.javasyntax.declaration.ClassFileStaticInitializerDeclaration;
2232
import org.jd.core.v1.service.converter.classfiletojavasyntax.processor.ConvertClassFileProcessor;
23-
import org.jd.core.v1.service.converter.classfiletojavasyntax.util.*;
24-
import org.jd.core.v1.service.deserializer.classfile.DeserializeClassFileProcessor;
25-
import org.jd.core.v1.cfg.ControlFlowGraphPlantUMLWriter;
33+
import org.jd.core.v1.service.converter.classfiletojavasyntax.util.ControlFlowGraphGotoReducer;
34+
import org.jd.core.v1.service.converter.classfiletojavasyntax.util.ControlFlowGraphLoopReducer;
35+
import org.jd.core.v1.service.converter.classfiletojavasyntax.util.ControlFlowGraphMaker;
36+
import org.jd.core.v1.service.converter.classfiletojavasyntax.util.ControlFlowGraphReducer;
37+
import org.jd.core.v1.service.converter.classfiletojavasyntax.util.TypeMaker;
38+
import org.jd.core.v1.service.converter.classfiletojavasyntax.util.WatchDog;
39+
import org.jd.core.v1.service.deserializer.classfile.ClassFileDeserializer;
2640
import org.junit.Test;
2741

2842
import java.io.FileInputStream;
@@ -35,7 +49,7 @@
3549
import static org.jd.core.v1.service.converter.classfiletojavasyntax.model.cfg.BasicBlock.*;
3650

3751
public class ControlFlowGraphTest extends TestCase {
38-
protected DeserializeClassFileProcessor deserializer = new DeserializeClassFileProcessor();
52+
protected ClassFileDeserializer deserializer = new ClassFileDeserializer();
3953
protected ConvertClassFileProcessor converter = new ConvertClassFileProcessor();
4054
protected ClassPathLoader loader = new ClassPathLoader();
4155
protected TypeMaker typeMaker = new TypeMaker(loader);
@@ -2656,7 +2670,9 @@ protected Method searchMethod(Loader loader, TypeMaker typeMaker, String interna
26562670
decompileContext.setLoader(loader);
26572671
decompileContext.setTypeMaker(typeMaker);
26582672

2659-
deserializer.process(decompileContext);
2673+
ClassFile classFile = deserializer.loadClassFile(loader, internalTypeName);
2674+
decompileContext.setBody(classFile);
2675+
26602676
converter.process(decompileContext);
26612677

26622678
CompilationUnit compilationUnit = decompileContext.getBody();

src/test/java/org/jd/core/v1/JarFileToJavaSourceTest.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@
1111
import org.jd.core.v1.compiler.CompilerUtil;
1212
import org.jd.core.v1.compiler.JavaSourceFileObject;
1313
import org.jd.core.v1.loader.ZipLoader;
14+
import org.jd.core.v1.model.classfile.ClassFile;
1415
import org.jd.core.v1.model.message.DecompileContext;
1516
import org.jd.core.v1.printer.PlainTextPrinter;
1617
import org.jd.core.v1.service.converter.classfiletojavasyntax.ClassFileToJavaSyntaxProcessor;
17-
import org.jd.core.v1.service.deserializer.classfile.DeserializeClassFileProcessor;
18+
import org.jd.core.v1.service.deserializer.classfile.ClassFileDeserializer;
1819
import org.jd.core.v1.service.fragmenter.javasyntaxtojavafragment.JavaSyntaxToJavaFragmentProcessor;
1920
import org.jd.core.v1.service.layouter.LayoutFragmentProcessor;
2021
import org.jd.core.v1.service.tokenizer.javafragmenttotoken.JavaFragmentToTokenProcessor;
@@ -25,10 +26,11 @@
2526
import java.io.FileInputStream;
2627
import java.io.InputStream;
2728
import java.nio.file.Paths;
28-
import java.util.*;
29+
import java.util.HashMap;
30+
import java.util.Map;
2931

3032
public class JarFileToJavaSourceTest extends TestCase {
31-
protected DeserializeClassFileProcessor deserializer = new DeserializeClassFileProcessor();
33+
protected ClassFileDeserializer deserializer = new ClassFileDeserializer();
3234
protected ClassFileToJavaSyntaxProcessor converter = new ClassFileToJavaSyntaxProcessor();
3335
protected JavaSyntaxToJavaFragmentProcessor fragmenter = new JavaSyntaxToJavaFragmentProcessor();
3436
protected LayoutFragmentProcessor layouter = new LayoutFragmentProcessor();
@@ -167,7 +169,9 @@ protected void test(InputStream inputStream) throws Exception {
167169

168170
try {
169171
// Decompile class
170-
deserializer.process(decompileContext);
172+
ClassFile classFile = deserializer.loadClassFile(loader, internalTypeName);
173+
decompileContext.setBody(classFile);
174+
171175
converter.process(decompileContext);
172176
fragmenter.process(decompileContext);
173177
layouter.process(decompileContext);

src/test/java/org/jd/core/v1/Java9InterfaceTest.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@
1313
import org.jd.core.v1.compiler.CompilerUtil;
1414
import org.jd.core.v1.compiler.JavaSourceFileObject;
1515
import org.jd.core.v1.loader.ZipLoader;
16+
import org.jd.core.v1.model.classfile.ClassFile;
1617
import org.jd.core.v1.model.message.DecompileContext;
1718
import org.jd.core.v1.printer.PlainTextPrinter;
1819
import org.jd.core.v1.regex.PatternMaker;
1920
import org.jd.core.v1.service.converter.classfiletojavasyntax.ClassFileToJavaSyntaxProcessor;
20-
import org.jd.core.v1.service.deserializer.classfile.DeserializeClassFileProcessor;
21+
import org.jd.core.v1.service.deserializer.classfile.ClassFileDeserializer;
2122
import org.jd.core.v1.service.fragmenter.javasyntaxtojavafragment.JavaSyntaxToJavaFragmentProcessor;
2223
import org.jd.core.v1.service.layouter.LayoutFragmentProcessor;
2324
import org.jd.core.v1.service.tokenizer.javafragmenttotoken.JavaFragmentToTokenProcessor;
@@ -29,7 +30,7 @@
2930
import java.util.Map;
3031

3132
public class Java9InterfaceTest extends TestCase {
32-
protected DeserializeClassFileProcessor deserializer = new DeserializeClassFileProcessor();
33+
protected ClassFileDeserializer deserializer = new ClassFileDeserializer();
3334
protected ClassFileToJavaSyntaxProcessor converter = new ClassFileToJavaSyntaxProcessor();
3435
protected JavaSyntaxToJavaFragmentProcessor fragmenter = new JavaSyntaxToJavaFragmentProcessor();
3536
protected LayoutFragmentProcessor layouter = new LayoutFragmentProcessor();
@@ -82,7 +83,9 @@ protected String decompile(Loader loader, Printer printer, String internalTypeNa
8283
decompileContext.setMainInternalTypeName(internalTypeName);
8384
decompileContext.setConfiguration(configuration);
8485

85-
deserializer.process(decompileContext);
86+
ClassFile classFile = deserializer.loadClassFile(loader, internalTypeName);
87+
decompileContext.setBody(classFile);
88+
8689
converter.process(decompileContext);
8790
fragmenter.process(decompileContext);
8891
layouter.process(decompileContext);

src/test/java/org/jd/core/v1/JavaAnnotationTest.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@
1313
import org.jd.core.v1.compiler.CompilerUtil;
1414
import org.jd.core.v1.compiler.JavaSourceFileObject;
1515
import org.jd.core.v1.loader.ZipLoader;
16+
import org.jd.core.v1.model.classfile.ClassFile;
1617
import org.jd.core.v1.model.message.DecompileContext;
1718
import org.jd.core.v1.printer.PlainTextPrinter;
1819
import org.jd.core.v1.regex.PatternMaker;
1920
import org.jd.core.v1.service.converter.classfiletojavasyntax.ClassFileToJavaSyntaxProcessor;
20-
import org.jd.core.v1.service.deserializer.classfile.DeserializeClassFileProcessor;
21+
import org.jd.core.v1.service.deserializer.classfile.ClassFileDeserializer;
2122
import org.jd.core.v1.service.fragmenter.javasyntaxtojavafragment.JavaSyntaxToJavaFragmentProcessor;
2223
import org.jd.core.v1.service.layouter.LayoutFragmentProcessor;
2324
import org.jd.core.v1.service.tokenizer.javafragmenttotoken.JavaFragmentToTokenProcessor;
@@ -29,7 +30,7 @@
2930
import java.util.Map;
3031

3132
public class JavaAnnotationTest extends TestCase {
32-
protected DeserializeClassFileProcessor deserializer = new DeserializeClassFileProcessor();
33+
protected ClassFileDeserializer deserializer = new ClassFileDeserializer();
3334
protected ClassFileToJavaSyntaxProcessor converter = new ClassFileToJavaSyntaxProcessor();
3435
protected JavaSyntaxToJavaFragmentProcessor fragmenter = new JavaSyntaxToJavaFragmentProcessor();
3536
protected LayoutFragmentProcessor layouter = new LayoutFragmentProcessor();
@@ -121,7 +122,9 @@ protected String decompile(Loader loader, Printer printer, String internalTypeNa
121122
decompileContext.setMainInternalTypeName(internalTypeName);
122123
decompileContext.setConfiguration(configuration);
123124

124-
deserializer.process(decompileContext);
125+
ClassFile classFile = deserializer.loadClassFile(loader, internalTypeName);
126+
decompileContext.setBody(classFile);
127+
125128
converter.process(decompileContext);
126129
fragmenter.process(decompileContext);
127130
layouter.process(decompileContext);

src/test/java/org/jd/core/v1/JavaAnonymousClassTest.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@
1313
import org.jd.core.v1.compiler.CompilerUtil;
1414
import org.jd.core.v1.compiler.JavaSourceFileObject;
1515
import org.jd.core.v1.loader.ZipLoader;
16+
import org.jd.core.v1.model.classfile.ClassFile;
1617
import org.jd.core.v1.model.message.DecompileContext;
1718
import org.jd.core.v1.printer.PlainTextPrinter;
1819
import org.jd.core.v1.regex.PatternMaker;
1920
import org.jd.core.v1.service.converter.classfiletojavasyntax.ClassFileToJavaSyntaxProcessor;
20-
import org.jd.core.v1.service.deserializer.classfile.DeserializeClassFileProcessor;
21+
import org.jd.core.v1.service.deserializer.classfile.ClassFileDeserializer;
2122
import org.jd.core.v1.service.fragmenter.javasyntaxtojavafragment.JavaSyntaxToJavaFragmentProcessor;
2223
import org.jd.core.v1.service.layouter.LayoutFragmentProcessor;
2324
import org.jd.core.v1.service.tokenizer.javafragmenttotoken.JavaFragmentToTokenProcessor;
@@ -29,7 +30,7 @@
2930
import java.util.Map;
3031

3132
public class JavaAnonymousClassTest extends TestCase {
32-
protected DeserializeClassFileProcessor deserializer = new DeserializeClassFileProcessor();
33+
protected ClassFileDeserializer deserializer = new ClassFileDeserializer();
3334
protected ClassFileToJavaSyntaxProcessor converter = new ClassFileToJavaSyntaxProcessor();
3435
protected JavaSyntaxToJavaFragmentProcessor fragmenter = new JavaSyntaxToJavaFragmentProcessor();
3536
protected LayoutFragmentProcessor layouter = new LayoutFragmentProcessor();
@@ -129,7 +130,9 @@ protected String decompile(Loader loader, Printer printer, String internalTypeNa
129130
decompileContext.setMainInternalTypeName(internalTypeName);
130131
decompileContext.setConfiguration(configuration);
131132

132-
deserializer.process(decompileContext);
133+
ClassFile classFile = deserializer.loadClassFile(loader, internalTypeName);
134+
decompileContext.setBody(classFile);
135+
133136
converter.process(decompileContext);
134137
fragmenter.process(decompileContext);
135138
layouter.process(decompileContext);

0 commit comments

Comments
 (0)