aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/android/tools/r8/R8.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/android/tools/r8/R8.java')
-rw-r--r--src/main/java/com/android/tools/r8/R8.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/main/java/com/android/tools/r8/R8.java b/src/main/java/com/android/tools/r8/R8.java
index 5255fc5d6..c9ede5106 100644
--- a/src/main/java/com/android/tools/r8/R8.java
+++ b/src/main/java/com/android/tools/r8/R8.java
@@ -19,6 +19,7 @@ import com.android.tools.r8.graph.GraphLense;
import com.android.tools.r8.ir.conversion.IRConverter;
import com.android.tools.r8.ir.optimize.EnumOrdinalMapCollector;
import com.android.tools.r8.ir.optimize.SwitchMapCollector;
+import com.android.tools.r8.jar.CfApplicationWriter;
import com.android.tools.r8.naming.Minifier;
import com.android.tools.r8.naming.NamingLens;
import com.android.tools.r8.naming.SourceFileRewriter;
@@ -92,11 +93,14 @@ public class R8 {
throws ExecutionException, DexOverflowException {
try {
Marker marker = getMarker(options);
- new ApplicationWriter(
- application, options, marker, deadCode, namingLens, proguardSeedsData)
- .write(outputSink, executorService);
+ if (options.outputClassFiles) {
+ new CfApplicationWriter(application, options).write(outputSink, executorService);
+ } else {
+ new ApplicationWriter(application, options, marker, deadCode, namingLens, proguardSeedsData)
+ .write(outputSink, executorService);
+ }
} catch (IOException e) {
- throw new RuntimeException("Cannot write dex application", e);
+ throw new RuntimeException("Cannot write application", e);
}
}
@@ -125,7 +129,7 @@ public class R8 {
timing.begin("Create IR");
try {
IRConverter converter = new IRConverter(
- timing, appInfo, options, printer, graphLense);
+ appInfo, options, timing, printer, graphLense);
application = converter.optimize(application, executorService);
} finally {
timing.end();