Skip to content
This repository was archived by the owner on Jan 20, 2023. It is now read-only.

Commit 8325d6d

Browse files
committed
when式化
1 parent 6e18550 commit 8325d6d

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

src/main/kotlin/com/mapk/fastkfunction/FastKFunction.kt

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -131,30 +131,30 @@ sealed class FastKFunction<T> {
131131
private fun <T> topLevelFunctionOf(
132132
function: KFunction<T>, instance: Any?, parameters: List<KParameter>, method: Method
133133
): 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+
}
146147
// javaMethodのパラメータサイズとKFunctionのパラメータサイズが違う場合も拡張関数
147148
// インスタンスが設定されていれば高速呼び出し、そうじゃなければ通常の関数呼び出し
148-
instance
149+
method.parameters.size != parameters.size -> instance
149150
?.let {
150151
val generator = BucketGenerator(parameters, instance)
151152
val valueParameters = parameters.subList(1, parameters.size)
152153

153154
TopLevelExtensionFunction(function, method, instance, generator, valueParameters)
154155
} ?: Function(function, parameters)
155-
} else {
156156
// トップレベル関数
157-
TopLevelFunction(function, method, parameters)
157+
else -> TopLevelFunction(function, method, parameters)
158158
}
159159
}
160160

0 commit comments

Comments
 (0)