17
17
package com .google .classyshark .silverghost ;
18
18
19
19
import com .google .classyshark .gui .panel .reducer .Reducer ;
20
+ import com .google .classyshark .silverghost .plugins .EmptyFullArchiveReader ;
20
21
import com .google .classyshark .silverghost .contentreader .ContentReader ;
21
- import com .google .classyshark .silverghost .tokensmapper .MappingReader ;
22
- import com .google .classyshark .silverghost .tokensmapper .ProguardMapper ;
22
+ import com .google .classyshark .silverghost .plugins .IdentityMapper ;
23
23
import com .google .classyshark .silverghost .translator .Translator ;
24
24
import com .google .classyshark .silverghost .translator .TranslatorFactory ;
25
-
26
25
import java .io .File ;
27
- import java .io .IOException ;
28
26
import java .util .List ;
29
27
30
28
/**
@@ -36,7 +34,13 @@ public class SilverGhost {
36
34
private Reducer reducer ;
37
35
private Translator translator ;
38
36
private ContentReader contentReader ;
39
- private ProguardMapper proguardMapper = ProguardMapper .IDENTITY ;
37
+ private static TokensMapper tokensMapper ;
38
+ private static FullArchiveReader fullArchiveReader ;
39
+
40
+ static {
41
+ tokensMapper = new IdentityMapper ();
42
+ fullArchiveReader = new EmptyFullArchiveReader ();
43
+ }
40
44
41
45
public SilverGhost () {
42
46
}
@@ -45,7 +49,7 @@ public void setBinaryArchive(File binArchive) {
45
49
this .binaryArchive = binArchive ;
46
50
47
51
// TODO think of initialyzing data members as they hold prev file state
48
- proguardMapper = ProguardMapper . IDENTITY ;
52
+ tokensMapper = new IdentityMapper () ;
49
53
}
50
54
51
55
// 1. READ CONTENTS
@@ -56,6 +60,8 @@ public void readContents() {
56
60
reducer = new Reducer (contentReader .getAllClassNames ());
57
61
System .out .println ("Archive Reading "
58
62
+ (System .currentTimeMillis () - start ) + " ms " );
63
+
64
+ fullArchiveReader .readAsyncArchive (binaryArchive );
59
65
}
60
66
61
67
public File getBinaryArchive () {
@@ -91,19 +97,13 @@ public boolean isArchiveError() {
91
97
}
92
98
93
99
// 2. READ MAPPINGS FILE
94
- public static ProguardMapper readMappingFile (File mappingFile ) {
95
- try {
96
- MappingReader mr = new MappingReader (mappingFile );
97
- ProguardMapper proguardMapper = new ProguardMapper ();
98
- mr .pump (proguardMapper );
99
- return proguardMapper ;
100
- } catch (IOException e ) {
101
- return ProguardMapper .IDENTITY ;
102
- }
100
+ public TokensMapper readMappingFile (File mappingFile ) {
101
+ tokensMapper .readMappings (mappingFile );
102
+ return tokensMapper ;
103
103
}
104
104
105
- public void addMappings (ProguardMapper proguardMapper ) {
106
- this .proguardMapper = proguardMapper ;
105
+ public void addMappings (TokensMapper tokensMapper ) {
106
+ this .tokensMapper = tokensMapper ;
107
107
}
108
108
109
109
// 3. BINARY ARCHIVE ELEMENT
@@ -113,8 +113,8 @@ public void translateArchiveElement(String elementName) {
113
113
TranslatorFactory .createTranslator (
114
114
elementName ,
115
115
getBinaryArchive (),
116
- reducer .getAllClassNames ());
117
- translator .addMapper (this . proguardMapper );
116
+ reducer .getAllClassNames (), fullArchiveReader );
117
+ translator .addMapper (tokensMapper );
118
118
translator .apply ();
119
119
}
120
120
0 commit comments