diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 668ae906988..157e8aa474e 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -10,27 +10,14 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -62,7 +49,7 @@
-
+
@@ -160,19 +147,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -243,94 +217,97 @@
-
+
-
-
+
+
-
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
+
@@ -340,98 +317,51 @@
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -456,22 +386,22 @@
@@ -562,20 +492,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -604,7 +520,11 @@
-
+
+
+
+
+
@@ -618,15 +538,11 @@
-
+
-
-
-
-
-
+
@@ -639,50 +555,16 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
@@ -692,21 +574,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -714,9 +582,209 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -731,7 +799,7 @@
-
+
@@ -749,68 +817,17 @@
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -895,6 +912,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -990,6 +1071,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1027,13 +1129,14 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
localhost
@@ -1089,7 +1192,7 @@
-
+
@@ -1108,8 +1211,8 @@
-
-
+
+
@@ -1152,7 +1255,7 @@
-
+
@@ -1165,11 +1268,6 @@
-
-
-
-
-
@@ -1190,6 +1288,11 @@
+
+
+
+
+
@@ -1199,114 +1302,119 @@
+
+
+
+
+
+
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -1354,7 +1462,7 @@
- IDEA IC-112.121
+ IDEA IC-110.240
@@ -1366,7 +1474,7 @@
- js
+ idea_fix
diff --git a/translator/src/org/jetbrains/k2js/translate/declaration/ClassTranslator.java b/translator/src/org/jetbrains/k2js/translate/declaration/ClassTranslator.java
index ce6242cd6e0..25a3cf9c272 100644
--- a/translator/src/org/jetbrains/k2js/translate/declaration/ClassTranslator.java
+++ b/translator/src/org/jetbrains/k2js/translate/declaration/ClassTranslator.java
@@ -28,17 +28,17 @@ import static org.jetbrains.k2js.translate.utils.DescriptorUtils.findAncestorCla
*/
public final class ClassTranslator extends AbstractTranslator {
+ @NotNull
+ public static JsInvocation translateClass(@NotNull JetClass classDeclaration, @NotNull TranslationContext context) {
+ return (new ClassTranslator(classDeclaration, context)).translateClass();
+ }
+
@NotNull
private final DeclarationBodyVisitor declarationBodyVisitor = new DeclarationBodyVisitor();
@NotNull
private final JetClass classDeclaration;
- @NotNull
- static public JsInvocation translateClass(@NotNull JetClass classDeclaration, @NotNull TranslationContext context) {
- return (new ClassTranslator(classDeclaration, context)).translateClass();
- }
-
private ClassTranslator(@NotNull JetClass classDeclaration, @NotNull TranslationContext context) {
super(context.newClass(classDeclaration));
this.classDeclaration = classDeclaration;
diff --git a/translator/src/org/jetbrains/k2js/translate/initializer/AbstractInitializerTranslator.java b/translator/src/org/jetbrains/k2js/translate/initializer/AbstractInitializerTranslator.java
index ff34a6dedea..d2907c3cee2 100644
--- a/translator/src/org/jetbrains/k2js/translate/initializer/AbstractInitializerTranslator.java
+++ b/translator/src/org/jetbrains/k2js/translate/initializer/AbstractInitializerTranslator.java
@@ -17,7 +17,6 @@ import java.util.List;
*/
public abstract class AbstractInitializerTranslator extends AbstractTranslator {
-
@NotNull
protected final InitializerVisitor visitor;
@NotNull
diff --git a/translator/src/org/jetbrains/k2js/translate/initializer/InitializerVisitor.java b/translator/src/org/jetbrains/k2js/translate/initializer/InitializerVisitor.java
index bd2c80d026c..89d58843a0f 100644
--- a/translator/src/org/jetbrains/k2js/translate/initializer/InitializerVisitor.java
+++ b/translator/src/org/jetbrains/k2js/translate/initializer/InitializerVisitor.java
@@ -20,7 +20,7 @@ import java.util.List;
public final class InitializerVisitor extends TranslatorVisitor> {
- protected InitializerVisitor() {
+ /*package*/ InitializerVisitor() {
}
@Override
diff --git a/translator/src/org/jetbrains/k2js/translate/operation/OperatorTable.java b/translator/src/org/jetbrains/k2js/translate/operation/OperatorTable.java
index 163ff769290..e7ae6922a91 100644
--- a/translator/src/org/jetbrains/k2js/translate/operation/OperatorTable.java
+++ b/translator/src/org/jetbrains/k2js/translate/operation/OperatorTable.java
@@ -12,6 +12,8 @@ import java.util.Map;
/**
* @author Pavel Talanov
*/
+
+//TODO: change using guava builders
public final class OperatorTable {
private static Map binaryOperatorsMap = new HashMap();
diff --git a/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java b/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java
index 723b9b6f0bc..c1c021f0930 100644
--- a/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java
+++ b/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java
@@ -85,6 +85,7 @@ public final class CallTranslator extends AbstractTranslator {
return translate(context, receiver, arguments, functionDescriptor);
}
+ @NotNull
public static JsExpression mayBeWrapWithNegation(@NotNull JsExpression expression, boolean shouldWrap) {
if (shouldWrap) {
return not(expression);
@@ -167,6 +168,7 @@ public final class CallTranslator extends AbstractTranslator {
return functionIntrinsic.apply(receiver, arguments, context());
}
+ @NotNull
private JsInvocation methodCall() {
return AstUtil.newInvocation(calleeReference(), arguments);
}
@@ -209,6 +211,7 @@ public final class CallTranslator extends AbstractTranslator {
return methodReference;
}
+ @NotNull
private JsExpression extensionFunctionReference(@NotNull JsExpression methodReference) {
JsExpression qualifier = TranslationUtils.getExtensionFunctionImplicitReceiver(context(), functionDescriptor);
if (qualifier != null) {
diff --git a/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java b/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java
index 2c5e047ba4f..08b82ff2251 100644
--- a/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java
+++ b/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java
@@ -16,7 +16,7 @@ import static org.jetbrains.k2js.translate.utils.TranslationUtils.getImplicitRec
/**
* @author Pavel Talanov
*/
-public class ReferenceTranslator extends AbstractTranslator {
+public final class ReferenceTranslator extends AbstractTranslator {
@NotNull
public static JsExpression translateSimpleName(@NotNull JetSimpleNameExpression expression,
diff --git a/translator/src/org/jetbrains/k2js/translate/utils/ClassSorter.java b/translator/src/org/jetbrains/k2js/translate/utils/ClassSorter.java
index d10cc0c8f49..f7da41fc4f2 100644
--- a/translator/src/org/jetbrains/k2js/translate/utils/ClassSorter.java
+++ b/translator/src/org/jetbrains/k2js/translate/utils/ClassSorter.java
@@ -29,7 +29,7 @@ public final class ClassSorter {
private final BindingContext bindingContext;
@NotNull
- static public List sortUsingInheritanceOrder(@NotNull List original,
+ public static List sortUsingInheritanceOrder(@NotNull List original,
@NotNull BindingContext bindingContext) {
ClassSorter sorter = new ClassSorter(original, bindingContext);
return sorter.sortUsingInheritanceOrder();