mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-04 09:45:19 +08:00
Changed Finder function
This commit is contained in:
@@ -28,7 +28,7 @@ var paramCount: Int
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> `Constructor` 参数个数。
|
||||
> 设置 `Constructor` 参数个数。
|
||||
|
||||
你可以不使用 `param` 指定参数类型而是仅使用此变量指定参数个数。
|
||||
|
||||
@@ -46,12 +46,26 @@ fun modifiers(initiate: ModifierRules.() -> Unit): IndexTypeCondition
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> `Constructor` 筛选条件。
|
||||
> 设置 `Constructor` 标识符筛选条件。
|
||||
|
||||
可不设置筛选条件,默认模糊查找并取第一个匹配的 `Constructor`。
|
||||
|
||||
!> 存在多个 `IndexTypeCondition` 时除了 `order` 只会生效最后一个。
|
||||
|
||||
### emptyParam [method]
|
||||
|
||||
```kotlin
|
||||
fun emptyParam(): IndexTypeCondition
|
||||
```
|
||||
|
||||
<b>变更记录</b>
|
||||
|
||||
`v1.0.75` `新增`
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> 设置 `Constructor` 空参数、无参数。
|
||||
|
||||
### param [method]
|
||||
|
||||
```kotlin
|
||||
@@ -64,16 +78,36 @@ fun param(vararg paramType: Any): IndexTypeCondition
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> `Constructor` 参数。
|
||||
> 设置 `Constructor` 参数。
|
||||
|
||||
如果同时使用了 `paramCount` 则 `paramTypes` 的数量必须与 `paramCount` 完全匹配。
|
||||
|
||||
!> 无参 `Constructor` 不要使用此方法。
|
||||
!> 无参 `Constructor` 请使用 `emptyParam` 设置查询条件。
|
||||
|
||||
!> 有参 `Constructor` 必须使用此方法设定参数或使用 `paramCount` 指定个数。
|
||||
|
||||
!> 存在多个 `IndexTypeCondition` 时除了 `order` 只会生效最后一个。
|
||||
|
||||
### paramCount [method]
|
||||
|
||||
```kotlin
|
||||
fun paramCount(num: Int): IndexTypeCondition
|
||||
```
|
||||
|
||||
<b>变更记录</b>
|
||||
|
||||
`v1.0.70` `新增`
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> 设置 `Constructor` 参数个数。
|
||||
|
||||
你可以不使用 `param` 指定参数类型而是仅使用此方法指定参数个数。
|
||||
|
||||
若参数个数小于零则忽略并使用 `param`。
|
||||
|
||||
!> 存在多个 `IndexTypeCondition` 时除了 `order` 只会生效最后一个。
|
||||
|
||||
### RemedyPlan [class]
|
||||
|
||||
```kotlin
|
||||
|
@@ -40,7 +40,7 @@ var name: String
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> `Field` 名称。
|
||||
> 设置 `Field` 名称。
|
||||
|
||||
!> 若不填写名称则必须存在一个其它条件。
|
||||
|
||||
@@ -56,7 +56,7 @@ var type: Any?
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> `Field` 类型。
|
||||
> 设置 `Field` 类型。
|
||||
|
||||
可不填写类型,默认模糊查找并取第一个匹配的 `Field`。
|
||||
|
||||
@@ -72,7 +72,7 @@ fun modifiers(initiate: ModifierRules.() -> Unit): IndexTypeCondition
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> `Field` 筛选条件。
|
||||
> 设置 `Field` 标识符筛选条件。
|
||||
|
||||
可不设置筛选条件,默认模糊查找并取第一个匹配的 `Field`。
|
||||
|
||||
@@ -104,7 +104,7 @@ fun name(value: String): IndexTypeCondition
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> `Field` 名称。
|
||||
> 设置 `Field` 名称。
|
||||
|
||||
!> 若不填写名称则必须存在一个其它条件,默认模糊查找并取第一个匹配的 `Field`。
|
||||
|
||||
@@ -122,7 +122,7 @@ fun type(value: Any): IndexTypeCondition
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> `Field` 类型。
|
||||
> 设置 `Field` 类型。
|
||||
|
||||
!> 可不填写类型,默认模糊查找并取第一个匹配的 `Field`。
|
||||
|
||||
|
@@ -26,7 +26,7 @@ val args: Array<Any?>
|
||||
|
||||
> 获取当前 Hook 对象 `member` 或 `constructor` 的参数对象数组。
|
||||
|
||||
### ~~firstArgs [field]~~
|
||||
### ~~firstArgs [field]~~ <!-- {docsify-ignore} -->
|
||||
|
||||
<b>变更记录</b>
|
||||
|
||||
@@ -36,7 +36,7 @@ val args: Array<Any?>
|
||||
|
||||
请使用 `args(index = 0)` 或 `args().first()`
|
||||
|
||||
### ~~lastArgs [field]~~
|
||||
### ~~lastArgs [field]~~ <!-- {docsify-ignore} -->
|
||||
|
||||
<b>变更记录</b>
|
||||
|
||||
@@ -132,7 +132,7 @@ inline fun <reified T> result(): T?
|
||||
|
||||
> 获取当前 Hook 对象的 `method` 或 `constructor` 的返回值 `T`。
|
||||
|
||||
### ~~firstArgs [method]~~
|
||||
### ~~firstArgs [method]~~ <!-- {docsify-ignore} -->
|
||||
|
||||
<b>变更记录</b>
|
||||
|
||||
@@ -140,7 +140,7 @@ inline fun <reified T> result(): T?
|
||||
|
||||
`v1.0.75` `移除`
|
||||
|
||||
### ~~lastArgs [method]~~
|
||||
### ~~lastArgs [method]~~ <!-- {docsify-ignore} -->
|
||||
|
||||
<b>变更记录</b>
|
||||
|
||||
|
@@ -32,7 +32,7 @@ var name: String
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> `Method` 名称。
|
||||
> 设置 `Method` 名称。
|
||||
|
||||
!> 若不填写名称则必须存在一个其它条件。
|
||||
|
||||
@@ -48,7 +48,7 @@ var paramCount: Int
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> `Method` 参数个数。
|
||||
> 设置 `Method` 参数个数。
|
||||
|
||||
你可以不使用 `param` 指定参数类型而是仅使用此变量指定参数个数。
|
||||
|
||||
@@ -66,7 +66,7 @@ var returnType: Any?
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> `Method` 返回值,可不填写返回值,默认模糊查找并取第一个匹配的 `Method`。
|
||||
> 设置 `Method` 返回值,可不填写返回值,默认模糊查找并取第一个匹配的 `Method`。
|
||||
|
||||
### modifiers [method]
|
||||
|
||||
@@ -80,12 +80,26 @@ fun modifiers(initiate: ModifierRules.() -> Unit): IndexTypeCondition
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> `Method` 筛选条件。
|
||||
> 设置 `Method` 标识符筛选条件。
|
||||
|
||||
可不设置筛选条件,默认模糊查找并取第一个匹配的 `Method`。
|
||||
|
||||
!> 存在多个 `IndexTypeCondition` 时除了 `order` 只会生效最后一个。
|
||||
|
||||
### emptyParam [method]
|
||||
|
||||
```kotlin
|
||||
fun emptyParam(): IndexTypeCondition
|
||||
```
|
||||
|
||||
<b>变更记录</b>
|
||||
|
||||
`v1.0.75` `新增`
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> 设置 `Method` 空参数、无参数。
|
||||
|
||||
### param [method]
|
||||
|
||||
```kotlin
|
||||
@@ -98,11 +112,11 @@ fun param(vararg paramType: Any): IndexTypeCondition
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> `Method` 参数。
|
||||
> 设置 `Method` 参数。
|
||||
|
||||
如果同时使用了 `paramCount` 则 `paramTypes` 的数量必须与 `paramCount` 完全匹配。
|
||||
|
||||
!> 无参 `Method` 不要使用此方法。
|
||||
!> 无参 `Method` 请使用 `emptyParam` 设置查询条件。
|
||||
|
||||
!> 有参 `Method` 必须使用此方法设定参数或使用 `paramCount` 指定个数。
|
||||
|
||||
@@ -134,7 +148,7 @@ fun name(value: String): IndexTypeCondition
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> `Method` 名称。
|
||||
> 设置 `Method` 名称。
|
||||
|
||||
!> 若不填写名称则必须存在一个其它条件,默认模糊查找并取第一个匹配的 `Method`。
|
||||
|
||||
@@ -152,7 +166,7 @@ fun paramCount(num: Int): IndexTypeCondition
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> `Method` 参数个数。
|
||||
> 设置 `Method` 参数个数。
|
||||
|
||||
你可以不使用 `param` 指定参数类型而是仅使用此方法指定参数个数。
|
||||
|
||||
@@ -172,7 +186,7 @@ fun returnType(value: Any): IndexTypeCondition
|
||||
|
||||
<b>功能描述</b>
|
||||
|
||||
> `Method` 返回值。
|
||||
> 设置 `Method` 返回值。
|
||||
|
||||
可不填写返回值,默认模糊查找并取第一个匹配的 `Method`。
|
||||
|
||||
|
@@ -683,7 +683,7 @@ TargetClass.hook {
|
||||
|
||||
你必须在 `hook` 方法体内加入至少一个 `injectMember` 方法。
|
||||
|
||||
!> `IllegalStateException` paramTypes is empty, please delete param() method
|
||||
!> `IllegalStateException` paramTypes is empty, please use emptyParam() instead
|
||||
|
||||
<b>异常原因</b>
|
||||
|
||||
@@ -693,11 +693,34 @@ TargetClass.hook {
|
||||
|
||||
```kotlin
|
||||
method {
|
||||
// 没有填写任何参数
|
||||
name = "test"
|
||||
// 括号内没有填写任何参数
|
||||
param()
|
||||
}
|
||||
```
|
||||
|
||||
<b>解决方案</b>
|
||||
|
||||
若要标识此方法、构造方法没有参数,你可以什么都不写或设置 `paramCount = 0` 即可。
|
||||
若要标识此方法、构造方法没有参数,你可以有如下设置方法。
|
||||
|
||||
第一种,设置 `emptyParam` (推荐)
|
||||
|
||||
> 示例如下
|
||||
|
||||
```kotlin
|
||||
method {
|
||||
name = "test"
|
||||
emptyParam()
|
||||
}
|
||||
```
|
||||
|
||||
第二种,设置 `paramCount = 0`
|
||||
|
||||
> 示例如下
|
||||
|
||||
```kotlin
|
||||
method {
|
||||
name = "test"
|
||||
paramCount = 0
|
||||
}
|
||||
```
|
Reference in New Issue
Block a user