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="util.runtime" />
<element id="module-output" name="j2k" /> <element id="module-output" name="j2k" />
<element id="module-output" name="js.translator" /> <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="cli-common" />
<element id="module-output" name="ide-compiler-runner" /> <element id="module-output" name="ide-compiler-runner" />
<element id="module-output" name="preloader" /> <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$/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$/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.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.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$/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" /> <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.dart-ast/src"/>
<include name="js/js.translator/src"/> <include name="js/js.translator/src"/>
<include name="js/js.frontend/src"/>
</dirset> </dirset>
<property name="idea.out" value="${basedir}/out/production"/> <property name="idea.out" value="${basedir}/out/production"/>
@@ -98,6 +99,7 @@
<include name="js.dart-ast/**"/> <include name="js.dart-ast/**"/>
<include name="js.translator/**"/> <include name="js.translator/**"/>
<include name="js.frontend/**"/>
</patternset> </patternset>
<path id="compilerSources.path"> <path id="compilerSources.path">
@@ -161,6 +163,7 @@
<fileset dir="compiler/builtins-serializer"/> <fileset dir="compiler/builtins-serializer"/>
<fileset dir="js/js.dart-ast/src"/> <fileset dir="js/js.dart-ast/src"/>
<fileset dir="js/js.translator/src"/> <fileset dir="js/js.translator/src"/>
<fileset dir="js/js.frontend/src"/>
<zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/> <zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>
<manifest> <manifest>
@@ -83,7 +83,7 @@ private fun generatorForTopDownAnalyzerBasic() =
} }
private fun generatorForTopDownAnalyzerForJs() = private fun generatorForTopDownAnalyzerForJs() =
generator("js/js.translator/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerForJs") { generator("js/js.frontend/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerForJs") {
commonForTopDownAnalyzer() 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.descriptors.ModuleDescriptor;
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;
import org.jetbrains.k2js.translate.test.JSTester;
import org.jetbrains.k2js.translate.test.QUnitTester;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
@@ -222,9 +220,7 @@ public abstract class Config {
return allFiles; return allFiles;
} }
//TODO: should be null by default I suppose but we can't communicate it to K2JSCompiler atm public boolean isTestConfig() {
@Nullable return false;
public JSTester getTester() {
return new QUnitTester();
} }
} }
@@ -22,8 +22,6 @@ import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
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;
import org.jetbrains.k2js.config.EcmaVersion; import org.jetbrains.k2js.config.EcmaVersion;
import org.jetbrains.k2js.translate.test.JSRhinoUnitTester;
import org.jetbrains.k2js.translate.test.JSTester;
import java.util.List; 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, public TestConfigWithUnitTests(@NotNull Project project,
@NotNull EcmaVersion version, @NotNull EcmaVersion version,
@@ -53,4 +47,9 @@ public class TestConfigWithUnitTests extends TestConfig {
@NotNull ModuleDescriptor module) { @NotNull ModuleDescriptor module) {
super(project, version, files, libraryContext, module, false); 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="util" />
<orderEntry type="module" module-name="backend-common" /> <orderEntry type="module" module-name="backend-common" />
<orderEntry type="module" module-name="js.dart-ast" exported="" /> <orderEntry type="module" module-name="js.dart-ast" exported="" />
<orderEntry type="module" module-name="js.frontend" exported="" />
</component> </component>
</module> </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.ExpressionVisitor;
import org.jetbrains.k2js.translate.expression.FunctionTranslator; import org.jetbrains.k2js.translate.expression.FunctionTranslator;
import org.jetbrains.k2js.translate.expression.PatternTranslator; 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.JSTestGenerator;
import org.jetbrains.k2js.translate.test.JSTester; 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.JsAstUtils;
import org.jetbrains.k2js.translate.utils.dangerous.DangerousData; import org.jetbrains.k2js.translate.utils.dangerous.DangerousData;
import org.jetbrains.k2js.translate.utils.dangerous.DangerousTranslator; 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, private static void mayBeGenerateTests(@NotNull Collection<JetFile> files, @NotNull Config config,
@NotNull JsBlock rootBlock, @NotNull TranslationContext context) { @NotNull JsBlock rootBlock, @NotNull TranslationContext context) {
JSTester tester = config.getTester(); JSTester tester = config.isTestConfig() ? new JSRhinoUnitTester() : new QUnitTester();
if (tester != null) { tester.initialize(context, rootBlock);
tester.initialize(context, rootBlock); JSTestGenerator.generateTestCalls(context, files, tester);
JSTestGenerator.generateTestCalls(context, files, tester); tester.deinitialize();
tester.deinitialize();
}
} }
//TODO: determine whether should throw exception //TODO: determine whether should throw exception