diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 08af16cc207..5c787868c6d 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -6,23 +6,11 @@
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
@@ -60,6 +48,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -100,18 +114,9 @@
-
+
-
-
-
-
-
-
-
-
-
@@ -124,10 +129,26 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -177,10 +198,10 @@
-
+
-
+
@@ -190,42 +211,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -247,10 +232,8 @@
-
-
-
-
+
+
@@ -258,16 +241,34 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -276,10 +277,26 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -305,12 +322,9 @@
@@ -363,22 +380,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -689,6 +690,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -704,9 +721,9 @@
-
-
+
+
@@ -721,32 +738,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -843,6 +834,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -918,11 +935,11 @@
-
-
-
-
-
+
+
+
+
+
localhost
@@ -962,7 +979,6 @@
-
@@ -972,13 +988,14 @@
-
+
-
+
-
+
+
@@ -1012,7 +1029,7 @@
-
+
@@ -1040,6 +1057,7 @@
+
@@ -1049,69 +1067,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1135,32 +1090,91 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/translator/src/org/jetbrains/k2js/translate/ClassBodyVisitor.java b/translator/src/org/jetbrains/k2js/translate/ClassBodyVisitor.java
index 03653c393e8..750ac52aecc 100644
--- a/translator/src/org/jetbrains/k2js/translate/ClassBodyVisitor.java
+++ b/translator/src/org/jetbrains/k2js/translate/ClassBodyVisitor.java
@@ -146,6 +146,14 @@ public final class ClassBodyVisitor extends TranslatorVisitor visitAnonymousInitializer(@NotNull JetClassInitializer expression,
+ @NotNull TranslationContext context) {
+ // parsed it in initializer visitor => no additional actions are needed
+ return new ArrayList();
+ }
+
// @NotNull
// JsName getNameForGetter(@NotNull String propertyName, @NotNull TranslationContext context) {
// return getNameForAccessor(propertyName, true, context);
diff --git a/translator/src/org/jetbrains/k2js/translate/InitializerVisitor.java b/translator/src/org/jetbrains/k2js/translate/InitializerVisitor.java
index 6f20520fe9b..48ec23c8ff8 100644
--- a/translator/src/org/jetbrains/k2js/translate/InitializerVisitor.java
+++ b/translator/src/org/jetbrains/k2js/translate/InitializerVisitor.java
@@ -63,10 +63,10 @@ public class InitializerVisitor extends TranslatorVisitor> {
@NotNull
public List visitProperty(@NotNull JetProperty expression, @NotNull TranslationContext context) {
JetExpression initializer = expression.getInitializer();
+ declareBackingFieldName(expression);
if (initializer == null) {
return new ArrayList();
}
- declareBackingFieldName(expression);
return Arrays.asList(translateInitializer(expression, context, initializer));
}
@@ -93,12 +93,12 @@ public class InitializerVisitor extends TranslatorVisitor> {
return AstUtil.convertToStatement(AstUtil.newAssignment(backingFieldRef, initExpression));
}
- //TODO : implement
@Override
@NotNull
public List visitAnonymousInitializer(@NotNull JetClassInitializer initializer,
@NotNull TranslationContext context) {
- return new ArrayList();
+ return Arrays.asList(AstUtil.convertToStatement
+ (Translation.expressionTranslator(context).translate(initializer.getBody())));
}
@Override
diff --git a/translator/test/org/jetbrains/k2js/test/BasicClassTest.java b/translator/test/org/jetbrains/k2js/test/BasicClassTest.java
index 4c58ffa2dd3..e0724aabbc9 100644
--- a/translator/test/org/jetbrains/k2js/test/BasicClassTest.java
+++ b/translator/test/org/jetbrains/k2js/test/BasicClassTest.java
@@ -42,7 +42,13 @@ public class BasicClassTest extends AbstractClassTest {
@Test
public void incrementProperty() throws Exception {
- //testFooBoxIsTrue("incrementProperty.kt");
performTest("incrementProperty.kt", "foo", "box", "OK");
}
+
+ @Test
+ public void SimpleInitializer() throws Exception {
+ testFooBoxIsTrue("simpleInitializer.kt");
+ }
+
+
}
diff --git a/translator/testFiles/class/cases/simpleInitializer.kt b/translator/testFiles/class/cases/simpleInitializer.kt
new file mode 100644
index 00000000000..84e958a5a3d
--- /dev/null
+++ b/translator/testFiles/class/cases/simpleInitializer.kt
@@ -0,0 +1,13 @@
+namespace foo
+
+class Test() {
+var a : Int
+{
+ $a = 3
+}
+}
+
+fun box() : Boolean
+{
+ return (Test().a == 3);
+}