diff --git a/j2k/src/org/jetbrains/kotlin/j2k/ExpressionConverter.kt b/j2k/src/org/jetbrains/kotlin/j2k/ExpressionConverter.kt index 3940f5116bf..74fe63292e8 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/ExpressionConverter.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/ExpressionConverter.kt @@ -17,26 +17,22 @@ package org.jetbrains.kotlin.j2k import com.intellij.psi.* +import com.intellij.psi.CommonClassNames.JAVA_LANG_DOUBLE +import com.intellij.psi.CommonClassNames.JAVA_LANG_FLOAT +import com.intellij.psi.CommonClassNames.JAVA_LANG_INTEGER +import com.intellij.psi.CommonClassNames.JAVA_LANG_LONG import com.intellij.psi.tree.IElementType -import org.jetbrains.kotlin.j2k.ast.* -import org.jetbrains.kotlin.types.expressions.OperatorConventions -import com.intellij.psi.CommonClassNames.* import com.intellij.psi.util.PsiTreeUtil -import org.jetbrains.kotlin.builtins.PrimitiveType -import org.jetbrains.kotlin.j2k.* -import org.jetbrains.kotlin.asJava.KotlinLightMethod -import org.jetbrains.kotlin.psi.JetProperty -import org.jetbrains.kotlin.psi.JetFunction -import org.jetbrains.kotlin.psi.JetClassOrObject -import org.jetbrains.kotlin.psi.psiUtil.isExtensionDeclaration -import org.jetbrains.kotlin.psi.JetPropertyAccessor -import org.jetbrains.kotlin.psi.JetParameter -import org.jetbrains.kotlin.psi.JetNamedDeclaration -import org.jetbrains.kotlin.resolve.jvm.JvmPrimitiveType -import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.asJava.KotlinLightField -import org.jetbrains.kotlin.psi.JetObjectDeclaration +import org.jetbrains.kotlin.asJava.KotlinLightMethod +import org.jetbrains.kotlin.builtins.PrimitiveType +import org.jetbrains.kotlin.j2k.ast.* +import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType +import org.jetbrains.kotlin.psi.psiUtil.isExtensionDeclaration +import org.jetbrains.kotlin.resolve.jvm.JvmPrimitiveType +import org.jetbrains.kotlin.types.expressions.OperatorConventions trait ExpressionConverter { fun convertExpression(expression: PsiExpression, codeConverter: CodeConverter): Expression @@ -357,7 +353,7 @@ class DefaultExpressionConverter : JavaElementVisitor(), ExpressionConverter { var identifier = Identifier(referenceName, isNullable).assignNoPrototype() if (qualifier != null && qualifier.getType() is PsiArrayType && referenceName == "length") { - identifier = Identifier("size", isNullable).assignNoPrototype() + identifier = Identifier("size()", isNullable).assignNoPrototype() } else if (qualifier != null) { if (target is KotlinLightField<*, *> && target.getOrigin() is JetObjectDeclaration) { diff --git a/j2k/testData/fileOrElement/issues/arrayLength.kt b/j2k/testData/fileOrElement/issues/arrayLength.kt index a7ec9333a32..fa4865f28cb 100644 --- a/j2k/testData/fileOrElement/issues/arrayLength.kt +++ b/j2k/testData/fileOrElement/issues/arrayLength.kt @@ -1,7 +1,7 @@ class Test { default object { public fun foo(args: Array): Int { - return args.size + return args.size() } } } \ No newline at end of file diff --git a/j2k/testData/fileOrElement/switch/fallDownWithBlocks.kt b/j2k/testData/fileOrElement/switch/fallDownWithBlocks.kt index eaab59c74ae..6be696bc612 100644 --- a/j2k/testData/fileOrElement/switch/fallDownWithBlocks.kt +++ b/j2k/testData/fileOrElement/switch/fallDownWithBlocks.kt @@ -1,7 +1,7 @@ public class C { default object { public fun main(args: Array) { - when (args.size) { + when (args.size()) { 1 -> { run { val a = 1