rewrite K2JSTranslator class
This commit is contained in:
Generated
+1
-1
@@ -24,7 +24,7 @@
|
|||||||
<component name="ProjectResources">
|
<component name="ProjectResources">
|
||||||
<default-html-doctype>http://www.w3.org/1999/xhtml</default-html-doctype>
|
<default-html-doctype>http://www.w3.org/1999/xhtml</default-html-doctype>
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="IDEA IC-110.283" project-jdk-type="IDEA JDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="IDEA IC-112.121" project-jdk-type="IDEA JDK">
|
||||||
<output url="file://$PROJECT_DIR$/out" />
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
</component>
|
</component>
|
||||||
<component name="com.sixrr.metrics.MetricsReloaded">
|
<component name="com.sixrr.metrics.MetricsReloaded">
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
</content>
|
</content>
|
||||||
<orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" />
|
<orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="library" name="libs" level="project" />
|
<orderEntry type="library" name="lib" level="project" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
package org.jetbrains.k2js;
|
package org.jetbrains.k2js;
|
||||||
|
|
||||||
|
import com.google.dart.compiler.backend.js.ast.JsProgram;
|
||||||
import com.intellij.openapi.Disposable;
|
import com.intellij.openapi.Disposable;
|
||||||
import com.intellij.openapi.util.io.FileUtil;
|
import com.intellij.openapi.util.io.FileUtil;
|
||||||
import com.intellij.openapi.util.text.StringUtil;
|
import com.intellij.openapi.util.text.StringUtil;
|
||||||
import com.intellij.openapi.vfs.CharsetToolkit;
|
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.PsiFile;
|
||||||
import com.intellij.psi.PsiFileFactory;
|
import com.intellij.psi.PsiFileFactory;
|
||||||
import com.intellij.psi.impl.PsiFileFactoryImpl;
|
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.CompileEnvironment;
|
||||||
import org.jetbrains.jet.compiler.CompileEnvironmentException;
|
import org.jetbrains.jet.compiler.CompileEnvironmentException;
|
||||||
import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory;
|
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.JetFile;
|
||||||
import org.jetbrains.jet.lang.psi.JetNamespace;
|
import org.jetbrains.jet.lang.psi.JetNamespace;
|
||||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||||
import org.jetbrains.jet.plugin.JetLanguage;
|
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 org.jetbrains.k2js.utils.JetTestUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -35,14 +34,13 @@ public final class K2JSTranslator {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void dispose() {
|
public void dispose() {
|
||||||
//To change body of implemented methods use File | Settings | File Templates.
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
public K2JSTranslator() {
|
public K2JSTranslator() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void translate(String inputFile, String outputFile) {
|
public void translate(String inputFile, String outputFile) throws Exception {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
@@ -54,8 +52,10 @@ public final class K2JSTranslator {
|
|||||||
BindingContext bindingContext = JetTestUtils.analyzeNamespace(namespace,
|
BindingContext bindingContext = JetTestUtils.analyzeNamespace(namespace,
|
||||||
JetControlFlowDataTraceFactory.EMPTY);
|
JetControlFlowDataTraceFactory.EMPTY);
|
||||||
|
|
||||||
NamespaceDescriptor namespaceDescriptor = BindingUtils.getNamespaceDescriptor(bindingContext, namespace);
|
JsProgram program = Translation.generateAst(bindingContext, namespace, myEnvironment.getProject());
|
||||||
namespaceDescriptor.getMemberScope().getAllDescriptors();
|
|
||||||
|
CodeGenerator generator = new CodeGenerator();
|
||||||
|
generator.generateToFile(program, new File(outputFile));
|
||||||
|
|
||||||
} catch (CompileEnvironmentException e) {
|
} catch (CompileEnvironmentException e) {
|
||||||
System.out.println(e.getMessage());
|
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);
|
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package org.jetbrains.k2js.test;
|
package org.jetbrains.k2js.test;
|
||||||
|
|
||||||
import org.jetbrains.k2js.K2JSTranslator;
|
|
||||||
import org.mozilla.javascript.Context;
|
import org.mozilla.javascript.Context;
|
||||||
import org.mozilla.javascript.Scriptable;
|
import org.mozilla.javascript.Scriptable;
|
||||||
|
|
||||||
@@ -56,7 +55,7 @@ public abstract class TranslationTest {
|
|||||||
new RhinoFunctionResultChecker(namespaceName, functionName, expectedResult));
|
new RhinoFunctionResultChecker(namespaceName, functionName, expectedResult));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void translateFile(String filename) {
|
protected void translateFile(String filename) throws Exception {
|
||||||
(new K2JSTranslator()).translate(getInputFilePath(filename), getOutputFilePath(filename));
|
(new K2JSTranslator()).translate(getInputFilePath(filename), getOutputFilePath(filename));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,13 +7,13 @@
|
|||||||
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
|
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/examples" isTestSource="true" />
|
<sourceFolder url="file://$MODULE_DIR$/examples" isTestSource="true" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="jdk" jdkName="IDEA IC-112.121" jdkType="IDEA JDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="module" module-name="js" />
|
<orderEntry type="module" module-name="js" />
|
||||||
<orderEntry type="module" module-name="frontend" />
|
<orderEntry type="module" module-name="frontend" />
|
||||||
<orderEntry type="module" module-name="frontend.java" />
|
<orderEntry type="module" module-name="frontend.java" />
|
||||||
<orderEntry type="library" name="libs" level="project" />
|
|
||||||
<orderEntry type="module" module-name="backend" />
|
<orderEntry type="module" module-name="backend" />
|
||||||
|
<orderEntry type="library" name="lib" level="project" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user