From da68540adeace2d26ff46293994b74a8ff978588 Mon Sep 17 00:00:00 2001 From: develar Date: Tue, 17 Sep 2013 23:04:16 +0400 Subject: [PATCH] JS backend: LibrarySourcesConfig accepts source dir as source. Idea send files in any case, but for easy debug run configurations we want to specify only source dir. (cherry picked from commit e194435) --- .../jet/cli/js/K2JSCompilerArguments.java | 2 - .../k2js/test/utils/TranslationUtils.java | 31 +++----- js/js.translator/lib/dart-ast.jar | Bin 106613 -> 102735 bytes js/js.translator/lib/src/dart-ast-src.jar | Bin 71394 -> 69153 bytes .../k2js/config/LibrarySourcesConfig.java | 69 ++++++++++++------ .../k2js/config/MetaInfServices.java | 3 +- .../jetbrains/k2js/facade/K2JSTranslator.java | 2 +- .../jetbrains/k2js/utils/JetFileUtils.java | 65 ++--------------- 8 files changed, 64 insertions(+), 108 deletions(-) diff --git a/compiler/cli/src/org/jetbrains/jet/cli/js/K2JSCompilerArguments.java b/compiler/cli/src/org/jetbrains/jet/cli/js/K2JSCompilerArguments.java index 0e728168598..b2e6a98735b 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/js/K2JSCompilerArguments.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/js/K2JSCompilerArguments.java @@ -24,13 +24,11 @@ import org.jetbrains.k2js.facade.MainCallParameters; /** * NOTE: for now K2JSCompiler supports only minimal amount of parameters required to launch it from the plugin. - * You can specify path to the file where generated file will be stored, path to zipped library sources. */ public class K2JSCompilerArguments extends CompilerArguments { @Argument(value = "output", description = "Output file path") public String outputFile; - //NOTE: may well be a subject to change soon @Argument(value = "libraryFiles", description = "Path to zipped lib sources or kotlin files") public String[] libraryFiles; diff --git a/js/js.tests/test/org/jetbrains/k2js/test/utils/TranslationUtils.java b/js/js.tests/test/org/jetbrains/k2js/test/utils/TranslationUtils.java index 772137b5842..cc85e8a86f1 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/utils/TranslationUtils.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/utils/TranslationUtils.java @@ -35,14 +35,10 @@ import org.jetbrains.k2js.test.config.TestConfigFactory; import org.jetbrains.k2js.utils.JetFileUtils; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; -import java.io.InputStream; import java.lang.ref.SoftReference; import java.util.List; -import static org.jetbrains.k2js.utils.JetFileUtils.createPsiFileList; - //TODO: use method object public final class TranslationUtils { @@ -103,14 +99,14 @@ public final class TranslationUtils { @NotNull String outputFile, @NotNull MainCallParameters mainCallParameters, @NotNull EcmaVersion version, TestConfigFactory configFactory) throws Exception { - List psiFiles = createPsiFileList(inputFiles, project); + List jetFiles = createJetFileList(project, inputFiles, null); K2JSTranslator translator = new K2JSTranslator(getConfig(project, version, configFactory)); - FileUtil.writeToFile(new File(outputFile), translator.generateProgramCode(psiFiles, mainCallParameters)); + FileUtil.writeToFile(new File(outputFile), translator.generateProgramCode(jetFiles, mainCallParameters)); } @NotNull private static List initLibFiles(@NotNull Project project) { - return getLibFiles(project, Config.LIB_FILE_NAMES); + return createJetFileList(project, Config.LIB_FILE_NAMES, Config.LIBRARIES_LOCATION); } @NotNull @@ -124,28 +120,21 @@ public final class TranslationUtils { return result; } - @NotNull - private static List getLibFiles(@NotNull Project project, @NotNull List list) { + private static List createJetFileList(@NotNull Project project, @NotNull List list, @Nullable String root) { List libFiles = Lists.newArrayList(); for (String libFileName : list) { - JetFile file = null; try { - @SuppressWarnings("IOResourceOpenedButNotSafelyClosed") - InputStream stream = new FileInputStream(Config.LIBRARIES_LOCATION + libFileName); - try { - String text = FileUtil.loadTextAndClose(stream); - file = JetFileUtils.createPsiFile(libFileName, text, project); - } - catch (IOException e) { - e.printStackTrace(); - } - libFiles.add(file); + String path = root == null ? libFileName : (root + libFileName); + String text = FileUtil.loadFile(new File(path)); + JetFile jetFile = JetFileUtils.createJetFile(path, text, project); + libFiles.add(jetFile); } - catch (Exception e) { + catch (IOException e) { //TODO: throw generic exception throw new IllegalStateException(e); } } return libFiles; + } } diff --git a/js/js.translator/lib/dart-ast.jar b/js/js.translator/lib/dart-ast.jar index 5d4ca629ddba4dcee130121ad4eccbf45d4769b3..c27da6ad0435bc7f912f1bcdb6da48fa5a4eefce 100644 GIT binary patch delta 44796 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�NOST>LFV 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 DA)VPw delta 48624 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


1%T?^#!AaZor>g^dLd?zbB0S`e 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

* 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 z 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 E57?6PtpET3 delta 28570 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 P0e_3E7#M4N$fy4Y%ko)d diff --git a/js/js.translator/src/org/jetbrains/k2js/config/LibrarySourcesConfig.java b/js/js.translator/src/org/jetbrains/k2js/config/LibrarySourcesConfig.java index 8bb4460d70a..3bce3f989bb 100644 --- a/js/js.translator/src/org/jetbrains/k2js/config/LibrarySourcesConfig.java +++ b/js/js.translator/src/org/jetbrains/k2js/config/LibrarySourcesConfig.java @@ -21,11 +21,13 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.vfs.*; +import com.intellij.psi.PsiFile; +import com.intellij.psi.PsiManager; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.k2js.utils.JetFileUtils; -import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; @@ -37,7 +39,7 @@ import java.util.zip.ZipFile; public class LibrarySourcesConfig extends Config { @NotNull - public static final Key EXTERNAL_MODULE_NAME = new Key("externalModule"); + public static final Key EXTERNAL_MODULE_NAME = Key.create("externalModule"); @NotNull public static final String UNKNOWN_EXTERNAL_MODULE_NAME = ""; @@ -60,41 +62,53 @@ public class LibrarySourcesConfig extends Config { @NotNull @Override - public List generateLibFiles() { + protected List generateLibFiles() { if (files.isEmpty()) { return Collections.emptyList(); } - List jetFiles = new ArrayList(); + final List jetFiles = new ArrayList(); String moduleName = UNKNOWN_EXTERNAL_MODULE_NAME; + VirtualFileSystem fileSystem = VirtualFileManager.getInstance().getFileSystem(StandardFileSystems.FILE_PROTOCOL); + final PsiManager psiManager = PsiManager.getInstance(getProject()); for (String path : files) { - File file = new File(path); - if (!file.exists()) continue; // The path here may be copying from a library root configuration, i.e. may be absent - try { - String name = file.getName(); - if (path.charAt(0) == '@') { - moduleName = path.substring(1); - continue; + if (path.charAt(0) == '@') { + moduleName = path.substring(1); + } + else if (path.endsWith(".jar") || path.endsWith(".zip")) { + try { + jetFiles.addAll(readZip(path)); } - - if (name.endsWith(".jar") || name.endsWith(".zip")) { - jetFiles.addAll(readZip(file)); - } - else { - JetFile psiFile = JetFileUtils.createPsiFile(path, FileUtil.loadFile(file), getProject()); - psiFile.putUserData(EXTERNAL_MODULE_NAME, moduleName); - jetFiles.add(psiFile); + catch (IOException e) { + LOG.error(e); } } - catch (IOException e) { - LOG.error("While processing " + file, e); + else { + VirtualFile file = fileSystem.findFileByPath(path); + assert file != null; + if (file.isDirectory()) { + final String currentModuleName = moduleName; + VfsUtilCore.visitChildrenRecursively(file, new VirtualFileVisitor() { + @Override + public boolean visitFile(@NotNull VirtualFile file) { + if (file.getName().endsWith(".kt")) { + addJetFile(jetFiles, currentModuleName, psiManager, file); + return false; + } + return true; + } + }); + } + else { + addJetFile(jetFiles, moduleName, psiManager, file); + } } } return jetFiles; } - private List readZip(File file) throws IOException { + private List readZip(String file) throws IOException { ZipFile zipFile = new ZipFile(file); try { return traverseArchive(zipFile); @@ -113,11 +127,18 @@ public class LibrarySourcesConfig extends Config { if (!entry.isDirectory() && entry.getName().endsWith(".kt")) { InputStream stream = file.getInputStream(entry); String text = FileUtil.loadTextAndClose(stream); - JetFile jetFile = JetFileUtils.createPsiFile(entry.getName(), text, getProject()); + JetFile jetFile = JetFileUtils.createJetFile(entry.getName(), text, getProject()); jetFile.putUserData(EXTERNAL_MODULE_NAME, UNKNOWN_EXTERNAL_MODULE_NAME); result.add(jetFile); } } return result; } -} + + private static void addJetFile(List jetFiles, String moduleName, PsiManager psiManager, VirtualFile file) { + PsiFile psiFile = psiManager.findFile(file); + assert psiFile != null; + psiFile.putUserData(EXTERNAL_MODULE_NAME, moduleName); + jetFiles.add((JetFile) psiFile); + } +} \ No newline at end of file diff --git a/js/js.translator/src/org/jetbrains/k2js/config/MetaInfServices.java b/js/js.translator/src/org/jetbrains/k2js/config/MetaInfServices.java index 5ef1d51bae6..7baa309998b 100644 --- a/js/js.translator/src/org/jetbrains/k2js/config/MetaInfServices.java +++ b/js/js.translator/src/org/jetbrains/k2js/config/MetaInfServices.java @@ -74,8 +74,7 @@ public final class MetaInfServices { InputStream stream = loadClasspathResource(line); if (stream != null) { String text = FileUtil.loadTextAndClose(stream); - JetFile file = JetFileUtils.createPsiFile(line, text, project); - libFiles.add(file); + libFiles.add(JetFileUtils.createJetFile(line, text, project)); } } } diff --git a/js/js.translator/src/org/jetbrains/k2js/facade/K2JSTranslator.java b/js/js.translator/src/org/jetbrains/k2js/facade/K2JSTranslator.java index 2de524bfafc..305e9f7e127 100644 --- a/js/js.translator/src/org/jetbrains/k2js/facade/K2JSTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/facade/K2JSTranslator.java @@ -75,7 +75,7 @@ public final class K2JSTranslator { @SuppressWarnings("UnusedDeclaration") @NotNull public String translateStringWithCallToMain(@NotNull String programText, @NotNull String argumentsString) throws TranslationException { - JetFile file = JetFileUtils.createPsiFile("test", programText, getProject()); + JetFile file = JetFileUtils.createJetFile("test", programText, getProject()); String programCode = generateProgramCode(file, MainCallParameters.mainWithArguments(parseString(argumentsString))) + "\n"; return FLUSH_SYSTEM_OUT + programCode + GET_SYSTEM_OUT; } diff --git a/js/js.translator/src/org/jetbrains/k2js/utils/JetFileUtils.java b/js/js.translator/src/org/jetbrains/k2js/utils/JetFileUtils.java index bfc78506de6..47b22f2413e 100644 --- a/js/js.translator/src/org/jetbrains/k2js/utils/JetFileUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/utils/JetFileUtils.java @@ -17,74 +17,23 @@ package org.jetbrains.k2js.utils; import com.intellij.openapi.project.Project; -import com.intellij.openapi.util.io.FileUtil; -import com.intellij.openapi.util.text.StringUtil; -import com.intellij.openapi.vfs.CharsetToolkit; -import com.intellij.psi.PsiFile; import com.intellij.psi.PsiFileFactory; -import com.intellij.psi.impl.PsiFileFactoryImpl; -import com.intellij.testFramework.LightVirtualFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.plugin.JetLanguage; -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - public final class JetFileUtils { private JetFileUtils() { } @NotNull - private static String loadFile(@NotNull String path) throws IOException { - return doLoadFile(path); - } - - @NotNull - private static String doLoadFile(@NotNull String path) throws IOException { - String text = FileUtil.loadFile(new File(path), CharsetToolkit.UTF8).trim(); - text = StringUtil.convertLineSeparators(text); - return text; - } - - @NotNull - public static JetFile createPsiFile(@NotNull String name, - @NotNull String text, - @NotNull Project project) { - String fileName = name.endsWith(".kt") ? name : name + ".jet"; - return (JetFile) createFile(fileName, text, project); - } - - @NotNull - private static JetFile loadPsiFile(@NotNull String name, @NotNull Project project) { - try { - return createPsiFile(name, loadFile(name), project); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - - @NotNull - private static PsiFile createFile(@NotNull String name, @NotNull String text, @NotNull Project project) { - LightVirtualFile virtualFile = new LightVirtualFile(name, JetLanguage.INSTANCE, text); - virtualFile.setCharset(CharsetToolkit.UTF8_CHARSET); - PsiFile result = ((PsiFileFactoryImpl) PsiFileFactory.getInstance(project)) - .trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false); - assert result != null; - return result; - } - - - @NotNull - public static List createPsiFileList(@NotNull List inputFiles, - @NotNull Project project) { - List psiFiles = new ArrayList(); - for (String inputFile : inputFiles) { - psiFiles.add(loadPsiFile(inputFile, project)); - } - return psiFiles; + public static JetFile createJetFile( + @NotNull String name, + @NotNull String text, + @NotNull Project project + ) { + return (JetFile) PsiFileFactory.getInstance(project) + .createFileFromText(name.endsWith(".kt") ? name : name + ".jet", JetLanguage.INSTANCE, text, true, false); } }