public final class
KotlinReflectionUtils
extends
Object
Reflection utility methods specific to Kotlin reflection. Requires Kotlin classes to be present to avoid linkage
errors.
Since:
Author:
Mark Paluch, Christoph Strobl, Johannes Englmeier
See Also:
KotlinDetector.isKotlinReflectPresent()
Returns a
KFunction
instance corresponding to the given Java
Method
instance, or
null
if
this method cannot be represented by a Kotlin function.
static boolean
Return true if the specified class is a Kotlin data class.
static boolean
Return true if the specified class is a supported Kotlin class.
static boolean
Returns whether the
Method
is declared as suspend (Kotlin Coroutine).
isSupportedKotlinClass
public static
boolean
isSupportedKotlinClass
(
Class
<?> type)
Return true if the specified class is a supported Kotlin class. Currently supported are only regular
Kotlin classes. Other class types (synthetic, SAM, lambdas) are not supported via reflection.
Returns:
true if
type
is a supported Kotlin class.
isDataClass
public static
boolean
isDataClass
(
Class
<?> type)
Return true if the specified class is a Kotlin data class.
Returns:
true if
type
is a Kotlin data class.
Since:
2.5.1
findKotlinFunction
@Nullable
public static
kotlin.reflect.KFunction<?>
findKotlinFunction
(
Method
method)
Returns a
KFunction
instance corresponding to the given Java
Method
instance, or
null
if
this method cannot be represented by a Kotlin function.
Parameters:
method
- the method to look up.
Returns:
the
KFunction
or
null
if the method cannot be looked up.
isSuspend
public static
boolean
isSuspend
(
Method
method)
Returns whether the
Method
is declared as suspend (Kotlin Coroutine).
Parameters:
method
- the method to inspect.
Returns:
true if the method is declared as suspend.
See Also:
KFunction.isSuspend()
getReturnType
Parameters:
method
- the method to inspect, typically any synthetic JVM
Method
.
Returns:
return type of the method.