5.8 KiB
ReflectionFactory [kt]
变更记录
v1.0
添加
功能描述
这是自定义
Member
和Class
相关功能的查找匹配以及invoke
的封装类。
hasClass [field]
val String.hasClass: Boolean
变更记录
v1.0
添加
功能描述
通过字符串查找类是否存在。
功能示例
你可以轻松的使用此方法判断字符串中的类是否存在。
!> 此查找仅限使用当前的 ClassLoader
,若要指定 ClassLoader
请使用下方的 hasClass
同名方法。
示例如下
if("com.example.demo.DemoClass".hasClass) {
// Your code here.
}
hookClass [field]
val Class<*>.hookClass: HookClass
变更记录
v1.0
添加
功能描述
将
Class
转换为HookClass
。
normalClass [field]
val HookClass.normalClass: Class<*>?
变更记录
v1.0
添加
功能描述
将
HookClass
转换为Class
。
classOf [method]
fun classOf(name: String, loader: ClassLoader?): Class<*>
变更记录
v1.0
添加
功能描述
通过字符串使用指定的
ClassLoader
转换为实体类。
功能示例
你可以直接填写你要查找的目标 Class
,必须在当前 ClassLoader
下存在。
示例如下
classOf(name = "com.example.demo.DemoClass")
你还可以自定义 Class
所在的 ClassLoader
。
示例如下
classOf(name = "com.example.demo.DemoClass", classLoader)
hasClass [method]
fun String.hasClass(loader: ClassLoader?): Boolean
变更记录
v1.0
添加
功能描述
通过字符串使用指定的
ClassLoader
查找类是否存在。
hasField [method]
fun Class<*>.hasField(initiate: FieldFinder.() -> Unit): Boolean
变更记录
v1.0.4
新增
v1.0.67
修改
合并到 FieldFinder
功能描述
查找变量是否存在。
hasMethod [method]
fun Class<*>.hasMethod(initiate: MethodFinder.() -> Unit): Boolean
变更记录
v1.0
添加
v1.0.1
修改
新增 returnType
参数
v1.0.67
修改
合并到 MethodFinder
功能描述
查找方法是否存在。
hasConstructor [method]
fun Class<*>.hasConstructor(initiate: ConstructorFinder.() -> Unit): Boolean
变更记录
v1.0.2
新增
v1.0.67
修改
合并到 ConstructorFinder
功能描述
查找构造方法是否存在。
hasModifiers [method]
fun Member.hasModifiers(initiate: ModifierRules.() -> Unit): Boolean
变更记录
v1.0.67
新增
功能描述
查询
Member
中匹配的描述符。
obtainStaticFieldAny [method]
变更记录
v1.0
添加
v1.0.1
移除
obtainFieldAny [method]
变更记录
v1.0
添加
v1.0.1
移除
modifyStaticField [method]
变更记录
v1.0
添加
v1.0.1
移除
modifyField [method]
变更记录
v1.0
添加
v1.0.1
移除
field [method]
fun Class<*>.field(initiate: FieldFinder.() -> Unit): FieldFinder.Result
变更记录
v1.0.2
新增
功能描述
查找并得到变量。
method [method]
fun Class<*>.method(initiate: MethodFinder.() -> Unit): MethodFinder.Result
变更记录
v1.0
添加
v1.0.1
修改
更名为 obtainMethod
method
新增 returnType
参数
v1.0.2
修改
合并到 MethodFinder
方法体。
功能描述
查找并得到方法。
constructor [method]
fun Class<*>.constructor(initiate: ConstructorFinder.() -> Unit): ConstructorFinder.Result
变更记录
v1.0
添加
v1.0.1
修改
更名为 obtainConstructor
constructor
v1.0.2
修改
合并到 ConstructorFinder
方法体。
功能描述
查找并得到构造类。
callStatic [method]
变更记录
v1.0
添加
v1.0.1
修改
更名为 invokeStatic
callStatic
v1.0.2
移除
call [method]
变更记录
v1.0
添加
v1.0.1
修改
更名为 invokeAny
call
v1.0.2
移除
current [method]
inline fun <reified T : Any> T.current(initiate: CurrentClass.() -> Unit): T
变更记录
v1.0.70
新增
功能描述
获得当前实例的类操作对象。
buildOf [method]
fun <T> Class<*>.buildOf(vararg param: Any?, initiate: ConstructorFinder.() -> Unit): T?
变更记录
v1.0.70
新增
功能描述
通过构造方法创建新实例,指定类型
T
。
buildOfAny [method]
fun Class<*>.buildOfAny(vararg param: Any?, initiate: ConstructorFinder.() -> Unit): Any?
变更记录
v1.0.70
新增
功能描述
通过构造方法创建新实例,任意类型
Any
。
allMethods [method]
fun Class<*>.allMethods(callback: (index: Int, method: Method) -> Unit)
变更记录
v1.0.70
新增
功能描述
遍历当前类中的所有方法。
allConstructors [method]
fun Class<*>.allConstructors(callback: (index: Int, constructor: Constructor<*>) -> Unit)
变更记录
v1.0.70
新增
功能描述
遍历当前类中的所有构造方法。
allFields [method]
fun Class<*>.allFields(callback: (index: Int, field: Field) -> Unit)
变更记录
v1.0.70
新增
功能描述
遍历当前类中的所有变量。