diff --git a/j2k/src/org/jetbrains/jet/j2k/ast/Function.kt b/j2k/src/org/jetbrains/jet/j2k/ast/Function.kt index fd6dcddcb77..eb654537f0d 100644 --- a/j2k/src/org/jetbrains/jet/j2k/ast/Function.kt +++ b/j2k/src/org/jetbrains/jet/j2k/ast/Function.kt @@ -29,13 +29,13 @@ public open class Function(val converter: Converter, val typeParameters: List, val params: Element, var block: Block?) : Member(modifiers) { - private fun typeParametersToKotlin(): String { - return (if (typeParameters.size() > 0) - "<" + typeParameters.map { it.toKotlin() }.makeString(", ") + ">" - else - "") + + private fun typeParametersToKotlin() = when { + !typeParameters.isEmpty() -> typeParameters.map { it.toKotlin() }.makeString(", ", "<", "> ") + else -> "" } + private fun hasWhere(): Boolean = typeParameters.any { it is TypeParameter && it.hasWhere() } private fun typeParameterWhereToKotlin(): String { @@ -65,10 +65,10 @@ public open class Function(val converter: Converter, } if (converter.settings.openByDefault && - !modifiers.contains(Modifier.ABSTRACT) && - !isOverride && - !modifiers.contains(Modifier.FINAL) && - !modifiers.contains(Modifier.PRIVATE)) { + !modifiers.contains(Modifier.ABSTRACT) && + !isOverride && + !modifiers.contains(Modifier.FINAL) && + !modifiers.contains(Modifier.PRIVATE)) { resultingModifiers.add(Modifier.OPEN) } @@ -83,11 +83,11 @@ public open class Function(val converter: Converter, public override fun toKotlin(): String { return docComments.toKotlin("\n", "", "\n") + - modifiersToKotlin() + - "fun ${name.toKotlin()}${typeParametersToKotlin()}" + - "(${params.toKotlin()})" + - returnTypeToKotlin() + - typeParameterWhereToKotlin() + - block?.toKotlin() + modifiersToKotlin() + + "fun ${typeParametersToKotlin()}${name.toKotlin()}" + + "(${params.toKotlin()})" + + returnTypeToKotlin() + + typeParameterWhereToKotlin() + + block?.toKotlin() } } diff --git a/j2k/tests/testData/ast/constructors/genericIdentifier.ide.kt b/j2k/tests/testData/ast/constructors/genericIdentifier.ide.kt index d1210b5f690..2a6e3374c3f 100644 --- a/j2k/tests/testData/ast/constructors/genericIdentifier.ide.kt +++ b/j2k/tests/testData/ast/constructors/genericIdentifier.ide.kt @@ -10,16 +10,16 @@ myName = _myName myHasDollar = _myHasDollar } class object { -public fun init(name : T) : Identifier { +public fun init(name : T) : Identifier { val __ = Identifier(name, false) return __ } -public fun init(name : T, isNullable : Boolean) : Identifier { +public fun init(name : T, isNullable : Boolean) : Identifier { val __ = Identifier(name, false) __.myNullable = isNullable return __ } -public fun init(name : T, hasDollar : Boolean, isNullable : Boolean) : Identifier { +public fun init(name : T, hasDollar : Boolean, isNullable : Boolean) : Identifier { val __ = Identifier(name, hasDollar) __.myNullable = isNullable return __ diff --git a/j2k/tests/testData/ast/constructors/genericIdentifier.kt b/j2k/tests/testData/ast/constructors/genericIdentifier.kt index fee6f7c2fe4..b4b6018da6c 100644 --- a/j2k/tests/testData/ast/constructors/genericIdentifier.kt +++ b/j2k/tests/testData/ast/constructors/genericIdentifier.kt @@ -10,16 +10,16 @@ myName = _myName myHasDollar = _myHasDollar } class object { -public open fun init(name : T?) : Identifier { +public open fun init(name : T?) : Identifier { val __ = Identifier(name, false) return __ } -public open fun init(name : T?, isNullable : Boolean) : Identifier { +public open fun init(name : T?, isNullable : Boolean) : Identifier { val __ = Identifier(name, false) __.myNullable = isNullable return __ } -public open fun init(name : T?, hasDollar : Boolean, isNullable : Boolean) : Identifier { +public open fun init(name : T?, hasDollar : Boolean, isNullable : Boolean) : Identifier { val __ = Identifier(name, hasDollar) __.myNullable = isNullable return __ diff --git a/j2k/tests/testData/ast/function/ownGenericParam.ide.kt b/j2k/tests/testData/ast/function/ownGenericParam.ide.kt index d8fb29bf7ed..8d6e2b8eb3d 100644 --- a/j2k/tests/testData/ast/function/ownGenericParam.ide.kt +++ b/j2k/tests/testData/ast/function/ownGenericParam.ide.kt @@ -1,2 +1,2 @@ -fun putU(u : U) { +fun putU(u : U) { } \ No newline at end of file diff --git a/j2k/tests/testData/ast/function/ownGenericParam.kt b/j2k/tests/testData/ast/function/ownGenericParam.kt index 08d80f7aece..ac3ef63834a 100644 --- a/j2k/tests/testData/ast/function/ownGenericParam.kt +++ b/j2k/tests/testData/ast/function/ownGenericParam.kt @@ -1,2 +1,2 @@ -fun putU(u : U?) { +fun putU(u : U?) { } \ No newline at end of file diff --git a/j2k/tests/testData/ast/function/ownSeveralGenericParams.ide.kt b/j2k/tests/testData/ast/function/ownSeveralGenericParams.ide.kt index 42ebbc67b38..05ba059c70b 100644 --- a/j2k/tests/testData/ast/function/ownSeveralGenericParams.ide.kt +++ b/j2k/tests/testData/ast/function/ownSeveralGenericParams.ide.kt @@ -1,2 +1,2 @@ -fun putUVW(u : U, v : V, w : W) { +fun putUVW(u : U, v : V, w : W) { } \ No newline at end of file diff --git a/j2k/tests/testData/ast/function/ownSeveralGenericParams.kt b/j2k/tests/testData/ast/function/ownSeveralGenericParams.kt index d8420656669..c580b30efd3 100644 --- a/j2k/tests/testData/ast/function/ownSeveralGenericParams.kt +++ b/j2k/tests/testData/ast/function/ownSeveralGenericParams.kt @@ -1,2 +1,2 @@ -fun putUVW(u : U?, v : V?, w : W?) { +fun putUVW(u : U?, v : V?, w : W?) { } \ No newline at end of file diff --git a/j2k/tests/testData/ast/issues/kt-638.ide.kt b/j2k/tests/testData/ast/issues/kt-638.ide.kt index 79ac5f76424..795a1a3add1 100644 --- a/j2k/tests/testData/ast/issues/kt-638.ide.kt +++ b/j2k/tests/testData/ast/issues/kt-638.ide.kt @@ -10,16 +10,16 @@ myName = _myName myHasDollar = _myHasDollar } class object { -public fun init(name : T) : Identifier { +public fun init(name : T) : Identifier { val __ = Identifier(name, false) return __ } -public fun init(name : T, isNullable : Boolean) : Identifier { +public fun init(name : T, isNullable : Boolean) : Identifier { val __ = Identifier(name, false) __.myNullable = isNullable return __ } -public fun init(name : T, hasDollar : Boolean, isNullable : Boolean) : Identifier { +public fun init(name : T, hasDollar : Boolean, isNullable : Boolean) : Identifier { val __ = Identifier(name, hasDollar) __.myNullable = isNullable return __ diff --git a/j2k/tests/testData/ast/issues/kt-638.kt b/j2k/tests/testData/ast/issues/kt-638.kt index 3dbce402e30..2052bc6656c 100644 --- a/j2k/tests/testData/ast/issues/kt-638.kt +++ b/j2k/tests/testData/ast/issues/kt-638.kt @@ -10,16 +10,16 @@ myName = _myName myHasDollar = _myHasDollar } class object { -public open fun init(name : T?) : Identifier { +public open fun init(name : T?) : Identifier { val __ = Identifier(name, false) return __ } -public open fun init(name : T?, isNullable : Boolean) : Identifier { +public open fun init(name : T?, isNullable : Boolean) : Identifier { val __ = Identifier(name, false) __.myNullable = isNullable return __ } -public open fun init(name : T?, hasDollar : Boolean, isNullable : Boolean) : Identifier { +public open fun init(name : T?, hasDollar : Boolean, isNullable : Boolean) : Identifier { val __ = Identifier(name, hasDollar) __.myNullable = isNullable return __ diff --git a/j2k/tests/testData/ast/methodCallExpression/genericMethod.ide.kt b/j2k/tests/testData/ast/methodCallExpression/genericMethod.ide.kt index ee3e2d7708e..21ae0bf48cd 100644 --- a/j2k/tests/testData/ast/methodCallExpression/genericMethod.ide.kt +++ b/j2k/tests/testData/ast/methodCallExpression/genericMethod.ide.kt @@ -1,6 +1,6 @@ package demo class Map() { -fun put(k : K, v : V) { +fun put(k : K, v : V) { } } class U() { diff --git a/j2k/tests/testData/ast/methodCallExpression/genericMethod.kt b/j2k/tests/testData/ast/methodCallExpression/genericMethod.kt index 043c1073a37..3c5c8052bbb 100644 --- a/j2k/tests/testData/ast/methodCallExpression/genericMethod.kt +++ b/j2k/tests/testData/ast/methodCallExpression/genericMethod.kt @@ -1,6 +1,6 @@ package demo open class Map() { -open fun put(k : K?, v : V?) { +open fun put(k : K?, v : V?) { } } open class U() { diff --git a/j2k/tests/testData/ast/rawGenerics/rawGenericMethod.ide.kt b/j2k/tests/testData/ast/rawGenerics/rawGenericMethod.ide.kt index e9de9a9b2c1..27fdba03920 100644 --- a/j2k/tests/testData/ast/rawGenerics/rawGenericMethod.ide.kt +++ b/j2k/tests/testData/ast/rawGenerics/rawGenericMethod.ide.kt @@ -1,6 +1,6 @@ package demo class TestT() { -fun getT() { +fun getT() { } } class U() { diff --git a/j2k/tests/testData/ast/rawGenerics/rawGenericMethod.kt b/j2k/tests/testData/ast/rawGenerics/rawGenericMethod.kt index a8fcebac3f7..dcc769aa40c 100644 --- a/j2k/tests/testData/ast/rawGenerics/rawGenericMethod.kt +++ b/j2k/tests/testData/ast/rawGenerics/rawGenericMethod.kt @@ -1,6 +1,6 @@ package demo open class TestT() { -open fun getT() { +open fun getT() { } } open class U() { diff --git a/j2k/tests/testData/ast/typeParameters/methodDoubleParametrizationWithTwoBounds.ide.kt b/j2k/tests/testData/ast/typeParameters/methodDoubleParametrizationWithTwoBounds.ide.kt index a0857b763ea..4f78ed1cf95 100644 --- a/j2k/tests/testData/ast/typeParameters/methodDoubleParametrizationWithTwoBounds.ide.kt +++ b/j2k/tests/testData/ast/typeParameters/methodDoubleParametrizationWithTwoBounds.ide.kt @@ -1,2 +1,2 @@ -fun max(coll : Collection) : T where T : Comparable, K : Collection { +fun max(coll : Collection) : T where T : Comparable, K : Collection { } \ No newline at end of file diff --git a/j2k/tests/testData/ast/typeParameters/methodDoubleParametrizationWithTwoBounds.kt b/j2k/tests/testData/ast/typeParameters/methodDoubleParametrizationWithTwoBounds.kt index 21f892b7d8d..9e72bf2b2e3 100644 --- a/j2k/tests/testData/ast/typeParameters/methodDoubleParametrizationWithTwoBounds.kt +++ b/j2k/tests/testData/ast/typeParameters/methodDoubleParametrizationWithTwoBounds.kt @@ -1,2 +1,2 @@ -fun max(coll : Collection?) : T? where T : Comparable?, K : Collection? { +fun max(coll : Collection?) : T? where T : Comparable?, K : Collection? { } \ No newline at end of file diff --git a/j2k/tests/testData/ast/typeParameters/where.ide.kt b/j2k/tests/testData/ast/typeParameters/where.ide.kt index 9ee4f2b1eed..7fda9a05e1b 100644 --- a/j2k/tests/testData/ast/typeParameters/where.ide.kt +++ b/j2k/tests/testData/ast/typeParameters/where.ide.kt @@ -1,2 +1,2 @@ -fun max(coll : Collection) : T where T : Comparable { +fun max(coll : Collection) : T where T : Comparable { } \ No newline at end of file diff --git a/j2k/tests/testData/ast/typeParameters/where.kt b/j2k/tests/testData/ast/typeParameters/where.kt index 6a1ccaeeec6..ef6ca892846 100644 --- a/j2k/tests/testData/ast/typeParameters/where.kt +++ b/j2k/tests/testData/ast/typeParameters/where.kt @@ -1,2 +1,2 @@ -fun max(coll : Collection?) : T? where T : Comparable? { +fun max(coll : Collection?) : T? where T : Comparable? { } \ No newline at end of file