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

Commit 49951b4

Browse files
committed
instanceのクラスがパラメータにできないものであればその場で落とすように修正
1 parent e6171e7 commit 49951b4

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

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

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,19 @@ sealed class FastKFunction<T> {
197197
InstanceFunction(function, method, instance, generator, valueParameters)
198198
} else {
199199
instance
200-
?.let { InstanceFunction(function, method, it, BucketGenerator(parameters, null), parameters) }
200+
?.let {
201+
val instanceClazz = it::class
202+
203+
method.declaringClass.kotlin.also { requiredClazz ->
204+
if (!requiredClazz.isSuperclassOf(instanceClazz))
205+
throw IllegalArgumentException(
206+
"INSTANCE parameter required ${instanceClazz.simpleName}, "
207+
+ "but ${instanceClazz.simpleName} is present."
208+
)
209+
}
210+
211+
InstanceFunction(function, method, it, BucketGenerator(parameters, null), parameters)
212+
}
201213
?: Function(function, parameters)
202214
}
203215
}

0 commit comments

Comments
 (0)