diff --git a/.idea/misc.xml b/.idea/misc.xml index e09964cae49..f4841373743 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -24,7 +24,7 @@ http://www.w3.org/1999/xhtml - + diff --git a/js/js.iml b/js/js.iml index 4c5fd9a0c0a..ce521ee9bd4 100644 --- a/js/js.iml +++ b/js/js.iml @@ -7,7 +7,7 @@ - + diff --git a/translator/src/org/jetbrains/k2js/K2JSTranslator.java b/translator/src/org/jetbrains/k2js/K2JSTranslator.java index c0ca1503d74..c9278369c96 100644 --- a/translator/src/org/jetbrains/k2js/K2JSTranslator.java +++ b/translator/src/org/jetbrains/k2js/K2JSTranslator.java @@ -1,11 +1,10 @@ package org.jetbrains.k2js; +import com.google.dart.compiler.backend.js.ast.JsProgram; import com.intellij.openapi.Disposable; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.CharsetToolkit; -import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiFileFactory; import com.intellij.psi.impl.PsiFileFactoryImpl; @@ -15,12 +14,12 @@ import org.jetbrains.jet.JetCoreEnvironment; import org.jetbrains.jet.compiler.CompileEnvironment; import org.jetbrains.jet.compiler.CompileEnvironmentException; import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory; -import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetNamespace; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.plugin.JetLanguage; -import org.jetbrains.k2js.translate.utils.BindingUtils; +import org.jetbrains.k2js.generate.CodeGenerator; +import org.jetbrains.k2js.translate.general.Translation; import org.jetbrains.k2js.utils.JetTestUtils; import java.io.File; @@ -35,14 +34,13 @@ public final class K2JSTranslator { @Override public void dispose() { - //To change body of implemented methods use File | Settings | File Templates. } }); public K2JSTranslator() { } - public void translate(String inputFile, String outputFile) { + public void translate(String inputFile, String outputFile) throws Exception { try { @@ -54,8 +52,10 @@ public final class K2JSTranslator { BindingContext bindingContext = JetTestUtils.analyzeNamespace(namespace, JetControlFlowDataTraceFactory.EMPTY); - NamespaceDescriptor namespaceDescriptor = BindingUtils.getNamespaceDescriptor(bindingContext, namespace); - namespaceDescriptor.getMemberScope().getAllDescriptors(); + JsProgram program = Translation.generateAst(bindingContext, namespace, myEnvironment.getProject()); + + CodeGenerator generator = new CodeGenerator(); + generator.generateToFile(program, new File(outputFile)); } catch (CompileEnvironmentException e) { System.out.println(e.getMessage()); @@ -90,22 +90,4 @@ public final class K2JSTranslator { return ((PsiFileFactoryImpl) PsiFileFactory.getInstance(myEnvironment.getProject())).trySetupPsiForFile(virtualFile, JetLanguage.INSTANCE, true, false); } - protected void ensureParsed(PsiFile file) { - file.accept(new PsiElementVisitor() { - @Override - public void visitElement(PsiElement element) { - element.acceptChildren(this); - } - }); - } - - protected void prepareForTest(String name) throws IOException { - // String text = loadFile(name + ".jet"); - // createAndCheckPsiFile(name, text); - } - - protected void createAndCheckPsiFile(String name, String text) { - //createCheckAndReturnPsiFile(name, text); - } - } diff --git a/translator/test/org/jetbrains/k2js/test/TranslationTest.java b/translator/test/org/jetbrains/k2js/test/TranslationTest.java index 1c5c92293ed..07575c7ccd9 100644 --- a/translator/test/org/jetbrains/k2js/test/TranslationTest.java +++ b/translator/test/org/jetbrains/k2js/test/TranslationTest.java @@ -1,6 +1,5 @@ package org.jetbrains.k2js.test; -import org.jetbrains.k2js.K2JSTranslator; import org.mozilla.javascript.Context; import org.mozilla.javascript.Scriptable; @@ -56,7 +55,7 @@ public abstract class TranslationTest { new RhinoFunctionResultChecker(namespaceName, functionName, expectedResult)); } - protected void translateFile(String filename) { + protected void translateFile(String filename) throws Exception { (new K2JSTranslator()).translate(getInputFilePath(filename), getOutputFilePath(filename)); } diff --git a/translator/translator.iml b/translator/translator.iml index 0a4844c97a4..ca6199fc73b 100644 --- a/translator/translator.iml +++ b/translator/translator.iml @@ -7,13 +7,13 @@ - + - +