Modify change FieldCondition, MethodCondition, ConstructorCondition to FieldConditions, MethodConditions, ConstructorConditions in ReflectionFactory

This commit is contained in:
2022-09-11 22:45:49 +08:00
parent 1212ecf68f
commit bff53aabcd
12 changed files with 48 additions and 48 deletions

View File

@@ -169,7 +169,7 @@ inner class RemedyPlan internal constructor()
#### constructor *- method* #### constructor *- method*
```kotlin ```kotlin
inline fun constructor(initiate: ConstructorCondition) inline fun constructor(initiate: ConstructorConditions)
``` ```
**变更记录** **变更记录**

View File

@@ -61,7 +61,7 @@ fun superClass(): SuperClass
### field *- method* ### field *- method*
```kotlin ```kotlin
inline fun field(initiate: FieldCondition): FieldFinder.Result.Instance inline fun field(initiate: FieldConditions): FieldFinder.Result.Instance
``` ```
**变更记录** **变更记录**
@@ -75,7 +75,7 @@ inline fun field(initiate: FieldCondition): FieldFinder.Result.Instance
### method *- method* ### method *- method*
```kotlin ```kotlin
inline fun method(initiate: MethodCondition): MethodFinder.Result.Instance inline fun method(initiate: MethodConditions): MethodFinder.Result.Instance
``` ```
**变更记录** **变更记录**
@@ -131,7 +131,7 @@ val simpleName: String
#### field *- method* #### field *- method*
```kotlin ```kotlin
inline fun field(initiate: FieldCondition): FieldFinder.Result.Instance inline fun field(initiate: FieldConditions): FieldFinder.Result.Instance
``` ```
**变更记录** **变更记录**
@@ -145,7 +145,7 @@ inline fun field(initiate: FieldCondition): FieldFinder.Result.Instance
#### method *- method* #### method *- method*
```kotlin ```kotlin
inline fun method(initiate: MethodCondition): MethodFinder.Result.Instance inline fun method(initiate: MethodConditions): MethodFinder.Result.Instance
``` ```
**变更记录** **变更记录**

View File

@@ -189,7 +189,7 @@ inner class RemedyPlan internal constructor()
#### field *- method* #### field *- method*
```kotlin ```kotlin
inline fun field(initiate: FieldCondition): Result inline fun field(initiate: FieldConditions): Result
``` ```
**变更记录** **变更记录**

View File

@@ -271,7 +271,7 @@ inner class RemedyPlan internal constructor()
#### method *- method* #### method *- method*
```kotlin ```kotlin
inline fun method(initiate: MethodCondition): Result inline fun method(initiate: MethodConditions): Result
``` ```
**变更记录** **变更记录**

View File

@@ -258,7 +258,7 @@ inline fun Class<*>.hasField(initiate: FieldCondition): Boolean
### Class.hasMethod *- ext-method* ### Class.hasMethod *- ext-method*
```kotlin ```kotlin
inline fun Class<*>.hasMethod(initiate: MethodCondition): Boolean inline fun Class<*>.hasMethod(initiate: MethodConditions): Boolean
``` ```
**变更记录** **变更记录**
@@ -284,7 +284,7 @@ inline fun Class<*>.hasMethod(initiate: MethodCondition): Boolean
### Class.hasConstructor *- ext-method* ### Class.hasConstructor *- ext-method*
```kotlin ```kotlin
inline fun Class<*>.hasConstructor(initiate: ConstructorCondition): Boolean inline fun Class<*>.hasConstructor(initiate: ConstructorConditions): Boolean
``` ```
**变更记录** **变更记录**
@@ -370,7 +370,7 @@ inline fun Class<*>.hasModifiers(initiate: ModifierRules.() -> Unit): Boolean
### Class.field *- ext-method* ### Class.field *- ext-method*
```kotlin ```kotlin
inline fun Class<*>.field(initiate: FieldCondition): FieldFinder.Result inline fun Class<*>.field(initiate: FieldConditions): FieldFinder.Result
``` ```
**变更记录** **变更记录**
@@ -388,7 +388,7 @@ inline fun Class<*>.field(initiate: FieldCondition): FieldFinder.Result
### Class.method *- ext-method* ### Class.method *- ext-method*
```kotlin ```kotlin
inline fun Class<*>.method(initiate: MethodCondition): MethodFinder.Result inline fun Class<*>.method(initiate: MethodConditions): MethodFinder.Result
``` ```
**变更记录** **变更记录**
@@ -416,7 +416,7 @@ inline fun Class<*>.method(initiate: MethodCondition): MethodFinder.Result
### Class.constructor *- ext-method* ### Class.constructor *- ext-method*
```kotlin ```kotlin
inline fun Class<*>.constructor(initiate: ConstructorCondition): ConstructorFinder.Result inline fun Class<*>.constructor(initiate: ConstructorConditions): ConstructorFinder.Result
``` ```
**变更记录** **变更记录**
@@ -504,11 +504,11 @@ inline fun <reified T : Any> T.current(ignored: Boolean, initiate: CurrentClass.
### Class.buildOf *- ext-method* ### Class.buildOf *- ext-method*
```kotlin ```kotlin
inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorCondition): Any? inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditions): Any?
``` ```
```kotlin ```kotlin
inline fun <T> Class<*>.buildOf(vararg param: Any?, initiate: ConstructorCondition): T? inline fun <T> Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditions): T?
``` ```
**变更记录** **变更记录**

View File

@@ -279,7 +279,7 @@ fun allMembers(type: MembersType)
#### method *- method* #### method *- method*
```kotlin ```kotlin
inline fun method(initiate: MethodCondition): MethodFinder.Result inline fun method(initiate: MethodConditions): MethodFinder.Result
``` ```
**变更记录** **变更记录**
@@ -334,7 +334,7 @@ injectMember {
#### constructor *- method* #### constructor *- method*
```kotlin ```kotlin
inline fun constructor(initiate: ConstructorCondition): ConstructorFinder.Result inline fun constructor(initiate: ConstructorConditions): ConstructorFinder.Result
``` ```
**变更记录** **变更记录**
@@ -382,7 +382,7 @@ injectMember {
#### HookParam.field *- i-ext-method* #### HookParam.field *- i-ext-method*
```kotlin ```kotlin
inline fun HookParam.field(initiate: FieldCondition): FieldFinder.Result inline fun HookParam.field(initiate: FieldConditions): FieldFinder.Result
``` ```
**变更记录** **变更记录**
@@ -423,7 +423,7 @@ injectMember {
#### HookParam.method *- i-ext-method* #### HookParam.method *- i-ext-method*
```kotlin ```kotlin
inline fun HookParam.method(initiate: MethodCondition): MethodFinder.Result inline fun HookParam.method(initiate: MethodConditions): MethodFinder.Result
``` ```
**变更记录** **变更记录**
@@ -441,7 +441,7 @@ inline fun HookParam.method(initiate: MethodCondition): MethodFinder.Result
#### HookParam.constructor *- i-ext-method* #### HookParam.constructor *- i-ext-method*
```kotlin ```kotlin
inline fun HookParam.constructor(initiate: ConstructorCondition): ConstructorFinder.Result inline fun HookParam.constructor(initiate: ConstructorConditions): ConstructorFinder.Result
``` ```
**变更记录** **变更记录**

View File

@@ -31,8 +31,8 @@ package com.highcapable.yukihookapi.hook.bean
import com.highcapable.yukihookapi.hook.core.finder.members.FieldFinder import com.highcapable.yukihookapi.hook.core.finder.members.FieldFinder
import com.highcapable.yukihookapi.hook.core.finder.members.MethodFinder import com.highcapable.yukihookapi.hook.core.finder.members.MethodFinder
import com.highcapable.yukihookapi.hook.factory.FieldCondition import com.highcapable.yukihookapi.hook.factory.FieldConditions
import com.highcapable.yukihookapi.hook.factory.MethodCondition import com.highcapable.yukihookapi.hook.factory.MethodConditions
import com.highcapable.yukihookapi.hook.factory.field import com.highcapable.yukihookapi.hook.factory.field
import com.highcapable.yukihookapi.hook.factory.method import com.highcapable.yukihookapi.hook.factory.method
@@ -70,14 +70,14 @@ class CurrentClass @PublishedApi internal constructor(@PublishedApi internal val
* @param initiate 查找方法体 * @param initiate 查找方法体
* @return [FieldFinder.Result.Instance] * @return [FieldFinder.Result.Instance]
*/ */
inline fun field(initiate: FieldCondition) = classSet.field(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance) inline fun field(initiate: FieldConditions) = classSet.field(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance)
/** /**
* 调用当前实例中的方法 * 调用当前实例中的方法
* @param initiate 查找方法体 * @param initiate 查找方法体
* @return [MethodFinder.Result.Instance] * @return [MethodFinder.Result.Instance]
*/ */
inline fun method(initiate: MethodCondition) = classSet.method(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance) inline fun method(initiate: MethodConditions) = classSet.method(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance)
/** /**
* 当前类的父类实例的类操作对象 * 当前类的父类实例的类操作对象
@@ -111,14 +111,14 @@ class CurrentClass @PublishedApi internal constructor(@PublishedApi internal val
* @param initiate 查找方法体 * @param initiate 查找方法体
* @return [FieldFinder.Result.Instance] * @return [FieldFinder.Result.Instance]
*/ */
inline fun field(initiate: FieldCondition) = superClassSet.field(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance) inline fun field(initiate: FieldConditions) = superClassSet.field(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance)
/** /**
* 调用父类实例中的方法 * 调用父类实例中的方法
* @param initiate 查找方法体 * @param initiate 查找方法体
* @return [MethodFinder.Result.Instance] * @return [MethodFinder.Result.Instance]
*/ */
inline fun method(initiate: MethodCondition) = superClassSet.method(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance) inline fun method(initiate: MethodConditions) = superClassSet.method(initiate).result { if (isShutErrorPrinting) ignored() }.get(instance)
override fun toString() = "CurrentClass super [${superClassSet}]" override fun toString() = "CurrentClass super [${superClassSet}]"
} }

View File

@@ -325,7 +325,7 @@ class YukiMemberHookCreator(@PublishedApi internal val packageParam: PackagePara
* @param initiate 方法体 * @param initiate 方法体
* @return [MethodFinder.Process] * @return [MethodFinder.Process]
*/ */
inline fun method(initiate: MethodCondition) = runCatching { inline fun method(initiate: MethodConditions) = runCatching {
isHookMemberSetup = true isHookMemberSetup = true
MethodFinder(hookInstance = this, hookClass.instance).apply(initiate).apply { finder = this }.process() MethodFinder(hookInstance = this, hookClass.instance).apply(initiate).apply { finder = this }.process()
}.getOrElse { }.getOrElse {
@@ -340,7 +340,7 @@ class YukiMemberHookCreator(@PublishedApi internal val packageParam: PackagePara
* @param initiate 方法体 * @param initiate 方法体
* @return [ConstructorFinder.Process] * @return [ConstructorFinder.Process]
*/ */
inline fun constructor(initiate: ConstructorCondition = { emptyParam() }) = runCatching { inline fun constructor(initiate: ConstructorConditions = { emptyParam() }) = runCatching {
isHookMemberSetup = true isHookMemberSetup = true
ConstructorFinder(hookInstance = this, hookClass.instance).apply(initiate).apply { finder = this }.process() ConstructorFinder(hookInstance = this, hookClass.instance).apply(initiate).apply { finder = this }.process()
}.getOrElse { }.getOrElse {
@@ -353,7 +353,7 @@ class YukiMemberHookCreator(@PublishedApi internal val packageParam: PackagePara
* @param initiate 方法体 * @param initiate 方法体
* @return [FieldFinder.Result] * @return [FieldFinder.Result]
*/ */
inline fun HookParam.field(initiate: FieldCondition) = inline fun HookParam.field(initiate: FieldConditions) =
if (hookClass.instance == null) FieldFinder(hookInstance = this@MemberHookCreator).failure(hookClass.throwable) if (hookClass.instance == null) FieldFinder(hookInstance = this@MemberHookCreator).failure(hookClass.throwable)
else FieldFinder(hookInstance = this@MemberHookCreator, hookClass.instance).apply(initiate).build() else FieldFinder(hookInstance = this@MemberHookCreator, hookClass.instance).apply(initiate).build()
@@ -362,7 +362,7 @@ class YukiMemberHookCreator(@PublishedApi internal val packageParam: PackagePara
* @param initiate 方法体 * @param initiate 方法体
* @return [MethodFinder.Result] * @return [MethodFinder.Result]
*/ */
inline fun HookParam.method(initiate: MethodCondition) = inline fun HookParam.method(initiate: MethodConditions) =
if (hookClass.instance == null) MethodFinder(hookInstance = this@MemberHookCreator).failure(hookClass.throwable) if (hookClass.instance == null) MethodFinder(hookInstance = this@MemberHookCreator).failure(hookClass.throwable)
else MethodFinder(hookInstance = this@MemberHookCreator, hookClass.instance).apply(initiate).build() else MethodFinder(hookInstance = this@MemberHookCreator, hookClass.instance).apply(initiate).build()
@@ -371,7 +371,7 @@ class YukiMemberHookCreator(@PublishedApi internal val packageParam: PackagePara
* @param initiate 方法体 * @param initiate 方法体
* @return [ConstructorFinder.Result] * @return [ConstructorFinder.Result]
*/ */
inline fun HookParam.constructor(initiate: ConstructorCondition = { emptyParam() }) = inline fun HookParam.constructor(initiate: ConstructorConditions = { emptyParam() }) =
if (hookClass.instance == null) ConstructorFinder(hookInstance = this@MemberHookCreator).failure(hookClass.throwable) if (hookClass.instance == null) ConstructorFinder(hookInstance = this@MemberHookCreator).failure(hookClass.throwable)
else ConstructorFinder(hookInstance = this@MemberHookCreator, hookClass.instance).apply(initiate).build() else ConstructorFinder(hookInstance = this@MemberHookCreator, hookClass.instance).apply(initiate).build()

View File

@@ -37,7 +37,7 @@ import com.highcapable.yukihookapi.hook.core.finder.base.MemberBaseFinder
import com.highcapable.yukihookapi.hook.core.finder.members.data.ConstructorRulesData import com.highcapable.yukihookapi.hook.core.finder.members.data.ConstructorRulesData
import com.highcapable.yukihookapi.hook.core.finder.type.ModifierRules import com.highcapable.yukihookapi.hook.core.finder.type.ModifierRules
import com.highcapable.yukihookapi.hook.core.reflex.tools.ReflectionTool import com.highcapable.yukihookapi.hook.core.reflex.tools.ReflectionTool
import com.highcapable.yukihookapi.hook.factory.ConstructorCondition import com.highcapable.yukihookapi.hook.factory.ConstructorConditions
import com.highcapable.yukihookapi.hook.factory.checkingInternal import com.highcapable.yukihookapi.hook.factory.checkingInternal
import com.highcapable.yukihookapi.hook.factory.hasExtends import com.highcapable.yukihookapi.hook.factory.hasExtends
import com.highcapable.yukihookapi.hook.log.yLoggerW import com.highcapable.yukihookapi.hook.log.yLoggerW
@@ -249,7 +249,7 @@ class ConstructorFinder @PublishedApi internal constructor(
* 若最后依然失败 - 将停止查找并输出错误日志 * 若最后依然失败 - 将停止查找并输出错误日志
* @param initiate 方法体 * @param initiate 方法体
*/ */
inline fun constructor(initiate: ConstructorCondition) = inline fun constructor(initiate: ConstructorConditions) =
Result().apply { remedyPlans.add(Pair(ConstructorFinder(hookInstance, classSet).apply(initiate), this)) } Result().apply { remedyPlans.add(Pair(ConstructorFinder(hookInstance, classSet).apply(initiate), this)) }
/** 开始重查找 */ /** 开始重查找 */

View File

@@ -39,7 +39,7 @@ import com.highcapable.yukihookapi.hook.core.finder.members.data.FieldRulesData
import com.highcapable.yukihookapi.hook.core.finder.type.ModifierRules import com.highcapable.yukihookapi.hook.core.finder.type.ModifierRules
import com.highcapable.yukihookapi.hook.core.finder.type.NameConditions import com.highcapable.yukihookapi.hook.core.finder.type.NameConditions
import com.highcapable.yukihookapi.hook.core.reflex.tools.ReflectionTool import com.highcapable.yukihookapi.hook.core.reflex.tools.ReflectionTool
import com.highcapable.yukihookapi.hook.factory.FieldCondition import com.highcapable.yukihookapi.hook.factory.FieldConditions
import com.highcapable.yukihookapi.hook.factory.checkingInternal import com.highcapable.yukihookapi.hook.factory.checkingInternal
import com.highcapable.yukihookapi.hook.factory.current import com.highcapable.yukihookapi.hook.factory.current
import com.highcapable.yukihookapi.hook.factory.hasExtends import com.highcapable.yukihookapi.hook.factory.hasExtends
@@ -228,7 +228,7 @@ class FieldFinder @PublishedApi internal constructor(
* @param initiate 方法体 * @param initiate 方法体
* @return [Result] 结果 * @return [Result] 结果
*/ */
inline fun field(initiate: FieldCondition) = inline fun field(initiate: FieldConditions) =
Result().apply { remedyPlans.add(Pair(FieldFinder(hookInstance, classSet).apply(initiate), this)) } Result().apply { remedyPlans.add(Pair(FieldFinder(hookInstance, classSet).apply(initiate), this)) }
/** 开始重查找 */ /** 开始重查找 */

View File

@@ -38,7 +38,7 @@ import com.highcapable.yukihookapi.hook.core.finder.members.data.MethodRulesData
import com.highcapable.yukihookapi.hook.core.finder.type.ModifierRules import com.highcapable.yukihookapi.hook.core.finder.type.ModifierRules
import com.highcapable.yukihookapi.hook.core.finder.type.NameConditions import com.highcapable.yukihookapi.hook.core.finder.type.NameConditions
import com.highcapable.yukihookapi.hook.core.reflex.tools.ReflectionTool import com.highcapable.yukihookapi.hook.core.reflex.tools.ReflectionTool
import com.highcapable.yukihookapi.hook.factory.MethodCondition import com.highcapable.yukihookapi.hook.factory.MethodConditions
import com.highcapable.yukihookapi.hook.factory.checkingInternal import com.highcapable.yukihookapi.hook.factory.checkingInternal
import com.highcapable.yukihookapi.hook.factory.hasExtends import com.highcapable.yukihookapi.hook.factory.hasExtends
import com.highcapable.yukihookapi.hook.log.yLoggerW import com.highcapable.yukihookapi.hook.log.yLoggerW
@@ -322,7 +322,7 @@ class MethodFinder @PublishedApi internal constructor(
* @param initiate 方法体 * @param initiate 方法体
* @return [Result] 结果 * @return [Result] 结果
*/ */
inline fun method(initiate: MethodCondition) = inline fun method(initiate: MethodConditions) =
Result().apply { remedyPlans.add(Pair(MethodFinder(hookInstance, classSet).apply(initiate), this)) } Result().apply { remedyPlans.add(Pair(MethodFinder(hookInstance, classSet).apply(initiate), this)) }
/** 开始重查找 */ /** 开始重查找 */

View File

@@ -43,13 +43,13 @@ import java.lang.reflect.Member
import java.lang.reflect.Method import java.lang.reflect.Method
/** 定义 [FieldFinder] 方法体类型 */ /** 定义 [FieldFinder] 方法体类型 */
internal typealias FieldCondition = FieldFinder.() -> Unit internal typealias FieldConditions = FieldFinder.() -> Unit
/** 定义 [MethodFinder] 方法体类型 */ /** 定义 [MethodFinder] 方法体类型 */
internal typealias MethodCondition = MethodFinder.() -> Unit internal typealias MethodConditions = MethodFinder.() -> Unit
/** 定义 [ConstructorFinder] 方法体类型 */ /** 定义 [ConstructorFinder] 方法体类型 */
internal typealias ConstructorCondition = ConstructorFinder.() -> Unit internal typealias ConstructorConditions = ConstructorFinder.() -> Unit
/** /**
* 定义一个 [Class] 中的 [Member] 类型 * 定义一个 [Class] 中的 [Member] 类型
@@ -111,21 +111,21 @@ fun String.hasClass(loader: ClassLoader? = null) = ReflectionTool.hasClassByName
* @param initiate 方法体 * @param initiate 方法体
* @return [Boolean] 是否存在 * @return [Boolean] 是否存在
*/ */
inline fun Class<*>.hasField(initiate: FieldCondition) = field(initiate).ignored().isNoSuch.not() inline fun Class<*>.hasField(initiate: FieldConditions) = field(initiate).ignored().isNoSuch.not()
/** /**
* 查找方法是否存在 * 查找方法是否存在
* @param initiate 方法体 * @param initiate 方法体
* @return [Boolean] 是否存在 * @return [Boolean] 是否存在
*/ */
inline fun Class<*>.hasMethod(initiate: MethodCondition) = method(initiate).ignored().isNoSuch.not() inline fun Class<*>.hasMethod(initiate: MethodConditions) = method(initiate).ignored().isNoSuch.not()
/** /**
* 查找构造方法是否存在 * 查找构造方法是否存在
* @param initiate 方法体 * @param initiate 方法体
* @return [Boolean] 是否存在 * @return [Boolean] 是否存在
*/ */
inline fun Class<*>.hasConstructor(initiate: ConstructorCondition = { emptyParam() }) = constructor(initiate).ignored().isNoSuch.not() inline fun Class<*>.hasConstructor(initiate: ConstructorConditions = { emptyParam() }) = constructor(initiate).ignored().isNoSuch.not()
/** /**
* 查询 [Member] 中匹配的描述符 * 查询 [Member] 中匹配的描述符
@@ -146,21 +146,21 @@ inline fun Class<*>.hasModifiers(initiate: ModifierRules.() -> Unit) = ModifierR
* @param initiate 查找方法体 * @param initiate 查找方法体
* @return [FieldFinder.Result] * @return [FieldFinder.Result]
*/ */
inline fun Class<*>.field(initiate: FieldCondition) = FieldFinder(classSet = this).apply(initiate).build() inline fun Class<*>.field(initiate: FieldConditions) = FieldFinder(classSet = this).apply(initiate).build()
/** /**
* 查找并得到方法 * 查找并得到方法
* @param initiate 查找方法体 * @param initiate 查找方法体
* @return [MethodFinder.Result] * @return [MethodFinder.Result]
*/ */
inline fun Class<*>.method(initiate: MethodCondition) = MethodFinder(classSet = this).apply(initiate).build() inline fun Class<*>.method(initiate: MethodConditions) = MethodFinder(classSet = this).apply(initiate).build()
/** /**
* 查找并得到构造方法 * 查找并得到构造方法
* @param initiate 查找方法体 * @param initiate 查找方法体
* @return [ConstructorFinder.Result] * @return [ConstructorFinder.Result]
*/ */
inline fun Class<*>.constructor(initiate: ConstructorCondition = { emptyParam() }) = ConstructorFinder(classSet = this).apply(initiate).build() inline fun Class<*>.constructor(initiate: ConstructorConditions = { emptyParam() }) = ConstructorFinder(classSet = this).apply(initiate).build()
/** /**
* 获得当前实例的类操作对象 * 获得当前实例的类操作对象
@@ -192,7 +192,7 @@ inline fun <reified T : Any> T.current(ignored: Boolean = false, initiate: Curre
* @return [Any] or null * @return [Any] or null
*/ */
@Deprecated(message = "请使用新的命名方法", replaceWith = ReplaceWith(expression = "buildOf(*param, initiate)")) @Deprecated(message = "请使用新的命名方法", replaceWith = ReplaceWith(expression = "buildOf(*param, initiate)"))
fun Class<*>.buildOfAny(vararg param: Any?, initiate: ConstructorCondition = { emptyParam() }) = buildOf(*param, initiate) fun Class<*>.buildOfAny(vararg param: Any?, initiate: ConstructorConditions = { emptyParam() }) = buildOf(*param, initiate)
/** /**
* 通过构造方法创建新实例 - 任意类型 [Any] * 通过构造方法创建新实例 - 任意类型 [Any]
@@ -200,7 +200,7 @@ fun Class<*>.buildOfAny(vararg param: Any?, initiate: ConstructorCondition = { e
* @param initiate 查找方法体 * @param initiate 查找方法体
* @return [Any] or null * @return [Any] or null
*/ */
inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorCondition = { emptyParam() }) = inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditions = { emptyParam() }) =
constructor(initiate).get().call(*param) constructor(initiate).get().call(*param)
/** /**
@@ -210,7 +210,7 @@ inline fun Class<*>.buildOf(vararg param: Any?, initiate: ConstructorCondition =
* @return [T] or null * @return [T] or null
*/ */
@JvmName(name = "buildOf_Generics") @JvmName(name = "buildOf_Generics")
inline fun <T> Class<*>.buildOf(vararg param: Any?, initiate: ConstructorCondition = { emptyParam() }) = inline fun <T> Class<*>.buildOf(vararg param: Any?, initiate: ConstructorConditions = { emptyParam() }) =
constructor(initiate).get().newInstance<T>(*param) constructor(initiate).get().newInstance<T>(*param)
/** /**