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 @@
-
+
-
+