@@ -131,30 +131,30 @@ sealed class FastKFunction<T> {
131
131
private fun <T > topLevelFunctionOf (
132
132
function : KFunction <T >, instance : Any? , parameters : List <KParameter >, method : Method
133
133
): FastKFunction <T > {
134
- return if (parameters[0 ].kind == KParameter .Kind .EXTENSION_RECEIVER ) {
135
- // KParameter.Kind.EXTENSION_RECEIVERの要求が有れば確定で拡張関数
136
- // 対象が拡張関数ならinstanceはreceiver、指定が無ければエラー
137
- instance ? : throw IllegalArgumentException (
138
- " Function requires EXTENSION_RECEIVER instance, but is not present."
139
- )
140
-
141
- val generator = BucketGenerator (parameters, instance)
142
- val valueParameters = parameters.subList(1 , parameters.size)
143
-
144
- TopLevelExtensionFunction (function, method, instance, generator, valueParameters)
145
- } else if (method.parameters.size != parameters.size) {
134
+ return when {
135
+ parameters[0 ].kind == KParameter .Kind .EXTENSION_RECEIVER -> {
136
+ // KParameter.Kind.EXTENSION_RECEIVERの要求が有れば確定で拡張関数
137
+ // 対象が拡張関数ならinstanceはreceiver、指定が無ければエラー
138
+ instance ? : throw IllegalArgumentException (
139
+ " Function requires EXTENSION_RECEIVER instance, but is not present."
140
+ )
141
+
142
+ val generator = BucketGenerator (parameters, instance)
143
+ val valueParameters = parameters.subList(1 , parameters.size)
144
+
145
+ TopLevelExtensionFunction (function, method, instance, generator, valueParameters)
146
+ }
146
147
// javaMethodのパラメータサイズとKFunctionのパラメータサイズが違う場合も拡張関数
147
148
// インスタンスが設定されていれば高速呼び出し、そうじゃなければ通常の関数呼び出し
148
- instance
149
+ method.parameters.size != parameters.size -> instance
149
150
?.let {
150
151
val generator = BucketGenerator (parameters, instance)
151
152
val valueParameters = parameters.subList(1 , parameters.size)
152
153
153
154
TopLevelExtensionFunction (function, method, instance, generator, valueParameters)
154
155
} ? : Function (function, parameters)
155
- } else {
156
156
// トップレベル関数
157
- TopLevelFunction (function, method, parameters)
157
+ else -> TopLevelFunction (function, method, parameters)
158
158
}
159
159
}
160
160
0 commit comments