diff options
Diffstat (limited to 'src/main/java/com/android/tools/r8/utils/DirectoryOutputSink.java')
-rw-r--r-- | src/main/java/com/android/tools/r8/utils/DirectoryOutputSink.java | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/main/java/com/android/tools/r8/utils/DirectoryOutputSink.java b/src/main/java/com/android/tools/r8/utils/DirectoryOutputSink.java index 56e0ea149..6c1090a8c 100644 --- a/src/main/java/com/android/tools/r8/utils/DirectoryOutputSink.java +++ b/src/main/java/com/android/tools/r8/utils/DirectoryOutputSink.java @@ -3,6 +3,9 @@ // BSD-style license that can be found in the LICENSE file. package com.android.tools.r8.utils; +import static com.android.tools.r8.utils.FileUtils.CLASS_EXTENSION; +import static com.android.tools.r8.utils.FileUtils.DEX_EXTENSION; + import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; @@ -43,7 +46,18 @@ public class DirectoryOutputSink extends FileSystemOutputSink { @Override public void writeDexFile(byte[] contents, Set<String> classDescriptors, String primaryClassName) throws IOException { - Path target = outputDirectory.resolve(getOutputFileName(primaryClassName)); + writeFileFromDescriptor(contents, primaryClassName, DEX_EXTENSION); + } + + @Override + public void writeClassFile(byte[] contents, Set<String> classDescriptors, String primaryClassName) + throws IOException { + writeFileFromDescriptor(contents, primaryClassName, CLASS_EXTENSION); + } + + private void writeFileFromDescriptor(byte[] contents, String descriptor, String extension) + throws IOException { + Path target = outputDirectory.resolve(getOutputFileName(descriptor, extension)); Files.createDirectories(target.getParent()); writeToFile(target, null, contents); } |