Converter:
Place function type parameters before function name
This commit is contained in:
@@ -29,13 +29,13 @@ public open class Function(val converter: Converter,
|
|||||||
val typeParameters: List<Element>,
|
val typeParameters: List<Element>,
|
||||||
val params: Element,
|
val params: Element,
|
||||||
var block: Block?) : Member(modifiers) {
|
var block: Block?) : Member(modifiers) {
|
||||||
private fun typeParametersToKotlin(): String {
|
|
||||||
return (if (typeParameters.size() > 0)
|
private fun typeParametersToKotlin() = when {
|
||||||
"<" + typeParameters.map { it.toKotlin() }.makeString(", ") + ">"
|
!typeParameters.isEmpty() -> typeParameters.map { it.toKotlin() }.makeString(", ", "<", "> ")
|
||||||
else
|
else -> ""
|
||||||
"")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private fun hasWhere(): Boolean = typeParameters.any { it is TypeParameter && it.hasWhere() }
|
private fun hasWhere(): Boolean = typeParameters.any { it is TypeParameter && it.hasWhere() }
|
||||||
|
|
||||||
private fun typeParameterWhereToKotlin(): String {
|
private fun typeParameterWhereToKotlin(): String {
|
||||||
@@ -65,10 +65,10 @@ public open class Function(val converter: Converter,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (converter.settings.openByDefault &&
|
if (converter.settings.openByDefault &&
|
||||||
!modifiers.contains(Modifier.ABSTRACT) &&
|
!modifiers.contains(Modifier.ABSTRACT) &&
|
||||||
!isOverride &&
|
!isOverride &&
|
||||||
!modifiers.contains(Modifier.FINAL) &&
|
!modifiers.contains(Modifier.FINAL) &&
|
||||||
!modifiers.contains(Modifier.PRIVATE)) {
|
!modifiers.contains(Modifier.PRIVATE)) {
|
||||||
resultingModifiers.add(Modifier.OPEN)
|
resultingModifiers.add(Modifier.OPEN)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -83,11 +83,11 @@ public open class Function(val converter: Converter,
|
|||||||
|
|
||||||
public override fun toKotlin(): String {
|
public override fun toKotlin(): String {
|
||||||
return docComments.toKotlin("\n", "", "\n") +
|
return docComments.toKotlin("\n", "", "\n") +
|
||||||
modifiersToKotlin() +
|
modifiersToKotlin() +
|
||||||
"fun ${name.toKotlin()}${typeParametersToKotlin()}" +
|
"fun ${typeParametersToKotlin()}${name.toKotlin()}" +
|
||||||
"(${params.toKotlin()})" +
|
"(${params.toKotlin()})" +
|
||||||
returnTypeToKotlin() +
|
returnTypeToKotlin() +
|
||||||
typeParameterWhereToKotlin() +
|
typeParameterWhereToKotlin() +
|
||||||
block?.toKotlin()
|
block?.toKotlin()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,16 +10,16 @@ myName = _myName
|
|||||||
myHasDollar = _myHasDollar
|
myHasDollar = _myHasDollar
|
||||||
}
|
}
|
||||||
class object {
|
class object {
|
||||||
public fun init<T>(name : T) : Identifier<T> {
|
public fun <T> init(name : T) : Identifier<T> {
|
||||||
val __ = Identifier(name, false)
|
val __ = Identifier(name, false)
|
||||||
return __
|
return __
|
||||||
}
|
}
|
||||||
public fun init<T>(name : T, isNullable : Boolean) : Identifier<T> {
|
public fun <T> init(name : T, isNullable : Boolean) : Identifier<T> {
|
||||||
val __ = Identifier(name, false)
|
val __ = Identifier(name, false)
|
||||||
__.myNullable = isNullable
|
__.myNullable = isNullable
|
||||||
return __
|
return __
|
||||||
}
|
}
|
||||||
public fun init<T>(name : T, hasDollar : Boolean, isNullable : Boolean) : Identifier<T> {
|
public fun <T> init(name : T, hasDollar : Boolean, isNullable : Boolean) : Identifier<T> {
|
||||||
val __ = Identifier(name, hasDollar)
|
val __ = Identifier(name, hasDollar)
|
||||||
__.myNullable = isNullable
|
__.myNullable = isNullable
|
||||||
return __
|
return __
|
||||||
|
|||||||
@@ -10,16 +10,16 @@ myName = _myName
|
|||||||
myHasDollar = _myHasDollar
|
myHasDollar = _myHasDollar
|
||||||
}
|
}
|
||||||
class object {
|
class object {
|
||||||
public open fun init<T>(name : T?) : Identifier<T> {
|
public open fun <T> init(name : T?) : Identifier<T> {
|
||||||
val __ = Identifier(name, false)
|
val __ = Identifier(name, false)
|
||||||
return __
|
return __
|
||||||
}
|
}
|
||||||
public open fun init<T>(name : T?, isNullable : Boolean) : Identifier<T> {
|
public open fun <T> init(name : T?, isNullable : Boolean) : Identifier<T> {
|
||||||
val __ = Identifier(name, false)
|
val __ = Identifier(name, false)
|
||||||
__.myNullable = isNullable
|
__.myNullable = isNullable
|
||||||
return __
|
return __
|
||||||
}
|
}
|
||||||
public open fun init<T>(name : T?, hasDollar : Boolean, isNullable : Boolean) : Identifier<T> {
|
public open fun <T> init(name : T?, hasDollar : Boolean, isNullable : Boolean) : Identifier<T> {
|
||||||
val __ = Identifier(name, hasDollar)
|
val __ = Identifier(name, hasDollar)
|
||||||
__.myNullable = isNullable
|
__.myNullable = isNullable
|
||||||
return __
|
return __
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
fun putU<U>(u : U) {
|
fun <U> putU(u : U) {
|
||||||
}
|
}
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
fun putU<U>(u : U?) {
|
fun <U> putU(u : U?) {
|
||||||
}
|
}
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
fun putUVW<U, V, W>(u : U, v : V, w : W) {
|
fun <U, V, W> putUVW(u : U, v : V, w : W) {
|
||||||
}
|
}
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
fun putUVW<U, V, W>(u : U?, v : V?, w : W?) {
|
fun <U, V, W> putUVW(u : U?, v : V?, w : W?) {
|
||||||
}
|
}
|
||||||
@@ -10,16 +10,16 @@ myName = _myName
|
|||||||
myHasDollar = _myHasDollar
|
myHasDollar = _myHasDollar
|
||||||
}
|
}
|
||||||
class object {
|
class object {
|
||||||
public fun init<T>(name : T) : Identifier<T> {
|
public fun <T> init(name : T) : Identifier<T> {
|
||||||
val __ = Identifier(name, false)
|
val __ = Identifier(name, false)
|
||||||
return __
|
return __
|
||||||
}
|
}
|
||||||
public fun init<T>(name : T, isNullable : Boolean) : Identifier<T> {
|
public fun <T> init(name : T, isNullable : Boolean) : Identifier<T> {
|
||||||
val __ = Identifier(name, false)
|
val __ = Identifier(name, false)
|
||||||
__.myNullable = isNullable
|
__.myNullable = isNullable
|
||||||
return __
|
return __
|
||||||
}
|
}
|
||||||
public fun init<T>(name : T, hasDollar : Boolean, isNullable : Boolean) : Identifier<T> {
|
public fun <T> init(name : T, hasDollar : Boolean, isNullable : Boolean) : Identifier<T> {
|
||||||
val __ = Identifier(name, hasDollar)
|
val __ = Identifier(name, hasDollar)
|
||||||
__.myNullable = isNullable
|
__.myNullable = isNullable
|
||||||
return __
|
return __
|
||||||
|
|||||||
@@ -10,16 +10,16 @@ myName = _myName
|
|||||||
myHasDollar = _myHasDollar
|
myHasDollar = _myHasDollar
|
||||||
}
|
}
|
||||||
class object {
|
class object {
|
||||||
public open fun init<T>(name : T?) : Identifier<T> {
|
public open fun <T> init(name : T?) : Identifier<T> {
|
||||||
val __ = Identifier(name, false)
|
val __ = Identifier(name, false)
|
||||||
return __
|
return __
|
||||||
}
|
}
|
||||||
public open fun init<T>(name : T?, isNullable : Boolean) : Identifier<T> {
|
public open fun <T> init(name : T?, isNullable : Boolean) : Identifier<T> {
|
||||||
val __ = Identifier(name, false)
|
val __ = Identifier(name, false)
|
||||||
__.myNullable = isNullable
|
__.myNullable = isNullable
|
||||||
return __
|
return __
|
||||||
}
|
}
|
||||||
public open fun init<T>(name : T?, hasDollar : Boolean, isNullable : Boolean) : Identifier<T> {
|
public open fun <T> init(name : T?, hasDollar : Boolean, isNullable : Boolean) : Identifier<T> {
|
||||||
val __ = Identifier(name, hasDollar)
|
val __ = Identifier(name, hasDollar)
|
||||||
__.myNullable = isNullable
|
__.myNullable = isNullable
|
||||||
return __
|
return __
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package demo
|
package demo
|
||||||
class Map() {
|
class Map() {
|
||||||
fun put<K, V>(k : K, v : V) {
|
fun <K, V> put(k : K, v : V) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
class U() {
|
class U() {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package demo
|
package demo
|
||||||
open class Map() {
|
open class Map() {
|
||||||
open fun put<K, V>(k : K?, v : V?) {
|
open fun <K, V> put(k : K?, v : V?) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
open class U() {
|
open class U() {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package demo
|
package demo
|
||||||
class TestT() {
|
class TestT() {
|
||||||
fun getT<T>() {
|
fun <T> getT() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
class U() {
|
class U() {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package demo
|
package demo
|
||||||
open class TestT() {
|
open class TestT() {
|
||||||
open fun getT<T>() {
|
open fun <T> getT() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
open class U() {
|
open class U() {
|
||||||
|
|||||||
+1
-1
@@ -1,2 +1,2 @@
|
|||||||
fun max<T : Any, K : Node>(coll : Collection<out T>) : T where T : Comparable<in T>, K : Collection<in K> {
|
fun <T : Any, K : Node> max(coll : Collection<out T>) : T where T : Comparable<in T>, K : Collection<in K> {
|
||||||
}
|
}
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
fun max<T : Any?, K : Node?>(coll : Collection<out T?>?) : T? where T : Comparable<in T?>?, K : Collection<in K?>? {
|
fun <T : Any?, K : Node?> max(coll : Collection<out T?>?) : T? where T : Comparable<in T?>?, K : Collection<in K?>? {
|
||||||
}
|
}
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
fun max<T : Any>(coll : Collection<out T>) : T where T : Comparable<in T> {
|
fun <T : Any> max(coll : Collection<out T>) : T where T : Comparable<in T> {
|
||||||
}
|
}
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
fun max<T : Any?>(coll : Collection<out T?>?) : T? where T : Comparable<in T?>? {
|
fun <T : Any?> max(coll : Collection<out T?>?) : T? where T : Comparable<in T?>? {
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user