Use FileUtil to write files in K2JSTranslator.
Adapted from https://github.com/develar/kotlin/commit/a9e0a42fb1347fa8e21c86b5a073ef8a7c873da0.
This commit is contained in:
@@ -16,12 +16,8 @@
|
|||||||
|
|
||||||
package org.jetbrains.k2js.facade;
|
package org.jetbrains.k2js.facade;
|
||||||
|
|
||||||
import com.intellij.openapi.util.io.FileUtil;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileWriter;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.StringTokenizer;
|
import java.util.StringTokenizer;
|
||||||
@@ -30,22 +26,9 @@ import java.util.StringTokenizer;
|
|||||||
* @author Pavel Talanov
|
* @author Pavel Talanov
|
||||||
*/
|
*/
|
||||||
public final class FacadeUtils {
|
public final class FacadeUtils {
|
||||||
|
|
||||||
private FacadeUtils() {
|
private FacadeUtils() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void writeCodeToFile(@NotNull String outputPath, @NotNull String programCode) throws IOException {
|
|
||||||
File file = new File(outputPath);
|
|
||||||
FileUtil.createParentDirs(file);
|
|
||||||
FileWriter writer = new FileWriter(file);
|
|
||||||
try {
|
|
||||||
writer.write(programCode);
|
|
||||||
}
|
|
||||||
finally {
|
|
||||||
writer.close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public static List<String> parseString(@NotNull String argumentString) {
|
public static List<String> parseString(@NotNull String argumentString) {
|
||||||
List<String> result = new ArrayList<String>();
|
List<String> result = new ArrayList<String>();
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ package org.jetbrains.k2js.facade;
|
|||||||
|
|
||||||
import com.google.dart.compiler.backend.js.ast.JsProgram;
|
import com.google.dart.compiler.backend.js.ast.JsProgram;
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
|
import com.intellij.openapi.util.io.FileUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||||
@@ -28,13 +29,13 @@ import org.jetbrains.k2js.facade.exceptions.TranslationException;
|
|||||||
import org.jetbrains.k2js.translate.general.Translation;
|
import org.jetbrains.k2js.translate.general.Translation;
|
||||||
import org.jetbrains.k2js.utils.JetFileUtils;
|
import org.jetbrains.k2js.utils.JetFileUtils;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static org.jetbrains.k2js.config.Config.withJsLibAdded;
|
import static org.jetbrains.k2js.config.Config.withJsLibAdded;
|
||||||
import static org.jetbrains.k2js.facade.FacadeUtils.parseString;
|
import static org.jetbrains.k2js.facade.FacadeUtils.parseString;
|
||||||
import static org.jetbrains.k2js.facade.FacadeUtils.writeCodeToFile;
|
|
||||||
import static org.jetbrains.k2js.generate.CodeGenerator.generateProgramToString;
|
import static org.jetbrains.k2js.generate.CodeGenerator.generateProgramToString;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -52,8 +53,8 @@ public final class K2JSTranslator {
|
|||||||
@NotNull String outputPath,
|
@NotNull String outputPath,
|
||||||
@NotNull Config config) throws TranslationException, IOException {
|
@NotNull Config config) throws TranslationException, IOException {
|
||||||
K2JSTranslator translator = new K2JSTranslator(config);
|
K2JSTranslator translator = new K2JSTranslator(config);
|
||||||
String programCode = translator.generateProgramCode(files, mainCall) + "\n";
|
String programCode = translator.generateProgramCode(files, mainCall);
|
||||||
writeCodeToFile(outputPath, programCode);
|
FileUtil.writeToFile(new File(outputPath), programCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|||||||
Reference in New Issue
Block a user