diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt index 8e3448157af..497e7af6848 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt @@ -173,14 +173,15 @@ class JavaToJKTreeBuilder( fun PsiLambdaExpression.toJK(): JKExpression { return JKLambdaExpressionImpl( - with(declarationMapper) { parameterList.parameters.map { it.toJK() } }, body.let { when (it) { is PsiExpression -> JKExpressionStatementImpl(it.toJK()) is PsiCodeBlock -> JKBlockStatementImpl(with(declarationMapper) { it.toJK() }) else -> JKBlockStatementImpl(JKBodyStub) } - }) + }, + with(declarationMapper) { parameterList.parameters.map { it.toJK() } } + ) } private fun JKExpression.qualified(qualifier: JKExpression?) = diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/ArrayInitializerConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/ArrayInitializerConversion.kt index 1bc832a0d82..5ca8e5b0072 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/ArrayInitializerConversion.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/ArrayInitializerConversion.kt @@ -59,7 +59,8 @@ class ArrayInitializerConversion(private val context: ConversionContext) : Recur JKExpressionListImpl( dimensions[0], JKLambdaExpressionImpl( - statement = JKExpressionStatementImpl(buildArrayInitializer(dimensions.subList(1, dimensions.size), type)) + JKExpressionStatementImpl(buildArrayInitializer(dimensions.subList(1, dimensions.size), type)), + emptyList() ) ) ) @@ -67,7 +68,7 @@ class ArrayInitializerConversion(private val context: ConversionContext) : Recur var resultType = JKClassTypeImpl( context.symbolProvider.provideByFqName(arrayFqName(type)), if (type is JKJavaPrimitiveType) emptyList() else listOf(type), - Nullability.NotNull + Nullability.Default ) for (i in 0 until dimensions.size - 2) { resultType = JKClassTypeImpl( diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/AssertStatementConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/AssertStatementConversion.kt index bc7ef166f63..6ce96892ca0 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/AssertStatementConversion.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/AssertStatementConversion.kt @@ -19,8 +19,8 @@ class AssertStatementConversion(private val context: ConversionContext) : Recurs val messageExpression = if (element.description is JKStubExpression) null else JKLambdaExpressionImpl( - emptyList(), - JKExpressionStatementImpl(element::description.detached()) + JKExpressionStatementImpl(element::description.detached()), + emptyList() ) return recurse( JKExpressionStatementImpl( diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/AssignmentAsExpressionToAlsoConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/AssignmentAsExpressionToAlsoConversion.kt index 9fde107f0ad..9e95b383a05 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/AssignmentAsExpressionToAlsoConversion.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/AssignmentAsExpressionToAlsoConversion.kt @@ -21,7 +21,11 @@ class AssignmentAsExpressionToAlsoConversion(val context: ConversionContext) : R ), context.symbolProvider.provideByFqName("kotlin/also") ).also { it.statement.cast().block.statements.first().cast().expression = - JKFieldAccessExpressionImpl(context.symbolProvider.provideUniverseSymbol(it.parameter)) + JKFieldAccessExpressionImpl( + context.symbolProvider.provideUniverseSymbol( + JKParameterImpl(JKTypeElementImpl(JKContextType), JKNameIdentifierImpl("it")) + ) + )//TODO introduce symbol } return recurse( diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/BlockToRunConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/BlockToRunConversion.kt index e6cecfb24ef..a83383d4da5 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/BlockToRunConversion.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/BlockToRunConversion.kt @@ -33,8 +33,8 @@ class BlockToRunConversion(private val context: ConversionContext) : RecursiveAp element.invalidate() val lambda = JKLambdaExpressionImpl( - emptyList(), - JKBlockStatementImpl(element.block) + JKBlockStatementImpl(element.block), + emptyList() ) val call = JKKtCallExpressionImpl(runSymbol as JKMethodSymbol, JKExpressionListImpl(listOf(lambda))) return recurse(call) diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/expressions.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/expressions.kt index 1d89a45fadf..7747255db02 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/expressions.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/expressions.kt @@ -208,8 +208,8 @@ fun useExpression( JKParameterImpl(JKTypeElementImpl(JKNoTypeImpl), variableIdentifier) val lambda = JKLambdaExpressionImpl( - listOf(lambdaParameter), - body + body, + listOf(lambdaParameter) ) val methodCall = JKJavaMethodCallExpressionImpl( diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/jk.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/jk.kt index 3d719c7c971..270fdc72619 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/jk.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/jk.kt @@ -358,9 +358,9 @@ class JKClassAccessExpressionImpl(override var identifier: JKClassSymbol) : JKCl } class JKLambdaExpressionImpl( - parameters: List = listOf( - JKParameterImpl(JKTypeElementImpl(JKJavaVoidType), JKNameIdentifierImpl("it")) - ), statement: JKStatement, returnType: JKTypeElement = JKTypeElementImpl(JKContextType) + statement: JKStatement, + parameters: List, + returnType: JKTypeElement = JKTypeElementImpl(JKContextType)//TODO use function type ) : JKLambdaExpression, JKBranchElementBase(), PsiOwner by PsiOwnerImpl() { override var statement by child(statement) override val returnType by child(returnType) diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/k.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/k.kt index 4e68a9ceb10..7b7aed58e16 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/k.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/k.kt @@ -118,7 +118,6 @@ class JKKtOperatorImpl(override val token: JKKtOperatorToken, val methodSymbol: class JKKtAlsoCallExpressionImpl( statement: JKStatement, override val identifier: JKMethodSymbol, - override val parameterName: String = "it", typeArgumentList: JKTypeArgumentList = JKTypeArgumentListImpl() ) : JKKtAlsoCallExpression, JKBranchElementBase() { override fun accept(visitor: JKVisitor, data: D): R = visitor.visitKtAlsoCallExpression(this, data) @@ -127,19 +126,10 @@ class JKKtAlsoCallExpressionImpl( set(it) { arguments.expressions.first().cast().statement = it } - val parameter - get() = arguments.expressions.first().cast().parameters.first() override var arguments: JKExpressionList by child( JKExpressionListImpl( listOf( - JKLambdaExpressionImpl( - listOf( - JKParameterImpl( - JKTypeElementImpl(JKJavaVoidType), - JKNameIdentifierImpl(parameterName) - ) - ), statement - ) + JKLambdaExpressionImpl(statement, emptyList()) ) ) ) diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/k.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/k.kt index 0beaa594593..9c8f02d5f17 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/k.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/k.kt @@ -58,7 +58,6 @@ interface JKKtMethodCallExpression : JKMethodCallExpression interface JKKtAlsoCallExpression : JKKtMethodCallExpression { var statement: JKStatement - val parameterName: String } interface JKKtLiteralExpression : JKLiteralExpression