diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 99bc02b26e7..da3a9e8925f 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -8,12 +8,12 @@
+
+
+
+
-
-
-
-
@@ -44,47 +44,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -124,56 +83,9 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -192,24 +104,71 @@
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -223,47 +182,45 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
@@ -291,10 +248,10 @@
-
+
-
+
@@ -339,12 +296,9 @@
@@ -580,6 +537,124 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -706,7 +781,13 @@
+
+
+
+
+
+
@@ -1031,7 +1112,7 @@
-
+
@@ -1044,7 +1125,6 @@
-
@@ -1069,6 +1149,7 @@
+
@@ -1078,9 +1159,51 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1092,6 +1215,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1102,95 +1241,42 @@
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
-
+
+
+
+
+
-
+
-
+
diff --git a/translator/src/org/jetbrains/k2js/translate/declaration/ClassDeclarationTranslator.java b/translator/src/org/jetbrains/k2js/translate/declaration/ClassDeclarationTranslator.java
index f9827b1c839..3abcc355143 100644
--- a/translator/src/org/jetbrains/k2js/translate/declaration/ClassDeclarationTranslator.java
+++ b/translator/src/org/jetbrains/k2js/translate/declaration/ClassDeclarationTranslator.java
@@ -21,7 +21,6 @@ import java.util.Map;
/**
* @author Talanov Pavel
*/
-//TODO: implement
public final class ClassDeclarationTranslator extends AbstractTranslator {
@NotNull
diff --git a/translator/src/org/jetbrains/k2js/translate/declaration/ClassTranslator.java b/translator/src/org/jetbrains/k2js/translate/declaration/ClassTranslator.java
index 863c087d117..0d0537b02f7 100644
--- a/translator/src/org/jetbrains/k2js/translate/declaration/ClassTranslator.java
+++ b/translator/src/org/jetbrains/k2js/translate/declaration/ClassTranslator.java
@@ -24,8 +24,6 @@ import java.util.List;
/**
* @author Talanov Pavel
*/
-//TODO ClassTranslator needs heavy improvement
-// did some improvement
public final class ClassTranslator extends AbstractTranslator {
@NotNull
diff --git a/translator/src/org/jetbrains/k2js/translate/declaration/DeclarationBodyVisitor.java b/translator/src/org/jetbrains/k2js/translate/declaration/DeclarationBodyVisitor.java
index 795fce301d8..2659d820196 100644
--- a/translator/src/org/jetbrains/k2js/translate/declaration/DeclarationBodyVisitor.java
+++ b/translator/src/org/jetbrains/k2js/translate/declaration/DeclarationBodyVisitor.java
@@ -43,7 +43,6 @@ public final class DeclarationBodyVisitor extends TranslatorVisitor visitClass(@NotNull JetClass expression, @NotNull TranslationContext context) {
- //TODO:
return Collections.emptyList();
}
diff --git a/translator/src/org/jetbrains/k2js/translate/expression/ExpressionTranslator.java b/translator/src/org/jetbrains/k2js/translate/expression/ExpressionTranslator.java
deleted file mode 100644
index 08cffa3a8b0..00000000000
--- a/translator/src/org/jetbrains/k2js/translate/expression/ExpressionTranslator.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.jetbrains.k2js.translate.expression;
-
-import com.google.dart.compiler.backend.js.ast.JsNode;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.jet.lang.psi.JetExpression;
-import org.jetbrains.k2js.translate.general.AbstractTranslator;
-import org.jetbrains.k2js.translate.general.TranslationContext;
-
-/**
- * @author Talanov Pavel
- */
-public final class ExpressionTranslator extends AbstractTranslator {
-
- final private ExpressionVisitor visitor = new ExpressionVisitor();
-
- @NotNull
- public static ExpressionTranslator newInstance(@NotNull TranslationContext context) {
- return new ExpressionTranslator(context);
- }
-
- private ExpressionTranslator(@NotNull TranslationContext context) {
- super(context);
- }
-
- @NotNull
- public JsNode translate(@NotNull JetExpression jetExpression) {
- return jetExpression.accept(visitor, context());
- }
-}
diff --git a/translator/src/org/jetbrains/k2js/translate/general/Translation.java b/translator/src/org/jetbrains/k2js/translate/general/Translation.java
index 63f32d507de..7c3a4fd2fab 100644
--- a/translator/src/org/jetbrains/k2js/translate/general/Translation.java
+++ b/translator/src/org/jetbrains/k2js/translate/general/Translation.java
@@ -8,7 +8,7 @@ import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.k2js.declarations.Declarations;
import org.jetbrains.k2js.translate.declaration.ClassTranslator;
import org.jetbrains.k2js.translate.declaration.NamespaceTranslator;
-import org.jetbrains.k2js.translate.expression.ExpressionTranslator;
+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.expression.WhenTranslator;
@@ -25,11 +25,6 @@ import org.jetbrains.k2js.translate.reference.ReferenceTranslator;
*/
public final class Translation {
- @NotNull
- static public ExpressionTranslator expressionTranslator(@NotNull TranslationContext context) {
- return ExpressionTranslator.newInstance(context);
- }
-
@NotNull
static public FunctionTranslator functionTranslator(@NotNull JetFunction function,
@NotNull TranslationContext context) {
@@ -65,7 +60,7 @@ public final class Translation {
@NotNull
static public JsNode translateExpression(@NotNull JetExpression expression, @NotNull TranslationContext context) {
- return expressionTranslator(context).translate(expression);
+ return expression.accept(new ExpressionVisitor(), context);
}
@NotNull