diff options
Diffstat (limited to 'src/main/java/com/android/tools/r8/R8.java')
-rw-r--r-- | src/main/java/com/android/tools/r8/R8.java | 14 |
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(); |