js.frontend new module

This commit is contained in:
Alexey Kudravtsev
2014-07-25 18:55:13 +04:00
parent 894a7162c9
commit 8f388c49c2
13 changed files with 36 additions and 19 deletions
+1
View File
@@ -16,6 +16,7 @@
<element id="module-output" name="util.runtime" />
<element id="module-output" name="j2k" />
<element id="module-output" name="js.translator" />
<element id="module-output" name="js.frontend" />
<element id="module-output" name="cli-common" />
<element id="module-output" name="ide-compiler-runner" />
<element id="module-output" name="preloader" />
+1
View File
@@ -31,6 +31,7 @@
<module fileurl="file://$PROJECT_DIR$/compiler/jet.as.java.psi/jet.as.java.psi.iml" filepath="$PROJECT_DIR$/compiler/jet.as.java.psi/jet.as.java.psi.iml" group="compiler/java" />
<module fileurl="file://$PROJECT_DIR$/jps-plugin/jps-plugin.iml" filepath="$PROJECT_DIR$/jps-plugin/jps-plugin.iml" group="ide/jps" />
<module fileurl="file://$PROJECT_DIR$/js/js.dart-ast/js.dart-ast.iml" filepath="$PROJECT_DIR$/js/js.dart-ast/js.dart-ast.iml" group="compiler/js" />
<module fileurl="file://$PROJECT_DIR$/js/js.frontend/js.frontend.iml" filepath="$PROJECT_DIR$/js/js.frontend/js.frontend.iml" group="compiler/js" />
<module fileurl="file://$PROJECT_DIR$/js/js.tests/js.tests.iml" filepath="$PROJECT_DIR$/js/js.tests/js.tests.iml" group="compiler/js" />
<module fileurl="file://$PROJECT_DIR$/js/js.translator/js.translator.iml" filepath="$PROJECT_DIR$/js/js.translator/js.translator.iml" group="compiler/js" />
<module fileurl="file://$PROJECT_DIR$/jps-plugin/kannotator-jps-plugin-test/kannotator-jps-plugin-test.iml" filepath="$PROJECT_DIR$/jps-plugin/kannotator-jps-plugin-test/kannotator-jps-plugin-test.iml" group="ide/jps" />
+3
View File
@@ -77,6 +77,7 @@
<include name="js/js.dart-ast/src"/>
<include name="js/js.translator/src"/>
<include name="js/js.frontend/src"/>
</dirset>
<property name="idea.out" value="${basedir}/out/production"/>
@@ -98,6 +99,7 @@
<include name="js.dart-ast/**"/>
<include name="js.translator/**"/>
<include name="js.frontend/**"/>
</patternset>
<path id="compilerSources.path">
@@ -161,6 +163,7 @@
<fileset dir="compiler/builtins-serializer"/>
<fileset dir="js/js.dart-ast/src"/>
<fileset dir="js/js.translator/src"/>
<fileset dir="js/js.frontend/src"/>
<zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>
<manifest>
@@ -83,7 +83,7 @@ private fun generatorForTopDownAnalyzerBasic() =
}
private fun generatorForTopDownAnalyzerForJs() =
generator("js/js.translator/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerForJs") {
generator("js/js.frontend/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerForJs") {
commonForTopDownAnalyzer()
}
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="frontend" />
<orderEntry type="library" scope="PROVIDED" name="intellij-core" level="project" />
<orderEntry type="module" module-name="util" />
<orderEntry type="module" module-name="js.dart-ast" exported="" />
</component>
</module>
@@ -23,8 +23,6 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.k2js.translate.test.JSTester;
import org.jetbrains.k2js.translate.test.QUnitTester;
import java.util.Arrays;
import java.util.Collection;
@@ -222,9 +220,7 @@ public abstract class Config {
return allFiles;
}
//TODO: should be null by default I suppose but we can't communicate it to K2JSCompiler atm
@Nullable
public JSTester getTester() {
return new QUnitTester();
public boolean isTestConfig() {
return false;
}
}
@@ -22,8 +22,6 @@ import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.k2js.config.EcmaVersion;
import org.jetbrains.k2js.translate.test.JSRhinoUnitTester;
import org.jetbrains.k2js.translate.test.JSTester;
import java.util.List;
@@ -41,10 +39,6 @@ public class TestConfigWithUnitTests extends TestConfig {
}
};
@Override
public JSTester getTester() {
return new JSRhinoUnitTester();
}
public TestConfigWithUnitTests(@NotNull Project project,
@NotNull EcmaVersion version,
@@ -53,4 +47,9 @@ public class TestConfigWithUnitTests extends TestConfig {
@NotNull ModuleDescriptor module) {
super(project, version, files, libraryContext, module, false);
}
@Override
public boolean isTestConfig() {
return true;
}
}
+1
View File
@@ -12,6 +12,7 @@
<orderEntry type="module" module-name="util" />
<orderEntry type="module" module-name="backend-common" />
<orderEntry type="module" module-name="js.dart-ast" exported="" />
<orderEntry type="module" module-name="js.frontend" exported="" />
</component>
</module>
@@ -42,8 +42,10 @@ import org.jetbrains.k2js.translate.declaration.PackageDeclarationTranslator;
import org.jetbrains.k2js.translate.expression.ExpressionVisitor;
import org.jetbrains.k2js.translate.expression.FunctionTranslator;
import org.jetbrains.k2js.translate.expression.PatternTranslator;
import org.jetbrains.k2js.translate.test.JSRhinoUnitTester;
import org.jetbrains.k2js.translate.test.JSTestGenerator;
import org.jetbrains.k2js.translate.test.JSTester;
import org.jetbrains.k2js.translate.test.QUnitTester;
import org.jetbrains.k2js.translate.utils.JsAstUtils;
import org.jetbrains.k2js.translate.utils.dangerous.DangerousData;
import org.jetbrains.k2js.translate.utils.dangerous.DangerousTranslator;
@@ -162,12 +164,10 @@ public final class Translation {
private static void mayBeGenerateTests(@NotNull Collection<JetFile> files, @NotNull Config config,
@NotNull JsBlock rootBlock, @NotNull TranslationContext context) {
JSTester tester = config.getTester();
if (tester != null) {
tester.initialize(context, rootBlock);
JSTestGenerator.generateTestCalls(context, files, tester);
tester.deinitialize();
}
JSTester tester = config.isTestConfig() ? new JSRhinoUnitTester() : new QUnitTester();
tester.initialize(context, rootBlock);
JSTestGenerator.generateTestCalls(context, files, tester);
tester.deinitialize();
}
//TODO: determine whether should throw exception