@@ -4,12 +4,12 @@ import com.mapk.fastkfunction.argumentbucket.ArgumentBucket
44import com.mapk.fastkfunction.argumentbucket.BucketGenerator
55import java.lang.reflect.Method
66import java.lang.reflect.Modifier
7- import java.lang.reflect.Constructor as JavaConstructor
87import kotlin.reflect.KFunction
98import kotlin.reflect.KParameter
109import kotlin.reflect.jvm.isAccessible
1110import kotlin.reflect.jvm.javaConstructor
1211import kotlin.reflect.jvm.javaMethod
12+ import java.lang.reflect.Constructor as JavaConstructor
1313
1414sealed class FastKFunction <T > {
1515 abstract val valueParameters: List <KParameter >
@@ -129,7 +129,10 @@ sealed class FastKFunction<T> {
129129 }
130130
131131 private fun <T > topLevelFunctionOf (
132- function : KFunction <T >, instance : Any? , parameters : List <KParameter >, method : Method
132+ function : KFunction <T >,
133+ instance : Any? ,
134+ parameters : List <KParameter >,
135+ method : Method
133136 ): FastKFunction <T > = when {
134137 // KParameter.Kind.EXTENSION_RECEIVERの要求が有れば確定で拡張関数
135138 parameters[0 ].kind == KParameter .Kind .EXTENSION_RECEIVER -> {
@@ -145,19 +148,23 @@ sealed class FastKFunction<T> {
145148 }
146149 // javaMethodのパラメータサイズとKFunctionのパラメータサイズが違う場合も拡張関数
147150 // インスタンスが設定されていれば高速呼び出し、そうじゃなければ通常の関数呼び出し
148- method.parameters.size != parameters.size -> instance
149- ?.let {
150- val generator = BucketGenerator (parameters, instance)
151- val valueParameters = parameters.subList(1 , parameters.size)
151+ method.parameters.size != parameters.size ->
152+ instance
153+ ?.let {
154+ val generator = BucketGenerator (parameters, instance)
155+ val valueParameters = parameters.subList(1 , parameters.size)
152156
153- TopLevelExtensionFunction (function, method, instance, generator, valueParameters)
154- } ? : Function (function, parameters)
157+ TopLevelExtensionFunction (function, method, instance, generator, valueParameters)
158+ } ? : Function (function, parameters)
155159 // トップレベル関数
156160 else -> TopLevelFunction (function, method, parameters)
157161 }
158162
159163 private fun <T > instanceFunctionOf (
160- function : KFunction <T >, inputtedInstance : Any? , parameters : List <KParameter >, method : Method
164+ function : KFunction <T >,
165+ inputtedInstance : Any? ,
166+ parameters : List <KParameter >,
167+ method : Method
161168 ): FastKFunction <T > {
162169 val instance = inputtedInstance ? : method.declaringObject
163170
0 commit comments