KReflectionFactory - kt
变更记录
v1.0.0 添加
功能描述
这是自定义
KClass和KCallable相关功能的查找匹配以及invoke的封装类。
KLazyClass - class
open class KLazyClass<T> internal constructor(
private val instance: Any,
private val initialize: Boolean,
private val loader: KClassLoaderInitializer?
)
变更记录
v1.0.0 新增
功能描述
懒装载
KClass实例。
KType.kotlin - ext-field
val KType.kotlin: KClass<*>
变更记录
v1.0.0 添加
功能描述
将
KType类型擦除转换为KClass
KClassifier.kotlin - ext-field
val KClassifier.kotlin: KClass<*>
变更记录
v1.0.0 添加
功能描述
将
KClassifier转换为KClass
KClass.top - ext-field
val KClass<*>.top: KDeclarationContainer
变更记录
v1.0.0 添加
功能描述
将
KClass获取并转换为 *Kt 顶级 Kotlin 文件类
KClass.isTop - ext-field
val KClass<*>.isTop: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KClass是否是 *Kt 顶级 Kotlin 文件类
KClass.existTop - ext-field
val KClass<*>.existTop: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KClass是否存在 *Kt 顶级 Kotlin 文件类
KDeclarationContainer.kotlin - ext-field
val KDeclarationContainer.kotlin: KClass<*>
变更记录
v1.0.0 添加
功能描述
将 *Kt 顶级 Kotlin 文件类 转换为
KClass
KDeclarationContainer.declaredTopPropertys - ext-field
val KDeclarationContainer.declaredTopPropertys: List<KProperty<*>>
变更记录
v1.0.0 添加
功能描述
获取 *Kt 顶级 Kotlin 文件类 的所有属性
KDeclarationContainer.declaredTopFunctions - ext-field
val KDeclarationContainer.declaredTopFunctions: List<KFunction<*>>
变更记录
v1.0.0 添加
功能描述
获取 *Kt 顶级 Kotlin 文件类 的所有函数
KParameter.kotlin - ext-field
val KParameter.kotlin: KClass<*>
变更记录
v1.0.0 添加
功能描述
将
KParameter转换为KClass
Collection.kotlin - ext-field
val Collection<KParameter>.kotlin: Array<KClass<*>>
变更记录
v1.0.0 添加
功能描述
将一组
KParameter擦除泛型转换为一组KClass
将
KParameter转换为KClass
Collection.type - ext-field
val Collection<KParameter>.type: Array<KType>
变更记录
v1.0.0 添加
功能描述
将一组
KParameter保留泛型数据转换为一组KType
KProperty.toMutable - ext-field
val KProperty<*>?.toMutable: KMutableProperty<*>
val KProperty<*>?.toMutableOrNull: KMutableProperty<*>?
变更记录
v1.0.0 添加
功能描述
将一组
KProperty强行转换为KMutableProperty
KProperty.set - ext-method
fun KProperty<*>.set(thisRef: Any?, value: Any?, extensionRef: Any?, isUseMember: Boolean): Unit
operator fun KProperty<*>.set(thisRef: Any?, value: Any?): Unit
变更记录
v1.0.0 添加
功能描述
为
KProperty修改值
KClass.isSupportReflection - ext-field
val KClass<*>.isSupportReflection: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KClass是否支持反射
KProperty.isVar - ext-field
val KProperty<*>.isVar: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KProperty是否支持是由var关键字修饰的
KProperty.isVal - ext-field
val KProperty<*>.isVal: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KProperty是否支持是由val关键字修饰的
KProperty.isNullable - ext-field
val KProperty<*>.isNullable: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KProperty属性类型是否是可空类型
KProperty.isNotNull - ext-field
val KProperty<*>.isNotNull: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KProperty属性类型是否是非空类型
KClass.isArrayOrCollection - ext-field
val KClass<*>.isArrayOrCollection: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KClass是否为数组或集合类型
KCallable.declaringClass - ext-field
val KCallable<*>.declaringClass: KClass<*>
变更记录
v1.0.0 添加
功能描述
获取
KCallable的所属/声明类
KCallable.modifiers - ext-field
val KCallable<*>.modifiers: Int
变更记录
v1.0.0 添加
功能描述
获取
KCallableJava 能表示的首个描述符
KCallable.returnJavaClass - ext-field
val <V> KCallable<V>.returnJavaClass: Class<V>
变更记录
v1.0.0 添加
功能描述
获取
KCallable返回类型 Java 形式
KCallable.returnClass - ext-field
val <V> KCallable<V>.returnClass: KClass<V & Any>
变更记录
v1.0.0 添加
功能描述
获取
KCallable返回类型
KCallable.ref - ext-field
val KCallable<*>.ref: CallableReference
变更记录
v1.0.0 添加
功能描述
将
KCallable转换为CallableReference静态引用类
KCallable.refClass - ext-field
val KCallable<*>.refClass: KClass<*>
变更记录
v1.0.0 添加
功能描述
通过
KCallable.ref静态引用类信息获取其声明所属KClass
KCallable.refImpl - ext-field
val <T, K : KCallable<T>> K.refImpl: K?
变更记录
v1.0.0 添加
功能描述
通过
KCallable.ref静态引用类信息获取其运行时K : KCallable
CallableReference.impl - ext-field
val CallableReference.impl: KCallable<*>?
变更记录
v1.0.0 添加
功能描述
通过
CallableReference静态引用类信息获取其运行时KCallable
CallableReference.declaringKotlin - ext-field
val CallableReference.declaringKotlin: KClass<*>
变更记录
v1.0.0 添加
功能描述
通过
CallableReference静态引用类信息获取其声明所属KClass
KClass.isInterface - ext-field
val KClass<*>.isInterface: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KClass是否为接口
KClass.superclass - ext-field
val KClass<*>.superclass: KClass<*>
变更记录
v1.0.0 添加
功能描述
获取
KClass的非接口父类
KClass.enclosingClass - ext-field
val KClass<*>.enclosingClass: KClass<*>
变更记录
v1.0.0 添加
功能描述
获取
KClass的密封类
KClass.simpleNameOrJvm - ext-field
val KClass<*>.simpleNameOrJvm: String
变更记录
v1.0.0 添加
功能描述
获取
KClass的简易类名
KClass.isAnonymous - ext-field
val KClass<*>.isAnonymous: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KClass是否为匿名类
KClass.name - ext-field
val KClass<*>.name: String
变更记录
v1.0.0 添加
功能描述
获取
KClass完整类名
KClass.hasExtends - ext-field
val KClass<*>.hasExtends: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KClass是否有继承 不考虑接口 继承为Any时算作没有继承
KClass.interfaces - ext-field
val KClass<*>.interfaces: List<KClass<*>>
变更记录
v1.0.0 添加
功能描述
获取
KClass的所有接口
KClass.generics - ext-field
val KClass<*>.generics: List<KTypeParameter>
变更记录
v1.0.0 添加
功能描述
获取
KClass的泛型列表
KClass.generics - ext-field
val KCallable<*>.generics: List<KTypeParameter>
变更记录
v1.0.0 添加
功能描述
获取
KCallable的泛型列表
KClassifier.type - ext-field
val KClassifier.type: KType
变更记录
v1.0.0 添加
功能描述
将
KClassifier转换为KType
KType.kotlinType - ext-field
val KType.kotlinType: KotlinType
变更记录
v1.0.0 添加
功能描述
将
KType转换为KotlinType
KClass.descriptor - ext-field
val KClass<*>.descriptor: ClassDescriptor
变更记录
v1.0.0 添加
功能描述
获取
KClass的描述符信息对象
KClass.isObject - ext-field
val KClass<*>.isObject: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KClass是否是 object 关键字修饰的对象类
KClass.isObject - ext-field
val KClass<*>.isObject: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KClass是否是 object 关键字修饰的对象类
KClass.singletonInstance - ext-field
val <T : Any> KClass<T>.singletonInstance: T?
变更记录
v1.0.0 添加
功能描述
获取
KClass的单例实例
KClass.companionSingletonInstance - ext-field
val KClass<*>.companionSingletonInstance: Any?
变更记录
v1.0.0 添加
功能描述
获取
KClass的伴生对象实例
KType.isPrimitive - ext-field
val KType.isPrimitive: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KType是否是 Java 基本数据类型
KClass.toJavaPrimitiveType - ext-method
fun KClass<*>.toJavaPrimitiveType(): KClass<*>
变更记录
v1.0.0 添加
功能描述
将
KClass的构成转换为基本数据类型构成
转换基本类型对于KClass并没有太大影响 Int::class == Int::class.toJavaPrimitiveType() 这仅改变他们的构成,即 Int::class.java != Int::class.toJavaPrimitiveType().java
KType.java - ext-field
val KType.java: Class<out Any>
变更记录
v1.0.0 添加
功能描述
将
KType转换为Class
KCallable.findParameterIndexByName - ext-method
fun KCallable<*>.findParameterIndexByName(name: String, isCountExtensionRef: Boolean, isCountThisRef: Boolean): Int
变更记录
v1.0.0 添加
功能描述
根据参数名获取其
KCallable中所在的下标
KClass.extends - ext-method
fun KClass<*>?.extends(other: KClass<*>?): Boolean
变更记录
v1.0.0 添加
功能描述
检查
KClass是否继承于other
如果当前 KClass 就是 other 也会返回 true。
如果当前 KClass 为 null 或 other 为 null 会返回 false。
功能示例
你可以使用此方法来判断两个 KClass 是否存在继承关系。
示例如下
// 假设下面这两个 KClass 就是你需要判断的 KClass
val classA: KClass<*>?
val classB: KClass<*>?
// 判断 A 是否继承于 B
if (classA extends classB) {
// Your code here.
}
KClass.notExtends - ext-method
fun KClass<*>?.notExtends(other: KClass<*>?): Boolean
变更记录
v1.0.0 添加
功能描述
检查
KClass是否不继承于other
此方法相当于 extends 的反向判断。
功能示例
你可以使用此方法来判断两个 KClass 是否不存在继承关系。
示例如下
// 假设下面这两个 KClass 就是你需要判断的 KClass
val classA: KClass<*>?
val classB: KClass<*>?
// 判断 A 是否不继承于 B
if (classA notExtends classB) {
// Your code here.
}
KClass.implements - ext-method
fun KClass<*>?.implements(other: KClass<*>?): Boolean
变更记录
v1.0.0 添加
功能描述
检查
KClass是否实现了other
如果当前 KClass 为 null 或 other 为 null 会返回 false。
功能示例
你可以使用此方法来判断两个 KClass 是否存在依赖关系。
示例如下
// 假设下面这两个 KClass 就是你需要判断的 KClass
val classA: KClass<*>?
val classB: KClass<*>?
// 判断 A 是否实现了 B 接口类
if (classA implements classB) {
// Your code here.
}
KClass.notImplements - ext-method
fun KClass<*>?.notImplements(other: KClass<*>?): Boolean
变更记录
v1.0.0 添加
功能描述
检查
KClass是否未实现other
此方法相当于 implements 的反向判断。
功能示例
你可以使用此方法来判断两个 KClass 是否不存在依赖关系。
示例如下
// 假设下面这两个 KClass 就是你需要判断的 KClass
val classA: KClass<*>?
val classB: KClass<*>?
// 判断 A 是否未实现 B 接口类
if (classA notImplements classB) {
// Your code here.
}
Any.isCase - ext-method
infix fun Any?.isCase(other: KClass<*>?): Boolean
fun <reified T> Any?.isCase(): Boolean
变更记录
v1.0.0 添加
功能描述
检查
Any是否可以转换为指定类型
KClass.classLoader - ext-field
val KClass<*>.classLoader: ClassLoader
变更记录
v1.0.0 添加
功能描述
获取
KClass使用的ClassLoader
KFunction.isGetter - ext-field
val KFunction<*>.isGetter: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KFunction是否是 Getter 函数
KFunction.isSetter - ext-field
val KFunction<*>.isSetter: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KFunction是否是 Setter 函数
KVariousClass.toKClass - ext-method
fun KVariousClass.toKClass(loader: ClassLoader?, initialize: Boolean): KClass<*>
fun KVariousClass.toKClassOrNull(loader: ClassLoader?, initialize: Boolean): KClass<*>?
变更记录
v1.0.0 添加
功能描述
通过
KVariousClass获取KClass
String.toKClass - ext-method
fun String.toKClass(loader: ClassLoader?, initialize: Boolean): KClass<*>
fun <reified T> String.toKClass(loader: ClassLoader?, initialize: Boolean): KClass<T & Any>
fun String.toKClassOrNull(loader: ClassLoader?, initialize: Boolean): KClass<*>?
fun <reified T> String.toKClassOrNull(loader: ClassLoader?, initialize: Boolean): KClass<T & Any>?
变更记录
v1.0.0 添加
功能描述
通过字符串类名转换为指定
ClassLoader中的实体类
带 OrNull 的版本找不到 KClass 会返回 null,不会抛出异常。
功能示例
你可以直接填写你要查找的目标 KClass,必须在默认 ClassLoader 下存在。
示例如下
"com.example.demo.DemoClass".toKClass()
你还可以自定义 KClass 所在的 ClassLoader。
示例如下
val customClassLoader: ClassLoader? = ... // 假设这个就是你的 ClassLoader
"com.example.demo.DemoClass".toKClass(customClassLoader)
你还可以指定 KClass 的目标类型。
示例如下
// 指定的 DemoClass 必须存在或为可访问的 stub
"com.example.demo.DemoClass".toKClass<DemoClass>()
你还可以设置在获取到这个 KClass 时是否自动执行其默认的静态方法块,默认情况下不会执行。
示例如下
// 获取并执行 DemoClass 默认的静态方法块
"com.example.demo.DemoClass".toKClass(initialize = true)
默认的静态方法块在 Java 中使用如下方式定义。
示例如下
public class DemoClass {
static {
// 这里是静态方法块的内容
}
public DemoClass() {
// ...
}
}
KClass.toKClass - ext-method
fun KClass<*>.toKClass(loader: ClassLoader?, initialize: Boolean): KClass<*>
fun <reified T> KClass<T & Any>.toKClass(loader: ClassLoader?, initialize: Boolean): KClass<T & Any>
fun KClass<*>.toKClassOrNull(loader: ClassLoader?, initialize: Boolean): KClass<*>?
fun <reified T> KClass<T & Any>.toKClassOrNull(loader: ClassLoader?, initialize: Boolean): KClass<T & Any>?
变更记录
v1.0.0 添加
功能描述
通过
KClass的类名使用指定ClassLoader转换为新的KClass
KCallable.toKCallable - ext-method
fun <K : KCallable<V>, V> K.toKCallable(clazz: KClass<*>?, loader: ClassLoader?, isUseMember: Boolean): K
fun <K : KCallable<V>, V> K.toKCallableOrNull(clazz: KClass<*>?, loader: ClassLoader?, isUseMember: Boolean): K?
变更记录
v1.0.0 添加
功能描述
将
KCallable使用指定类与ClassLoader转换为新的KCallable
KProperty.toKProperty - ext-method
fun <K : KProperty<V>, V> K.toKProperty(clazz: KClass<*>?, loader: ClassLoader?, isUseMember: Boolean): K
fun <K : KProperty<V>, V> K.toKPropertyOrNull(clazz: KClass<*>?, loader: ClassLoader?, isUseMember: Boolean): K?
变更记录
v1.0.0 添加
功能描述
将
KProperty使用指定类与ClassLoader转换为新的KProperty
KFunction.toKFunction - ext-method
fun <K : KFunction<V>, V> K.toKFunction(clazz: KClass<*>?, loader: ClassLoader?, isUseMember: Boolean): K
fun <K : KFunction<V>, V> K.toKFunctionOrNull(clazz: KClass<*>?, loader: ClassLoader?, isUseMember: Boolean): K?
变更记录
v1.0.0 添加
功能描述
将
KFunction使用指定类与ClassLoader转换为新的KFunction
kclassOf - method
fun <reified T> kclassOf(loader: ClassLoader?, initialize: Boolean): KClass<T & Any>
变更记录
v1.0.0 添加
功能描述
通过
T得到其KClass实例并转换为实体类。
功能示例
我们要获取一个 KClass 在 Kotlin 下不通过反射时应该这样做。
示例如下
DemoClass::class
现在,你可以直接 cast 一个实例并获取它的 KClass 对象,必须在当前 ClassLoader 下存在。
示例如下
kclassOf<DemoClass>()
若目标存在的 KClass 为 stub,通过这种方式,你还可以自定义 KClass 所在的 ClassLoader。
示例如下
val customClassLoader: ClassLoader? = ... // 假设这个就是你的 ClassLoader
kclassOf<DemoClass>(customClassLoader)
lazyKClass - method
fun lazyKClass(name: String, initialize: Boolean, loader: KClassLoaderInitializer?): KLazyClass.NonNull<Any>
fun <reified T> lazyKClass(name: String, initialize: Boolean, noinline loader: KClassLoaderInitializer?): KLazyClass.NonNull<T>
fun lazyKClass(variousClass: KVariousClass, initialize: Boolean, loader: KClassLoaderInitializer?): KLazyClass.NonNull<Any>
fun lazyKClassOrNull(name: String, initialize: Boolean, loader: KClassLoaderInitializer?): KLazyClass.Nullable<Any>
fun <reified T> lazyKClassOrNull(name: String, initialize: Boolean, loader: KClassLoaderInitializer?): KLazyClass.Nullable<T>
fun lazyKClassOrNull(variousClass: KVariousClass, initialize: Boolean, loader: KClassLoaderInitializer?): KLazyClass.Nullable<Any>
变更记录
v1.0.0 添加
功能描述
懒加载获取
KClass
String.hasKClass - ext-method
fun String.hasKClass(loader: ClassLoader?): Boolean
变更记录
v1.0.0 添加
功能描述
通过字符串类名使用指定的
ClassLoader查找是否存在KClass
功能示例
你可以轻松的使用此方法判断字符串中的类是否存在。
示例如下
if("com.example.demo.DemoClass".hasKClass()) {
// Your code here.
}
填入方法中的 loader 参数可判断指定的 ClassLoader 中的 KClass 是否存在。
示例如下
val customClassLoader: ClassLoader? = ... // 假设这个就是你的 ClassLoader
if("com.example.demo.DemoClass".hasKClass(customClassLoader)) {
// Your code here.
}
KClass.hasProperty - ext-method
fun KClass<*>.hasProperty(initiate: KPropertyConditions): Boolean
变更记录
v1.0.0 添加
功能描述
查找在
KClass中是否存在指定KProperty属性
KClass.hasPropertySignature - ext-method
fun KClass<*>.hasPropertySignature(loader: ClassLoader?, initiate: KPropertySignatureConditions): Boolean
变更记录
v1.0.0 添加
功能描述
查找在
KClass中是否存在指定KProperty属性签名
KClass.hasFunction - ext-method
fun KClass<*>.hasFunction(initiate: KFunctionConditions): Boolean
变更记录
v1.0.0 添加
功能描述
查找在
KClass中是否存在指定KFunction函数
KClass.hasFunctionSignature - ext-method
fun KClass<*>.hasFunctionSignature(loader: ClassLoader?, initiate: KFunctionSignatureConditions): Boolean
变更记录
v1.0.0 添加
功能描述
查找在
KClass中是否存在指定KFunction函数签名
KClass.hasConstructor - ext-method
fun KClass<*>.hasConstructor(initiate: KConstructorConditions): Boolean
变更记录
v1.0.0 添加
功能描述
查找在
KClass中是否存在指定 ConstructorKFunction构造函数
KCallable.hasModifiers - ext-method
fun KCallable<*>.hasModifiers(conditions: KModifierConditions): Boolean
变更记录
v1.0.0 添加
功能描述
检查在
KCallable中是否存在匹配的描述符
KClass.hasModifiers - ext-method
fun KClass<*>.hasModifiers(conditions: KModifierConditions): Boolean
变更记录
v1.0.0 添加
功能描述
检查在
KClass中是否存在匹配的描述符
KClass.property - ext-method
fun KClass<*>.property(initiate: KPropertyConditions): KPropertyFinder.Result
变更记录
v1.0.0 添加
功能描述
获取
KClass中的指定属性
KBaseFinder.BaseInstance.property - ext-method
fun KBaseFinder.BaseInstance.property(vararg args: Any?, initiate: KPropertyConditions): KPropertyFinder.Result.Instance
变更记录
v1.0.0 添加
功能描述
对已经查询的
KBaseFinder.BaseInstance实例执行获取结果,对此结果再次查找其中属性
KClass.propertySignature - ext-method
fun KClass<*>.propertySignature(loader: ClassLoader?, initiate: KPropertySignatureConditions): KPropertySignatureFinder.Result
变更记录
v1.0.0 添加
功能描述
获取
KClass中的指定的属性签名实例
KClass.function - ext-method
fun KClass<*>.function(initiate: KFunctionConditions): KFunctionFinder.Result
变更记录
v1.0.0 添加
功能描述
获取
KClass中的指定函数
KBaseFinder.BaseInstance.function - ext-method
fun KBaseFinder.BaseInstance.function(vararg args: Any?, initiate: KFunctionConditions): KFunctionFinder.Result.Instance
变更记录
v1.0.0 添加
功能描述
对已经查询的
KBaseFinder.BaseInstance实例执行获取结果,对此结果再次查找其中函数
KClass.functionSignature - ext-method
fun KClass<*>.functionSignature(loader: ClassLoader?, initiate: KFunctionSignatureConditions): KFunctionSignatureFinder.Result
变更记录
v1.0.0 添加
功能描述
获取
KClass中的指定的函数签名实例
KClass.constructor - ext-method
fun KClass<*>.constructor(initiate: KConstructorConditions): KConstructorFinder.Result
变更记录
v1.0.0 添加
功能描述
获取
KClass中的指定构造函数
KBaseFinder.BaseInstance.constructor - ext-method
fun KBaseFinder.BaseInstance.constructor(vararg args: Any?, initiate: KConstructorConditions): KConstructorFinder.Result.Instance
变更记录
v1.0.0 添加
功能描述
对已经查询的
KBaseFinder.BaseInstance实例执行获取结果,对此结果再次查找其中构造函数
KClass.genericSuper - ext-method
fun KClass<*>.genericSuper(initiate: KClassConditions): KGenericClass
变更记录
v1.0.0 添加
功能描述
获取
KClass的父类泛型操作对象
KClass.generic - ext-method
fun KClass<*>.generic(vararg params: Any, initiate: KTypeBuildConditions): KGenericClass
变更记录
v1.0.0 添加
功能描述
使用指定泛型参数创建包含泛型信息的
KClass泛型操作对象
KClass.variance - ext-method
fun KClass<*>.variance(variance: KVariance): KTypeProjection
变更记录
v1.0.0 添加
功能描述
使用指定方差创建包含方差信息的
KTypeProjection方差实例对象
KCallable.generics - ext-method
fun KCallable<*>.generics(vararg params: Any,initiate: KTypeBuildConditions = {}): KGenericClass
变更记录
v1.0.0 添加
功能描述
获取
KCallable定义的尖括号的泛型操作对象
KCallable.generic - ext-method
fun KCallable<*>.generic(initiate: KGenericClassDomain): KGenericClass
变更记录
v1.0.0 添加
功能描述
获取
KCallable返回类型的泛型操作对象
KType.generic - ext-method
fun KType.generic(initiate: KGenericClassDomain): KGenericClass
变更记录
v1.0.0 添加
功能描述
将
KType转换为泛型操作对象
KType.genericBuild - ext-method
fun KType.genericBuild(vararg params: Any, initiate: KTypeBuildConditions): KGenericClass
变更记录
v1.0.0 添加
功能描述
为当前
KType附加指定泛型参数后转换为泛型操作对象
KType.variance - ext-method
fun KType.variance(variance: KVariance): KTypeProjection
变更记录
v1.0.0 添加
功能描述
使用指定方差创建包含方差信息的
KTypeProjection方差实例对象
Collection.generic - ext-method
fun Collection<KType>.generic(initiate: KClassConditions): KGenericClass
变更记录
v1.0.0 添加
功能描述
将一组的
KType指定其中一个转换为泛型操作对象
Array.generic - ext-method
fun Array<KType>.generic(initiate: KClassConditions): KGenericClass
变更记录
v1.0.0 添加
功能描述
将一组的
KType指定其中一个转换为泛型操作对象
Any.currentKotlin - ext-method
fun <reified T : Any> T.currentKotlin(ignored: Boolean): KCurrentClass
fun <reified T : Any> T.currentKotlin(ignored: Boolean, initiate: KCurrentClass.() -> Unit): T
变更记录
v1.0.0 添加
功能描述
获得当前实例的类操作对象 Kotlin版本
KClass.buildOf - ext-method
fun KClass<*>.buildOf(vararg args: Any?, initiate: KConstructorConditions): Any?
fun <T> KClass<*>.buildOf(vararg args: Any?, initiate: KConstructorConditions): T?
变更记录
v1.0.0 添加
功能描述
通过构造方法创建新实例
KClass.declaredPropertys - ext-field
val KClass<*>.declaredPropertys: Collection<KProperty<*>>
变更记录
v1.0.0 添加
功能描述
获取
KClass不包括父类的所有声明属性
KCallable.isExtension - ext-field
val KCallable<*>.isExtension: Boolean
变更记录
v1.0.0 添加
功能描述
检查
KCallable是否是拓展函数
KCallable.descriptor - ext-field
val KCallable<*>.descriptor: CallableMemberDescriptor?
变更记录
v1.0.0 添加
功能描述
获取
KCallable描述信息实例
KClass.allFunctions - ext-method
fun KClass<*>.allFunctions(isAccessible: Boolean, result: (index: Int, function: KFunction<*>) -> Unit): Unit
变更记录
v1.0.0 添加
功能描述
遍历
KClass的所有函数
KClass.allFunctionSignatures - ext-method
fun KClass<*>.allFunctionSignatures(loader: ClassLoader?, result: (index: Int, function: KFunctionSignatureSupport) -> Unit): Unit
变更记录
v1.0.0 添加
功能描述
遍历
KClass的所有函数签名
KClass.allConstructors - ext-method
fun KClass<*>.allConstructors(isAccessible: Boolean, result: (index: Int, function: KFunction<*>) -> Unit): Unit
变更记录
v1.0.0 添加
功能描述
遍历
KClass的所有构造函数
KClass.allPropertys - ext-method
fun KClass<*>.allPropertys(isAccessible: Boolean, result: (index: Int, property: KProperty<*>) -> Unit): Unit
变更记录
v1.0.0 添加
功能描述
遍历
KClass的所有属性
KClass.allPropertySignatures - ext-method
fun KClass<*>.allPropertySignatures(loader: ClassLoader?, result: (index: Int, property: KPropertySignatureSupport) -> Unit): Unit
变更记录
v1.0.0 添加
功能描述
遍历
KClass的所有属性签名
Collection.findClass - ext-method
fun Collection<KClass<*>>.findClass(initiate: KClassConditions): KClassFinder.Result
fun Collection<String>.findClass(loader: ClassLoader?, initialize: Boolean, initiate: KClassConditions): KClassFinder.Result
fun Collection<KType>.findClass(initiate: KClassConditions): KClassFinder.Result
变更记录
v1.0.0 添加
功能描述
在集合中查找或筛选
KClass
Array.findClass - ext-method
fun Array<KClass<*>>.findClass(initiate: KClassConditions): KClassFinder.Result
fun Array<String>.findClass(loader: ClassLoader?, initialize: Boolean, initiate: KClassConditions): KClassFinder.Result
fun Array<KType>.findClass(initiate: KClassConditions): KClassFinder.Result
变更记录
v1.0.0 添加
功能描述
在数组中查找或筛选
KClass
Collection.findType - ext-method
fun Collection<KType>.findType(classSet: KClass<*>?): KType
fun <reified T> Collection<KType>.findType(): KType
变更记录
v1.0.0 添加
功能描述
在集合中查找
KType
Array.findType - ext-method
fun Array<KType>.findType(classSet: KClass<*>?): KType
fun <reified T> Array<KType>.findType(): KType
变更记录
v1.0.0 添加
功能描述
在数组中查找
KType
KFunction.instance - ext-method
fun KFunction<*>.instance(thisRef: Any?, extensionRef: Any?, isUseMember: Boolean): KFunctionFinder.Result.Instance
变更记录
v1.0.0 添加
功能描述
将
KFunction转换为KFunctionFinder.Result.Instance可执行类
KFunction.constructor - ext-method
fun KFunction<*>.constructor(isUseMember: Boolean): KConstructorFinder.Result.Instance
变更记录
v1.0.0 添加
功能描述
将 Constructor
KFunction转换为KConstructorFinder.Result.Instance可执行类
KProperty.instance - ext-method
fun KProperty<*>.instance(thisRef: Any?, extensionRef: Any?, isUseMember: Boolean): KPropertyFinder.Result.Instance
变更记录
v1.0.0 添加
功能描述
将
KProperty转换为KPropertyFinder.Result.Instance可执行类
KConstructorFinder.attach - ext-method
fun <R> KConstructorFinder.attach(function: KFunction<R>, loader: ClassLoader?, isUseMember: Boolean): Unit
变更记录
v1.0.0 添加
功能描述
将构造函数
KFunction相关内容附加到KConstructorFinder中。
KPropertyFinder.attach - ext-method
fun <R> KPropertyFinder.attach(property: KProperty<R>, loader: ClassLoader?, isUseMember: Boolean): Unit
fun <R> KPropertyFinder.attachStatic(property: KProperty0<R>, loader: ClassLoader?, isUseMember: Boolean): Unit
fun <ExpandThis, R> KPropertyFinder.attach(property: KProperty2<*, ExpandThis, R>, loader: ClassLoader?, isUseMember: Boolean): Unit
变更记录
v1.0.0 添加
功能描述
将属性
KProperty相关内容附加到KPropertyFinder中。
BindingInstanceSupport - class
open class BindingInstanceSupport<T>(
private val thisRefClass: KClass<*>,
private var thisRef: Any?,
private val extensionRef: Any?,
private val isUseMember: Boolean,
private val isLazy: Boolean,
private val mappingRules: KPropertyFinder.(property: KProperty<*>) -> Unit
)
变更记录
v1.0.0 新增
功能描述
委托绑定映射
KProperty实例。
KClass.bindProperty - ext-method
fun <T> KClass<*>.bindProperty(
thisRef: Any?,
extensionRef: Any?,
isUseMember: Boolean,
isLazy: Boolean,
mappingRules: KPropertyFinder.(property: KProperty<*>) -> Unit
): BindingInstanceSupport.NonNull<T>
fun <T> KClass<*>.bindPropertyOrNull(
thisRef: Any?,
extensionRef: Any?,
isUseMember: Boolean,
isLazy: Boolean,
mappingRules: KPropertyFinder.(property: KProperty<*>) -> Unit
): BindingInstanceSupport.Nullable<T>
变更记录
v1.0.0 添加
功能描述
与指定
KProperty取得/绑定映射关系
BindingInstanceSignatureSupport - class
open class BindingInstanceSignatureSupport<T>(
private val thisRefClass: KClass<*>,
private var thisRef: Any?,
private val declaringClass: KClass<*>? = null,
private val loader: ClassLoader? = null,
private val isLazy: Boolean,
private val mappingRules: KPropertySignatureFinder.(property: KProperty<*>) -> Unit
)
变更记录
v1.0.0 新增
功能描述
委托绑定映射
KPropertySignature实例。
KClass.bindPropertySignature - ext-method
fun <T> KClass<*>.bindPropertySignature(
thisRef: Any?,
declaringClass: KClass<*>? = null,
loader: ClassLoader? = null,
isLazy: Boolean,
mappingRules: KPropertySignatureFinder.(property: KProperty<*>) -> Unit
): BindingInstanceSupport.NonNull<T>
fun <T> KClass<*>.bindPropertySignatureOrNull(
thisRef: Any?,
declaringClass: KClass<*>? = null,
loader: ClassLoader? = null,
isLazy: Boolean,
mappingRules: KPropertySignatureFinder.(property: KProperty<*>) -> Unit
): BindingInstanceSupport.Nullable<T>
变更记录
v1.0.0 添加
功能描述
与指定
KPropertySignature取得/绑定映射关系
