diff --git a/j2k.ipr b/j2k.ipr
index fcc01311ac1..f175e7ecb1a 100644
--- a/j2k.ipr
+++ b/j2k.ipr
@@ -585,6 +585,7 @@
kotlin
nullable
+ ushr
diff --git a/src/org/jetbrains/jet/j2k/Converter.java b/src/org/jetbrains/jet/j2k/Converter.java
index 2ace186d367..c2a032164fe 100644
--- a/src/org/jetbrains/jet/j2k/Converter.java
+++ b/src/org/jetbrains/jet/j2k/Converter.java
@@ -622,7 +622,7 @@ public class Converter {
}
@NotNull
- public static String createConversionForExpression(@Nullable PsiExpression expression, @NotNull PsiType expectedType) {
+ private static String createConversionForExpression(@Nullable PsiExpression expression, @NotNull PsiType expectedType) {
String conversion = "";
if (expression != null) {
PsiType actualType = expression.getType();
@@ -638,7 +638,7 @@ public class Converter {
return conversion;
}
- public static boolean isConversionNeeded(@Nullable final PsiType actual, @Nullable final PsiType expected) {
+ private static boolean isConversionNeeded(@Nullable final PsiType actual, @Nullable final PsiType expected) {
if (actual == null || expected == null)
return false;
Map typeMap = new HashMap();
@@ -657,7 +657,7 @@ public class Converter {
}
@NotNull
- public static String getPrimitiveTypeConversion(@NotNull String type) {
+ private static String getPrimitiveTypeConversion(@NotNull String type) {
Map conversions = new HashMap();
conversions.put("byte", "byt");
conversions.put("short", "sht");
diff --git a/src/org/jetbrains/jet/j2k/ast/ArrayInitializerExpression.java b/src/org/jetbrains/jet/j2k/ast/ArrayInitializerExpression.java
index 7eef1d9bed1..b08f1b7bf6b 100644
--- a/src/org/jetbrains/jet/j2k/ast/ArrayInitializerExpression.java
+++ b/src/org/jetbrains/jet/j2k/ast/ArrayInitializerExpression.java
@@ -9,7 +9,7 @@ import java.util.*;
* @author ignatov
*/
public class ArrayInitializerExpression extends Expression {
- private Type myType;
+ private final Type myType;
private final List myInitializers;
public ArrayInitializerExpression(final Type type, List initializers) {
diff --git a/src/org/jetbrains/jet/j2k/ast/ArrayWithoutInitializationExpression.java b/src/org/jetbrains/jet/j2k/ast/ArrayWithoutInitializationExpression.java
index 045663abf7c..44169fca924 100644
--- a/src/org/jetbrains/jet/j2k/ast/ArrayWithoutInitializationExpression.java
+++ b/src/org/jetbrains/jet/j2k/ast/ArrayWithoutInitializationExpression.java
@@ -47,7 +47,7 @@ public class ArrayWithoutInitializationExpression extends Expression {
}
@NotNull
- public static String getConstructorName(@NotNull Type type) {
+ private static String getConstructorName(@NotNull Type type) {
return AstUtil.replaceLastQuest(type.toKotlin());
}
}
diff --git a/src/org/jetbrains/jet/j2k/ast/CaseContainer.java b/src/org/jetbrains/jet/j2k/ast/CaseContainer.java
index bd2f65ddc1a..47f197bf9bb 100644
--- a/src/org/jetbrains/jet/j2k/ast/CaseContainer.java
+++ b/src/org/jetbrains/jet/j2k/ast/CaseContainer.java
@@ -10,8 +10,8 @@ import java.util.List;
* @author ignatov
*/
public class CaseContainer extends Statement {
- private List myCaseStatement;
- private Block myBlock;
+ private final List myCaseStatement;
+ private final Block myBlock;
public CaseContainer(final List caseStatement, @NotNull final List statements) {
myCaseStatement = caseStatement;
diff --git a/src/org/jetbrains/jet/j2k/ast/IMember.java b/src/org/jetbrains/jet/j2k/ast/IMember.java
index 9c3b406f3be..3ac5ac6c31b 100644
--- a/src/org/jetbrains/jet/j2k/ast/IMember.java
+++ b/src/org/jetbrains/jet/j2k/ast/IMember.java
@@ -4,7 +4,7 @@ package org.jetbrains.jet.j2k.ast;
* @author ignatov
*/
public interface IMember extends INode {
- public boolean isStatic();
+ boolean isStatic();
boolean isAbstract();
}
diff --git a/src/org/jetbrains/jet/j2k/ast/INode.java b/src/org/jetbrains/jet/j2k/ast/INode.java
index a0ce67afaae..d4c23a7a484 100644
--- a/src/org/jetbrains/jet/j2k/ast/INode.java
+++ b/src/org/jetbrains/jet/j2k/ast/INode.java
@@ -7,12 +7,12 @@ import org.jetbrains.annotations.NotNull;
*/
public interface INode {
@NotNull
- public String toKotlin();
+ String toKotlin();
@NotNull
- public Kind getKind();
+ Kind getKind();
- public enum Kind {
+ enum Kind {
UNDEFINED, TYPE, CONSTRUCTOR, BREAK, CONTINUE, VARARG, TRAIT, ASSIGNMENT_EXPRESSION, CALL_CHAIN, LITERAL, ARRAY_TYPE,
}
}
diff --git a/src/org/jetbrains/jet/j2k/ast/Identifier.java b/src/org/jetbrains/jet/j2k/ast/Identifier.java
index 9ddbe91eb56..8191f63b0c2 100644
--- a/src/org/jetbrains/jet/j2k/ast/Identifier.java
+++ b/src/org/jetbrains/jet/j2k/ast/Identifier.java
@@ -7,9 +7,9 @@ import org.jetbrains.annotations.NotNull;
*/
public interface Identifier extends INode {
@NotNull
- public static Identifier EMPTY_IDENTIFIER = new IdentifierImpl("");
+ Identifier EMPTY_IDENTIFIER = new IdentifierImpl("");
- public boolean isEmpty();
+ boolean isEmpty();
String getName();
}
diff --git a/src/org/jetbrains/jet/j2k/ast/MethodCallExpression.java b/src/org/jetbrains/jet/j2k/ast/MethodCallExpression.java
index 5bfc87b69f5..c8e64c21e2e 100644
--- a/src/org/jetbrains/jet/j2k/ast/MethodCallExpression.java
+++ b/src/org/jetbrains/jet/j2k/ast/MethodCallExpression.java
@@ -11,12 +11,12 @@ import java.util.List;
public class MethodCallExpression extends Expression {
private final Expression myMethodCall;
private final List myArguments;
- private List myConversions;
+ private final List myConversions;
private final boolean myIsResultNullable;
private final List myTypeParameters;
- public MethodCallExpression(Expression methodCall, List arguments, boolean nullable, List typeParameters) {
- this(methodCall, arguments, AstUtil.createListWithEmptyString(arguments), nullable, typeParameters);
+ public MethodCallExpression(Expression methodCall, List arguments, List typeParameters) {
+ this(methodCall, arguments, AstUtil.createListWithEmptyString(arguments), false, typeParameters);
}
public MethodCallExpression(Expression methodCall, List arguments, List conversions, boolean nullable, List typeParameters) {
diff --git a/src/org/jetbrains/jet/j2k/ast/NewClassExpression.java b/src/org/jetbrains/jet/j2k/ast/NewClassExpression.java
index 24389f2401a..35b4d0239cd 100644
--- a/src/org/jetbrains/jet/j2k/ast/NewClassExpression.java
+++ b/src/org/jetbrains/jet/j2k/ast/NewClassExpression.java
@@ -17,7 +17,7 @@ public class NewClassExpression extends Expression {
@Nullable
private AnonymousClass myAnonymousClass = null;
- public NewClassExpression(Element name, List arguments) {
+ private NewClassExpression(Element name, List arguments) {
myName = name;
myQualifier = EMPTY_EXPRESSION;
myArguments = arguments;
diff --git a/src/org/jetbrains/jet/j2k/ast/Node.java b/src/org/jetbrains/jet/j2k/ast/Node.java
index d1df1727e18..7a6de0e5f2e 100644
--- a/src/org/jetbrains/jet/j2k/ast/Node.java
+++ b/src/org/jetbrains/jet/j2k/ast/Node.java
@@ -54,5 +54,5 @@ public abstract class Node implements INode {
@NotNull
static final String STAR = "*";
@NotNull
- public static final String ZERO = "0";
+ protected static final String ZERO = "0";
}
\ No newline at end of file
diff --git a/src/org/jetbrains/jet/j2k/ast/SwitchContainer.java b/src/org/jetbrains/jet/j2k/ast/SwitchContainer.java
index 3df81ce44cd..363a93b7bfc 100644
--- a/src/org/jetbrains/jet/j2k/ast/SwitchContainer.java
+++ b/src/org/jetbrains/jet/j2k/ast/SwitchContainer.java
@@ -9,8 +9,8 @@ import java.util.List;
* @author ignatov
*/
public class SwitchContainer extends Statement {
- private Expression myExpression;
- private List myCaseContainers;
+ private final Expression myExpression;
+ private final List myCaseContainers;
public SwitchContainer(final Expression expression, final List caseContainers) {
myExpression = expression;
diff --git a/src/org/jetbrains/jet/j2k/ast/SwitchLabelStatement.java b/src/org/jetbrains/jet/j2k/ast/SwitchLabelStatement.java
index d0ccb83acad..78afed2d3e7 100644
--- a/src/org/jetbrains/jet/j2k/ast/SwitchLabelStatement.java
+++ b/src/org/jetbrains/jet/j2k/ast/SwitchLabelStatement.java
@@ -6,7 +6,7 @@ import org.jetbrains.annotations.NotNull;
* @author ignatov
*/
public class SwitchLabelStatement extends Statement {
- private Expression myExpression;
+ private final Expression myExpression;
public SwitchLabelStatement(final Expression expression) {
myExpression = expression;
diff --git a/src/org/jetbrains/jet/j2k/visitors/ClassVisitor.java b/src/org/jetbrains/jet/j2k/visitors/ClassVisitor.java
index edd75c6e790..f604447da89 100644
--- a/src/org/jetbrains/jet/j2k/visitors/ClassVisitor.java
+++ b/src/org/jetbrains/jet/j2k/visitors/ClassVisitor.java
@@ -11,7 +11,7 @@ import java.util.Set;
* @author ignatov
*/
public class ClassVisitor extends JavaRecursiveElementVisitor {
- private Set myClassIdentifiers;
+ private final Set myClassIdentifiers;
public ClassVisitor() {
myClassIdentifiers = new HashSet();
diff --git a/src/org/jetbrains/jet/j2k/visitors/ElementVisitor.java b/src/org/jetbrains/jet/j2k/visitors/ElementVisitor.java
index 29d888bd2c4..c9fd52f1240 100644
--- a/src/org/jetbrains/jet/j2k/visitors/ElementVisitor.java
+++ b/src/org/jetbrains/jet/j2k/visitors/ElementVisitor.java
@@ -17,7 +17,7 @@ public class ElementVisitor extends JavaElementVisitor {
@Nullable
private Element myResult = Element.EMPTY_ELEMENT;
- @NotNull
+ @Nullable
public Element getResult() {
return myResult;
}
diff --git a/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java b/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java
index 3e71c5a0e60..3178966d324 100644
--- a/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java
+++ b/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java
@@ -139,8 +139,9 @@ public class ExpressionVisitor extends StatementVisitor {
public void visitConditionalExpression(@NotNull PsiConditionalExpression expression) {
super.visitConditionalExpression(expression);
PsiExpression condition = expression.getCondition();
- Expression e = condition.getType() != null ?
- createSureCallOnlyForChain(condition, condition.getType()) :
+ PsiType type = condition.getType();
+ Expression e = type != null ?
+ createSureCallOnlyForChain(condition, type) :
expressionToExpression(condition);
myResult = new ParenthesizedExpression(
new IfStatement(
@@ -250,7 +251,6 @@ public class ExpressionVisitor extends StatementVisitor {
new MethodCallExpression(
new IdentifierImpl("init"),
expressionsToExpressionList(arguments),
- false,
typeParameters));
}
@@ -303,7 +303,6 @@ public class ExpressionVisitor extends StatementVisitor {
super.visitReferenceExpression(expression);
final boolean isFieldReference = isFieldReference(expression, getContainingClass(expression));
- final boolean hasDollar = isFieldReference && isInsidePrimaryConstructor(expression);
final boolean insideSecondaryConstructor = isInsideSecondaryConstructor(expression);
final boolean hasReceiver = isFieldReference && insideSecondaryConstructor;
final boolean isThis = isThisExpression(expression);
@@ -325,7 +324,7 @@ public class ExpressionVisitor extends StatementVisitor {
}
@NotNull
- static String getClassNameWithConstructor(@NotNull PsiReferenceExpression expression) {
+ private static String getClassNameWithConstructor(@NotNull PsiReferenceExpression expression) {
PsiElement context = expression.getContext();
while (context != null) {
if (context instanceof PsiMethod && ((PsiMethod) context).isConstructor()) {
diff --git a/src/org/jetbrains/jet/j2k/visitors/StatementVisitor.java b/src/org/jetbrains/jet/j2k/visitors/StatementVisitor.java
index d5bba48f06d..57d9069cf57 100644
--- a/src/org/jetbrains/jet/j2k/visitors/StatementVisitor.java
+++ b/src/org/jetbrains/jet/j2k/visitors/StatementVisitor.java
@@ -80,6 +80,7 @@ public class StatementVisitor extends ElementVisitor {
public void visitDoWhileStatement(@NotNull PsiDoWhileStatement statement) {
super.visitDoWhileStatement(statement);
PsiExpression condition = statement.getCondition();
+ @SuppressWarnings("ConstantConditions")
Expression expression = condition != null && condition.getType() != null ?
createSureCallOnlyForChain(condition, condition.getType()) :
expressionToExpression(condition);
@@ -179,6 +180,7 @@ public class StatementVisitor extends ElementVisitor {
public void visitIfStatement(@NotNull PsiIfStatement statement) {
super.visitIfStatement(statement);
PsiExpression condition = statement.getCondition();
+ @SuppressWarnings("ConstantConditions")
Expression expression = condition != null && condition.getType() != null ?
createSureCallOnlyForChain(condition, condition.getType()) :
expressionToExpression(condition);
@@ -334,6 +336,7 @@ public class StatementVisitor extends ElementVisitor {
public void visitWhileStatement(@NotNull PsiWhileStatement statement) {
super.visitWhileStatement(statement);
PsiExpression condition = statement.getCondition();
+ @SuppressWarnings("ConstantConditions")
Expression expression = condition != null && condition.getType() != null ?
createSureCallOnlyForChain(condition, condition.getType()) :
expressionToExpression(condition);
diff --git a/src/org/jetbrains/jet/j2k/visitors/TypeVisitor.java b/src/org/jetbrains/jet/j2k/visitors/TypeVisitor.java
index 85245920ca8..acaa8c6b9d6 100644
--- a/src/org/jetbrains/jet/j2k/visitors/TypeVisitor.java
+++ b/src/org/jetbrains/jet/j2k/visitors/TypeVisitor.java
@@ -23,11 +23,11 @@ public class TypeVisitor extends PsiTypeVisitor {
public static final String JAVA_LANG_INTEGER = "java.lang.Integer";
public static final String JAVA_LANG_LONG = "java.lang.Long";
public static final String JAVA_LANG_SHORT = "java.lang.Short";
- public static final String JAVA_LANG_BOOLEAN = "java.lang.Boolean";
+ private static final String JAVA_LANG_BOOLEAN = "java.lang.Boolean";
public static final String JAVA_LANG_OBJECT = "java.lang.Object";
public static final String JAVA_LANG_STRING = "java.lang.String";
- public static final String JAVA_LANG_ITERABLE = "java.lang.Iterable";
- public static final String JAVA_UTIL_ITERATOR = "java.util.Iterator";
+ private static final String JAVA_LANG_ITERABLE = "java.lang.Iterable";
+ private static final String JAVA_UTIL_ITERATOR = "java.util.Iterator";
private Type myResult = Type.EMPTY_TYPE;
@NotNull
diff --git a/test/org/jetbrains/jet/j2k/JavaToKotlinConverterTest.java b/test/org/jetbrains/jet/j2k/JavaToKotlinConverterTest.java
index 28548a78d37..a8249e8272e 100644
--- a/test/org/jetbrains/jet/j2k/JavaToKotlinConverterTest.java
+++ b/test/org/jetbrains/jet/j2k/JavaToKotlinConverterTest.java
@@ -88,7 +88,7 @@ public class JavaToKotlinConverterTest extends LightDaemonAnalyzerTestCase {
@NotNull
public static Test suite() {
TestSuite suite = new TestSuite();
- suite.addTest(TestCaseBuilder.suiteForDirectory(getTestDataPathBase(), "/ast", true, new TestCaseBuilder.NamedTestFactory() {
+ suite.addTest(TestCaseBuilder.suiteForDirectory(getTestDataPathBase(), "/ast", new TestCaseBuilder.NamedTestFactory() {
@NotNull
@Override
public Test createTest(@NotNull String dataPath, @NotNull String name) {
diff --git a/test/org/jetbrains/jet/j2k/TestCaseBuilder.java b/test/org/jetbrains/jet/j2k/TestCaseBuilder.java
index f5337dfcb24..275f70a012d 100644
--- a/test/org/jetbrains/jet/j2k/TestCaseBuilder.java
+++ b/test/org/jetbrains/jet/j2k/TestCaseBuilder.java
@@ -39,8 +39,8 @@ abstract class TestCaseBuilder {
}
@NotNull
- public static TestSuite suiteForDirectory(String baseDataDir, @NotNull final String dataPath, boolean recursive, @NotNull NamedTestFactory factory) {
- return suiteForDirectory(baseDataDir, dataPath, recursive, emptyFilter, factory);
+ public static TestSuite suiteForDirectory(String baseDataDir, @NotNull final String dataPath, @NotNull NamedTestFactory factory) {
+ return suiteForDirectory(baseDataDir, dataPath, true, emptyFilter, factory);
}
@NotNull