mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-04 09:45:19 +08:00
Fix typo "查询" with "查找" in code note and documentation
This commit is contained in:
@@ -262,7 +262,7 @@ class YukiMemberHookCreator(@PublishedApi internal val packageParam: PackagePara
|
||||
/**
|
||||
* 手动指定要 Hook 的 [Method]、[Constructor]
|
||||
*
|
||||
* 你可以调用 [instanceClass] 来手动查询要 Hook 的 [Method]、[Constructor]
|
||||
* 你可以调用 [instanceClass] 来手动查找要 Hook 的 [Method]、[Constructor]
|
||||
*
|
||||
* - ❗不建议使用此方法设置目标需要 Hook 的 [Member] 对象 - 你可以使用 [method] or [constructor] 方法
|
||||
*
|
||||
|
@@ -40,7 +40,7 @@ import kotlin.math.abs
|
||||
*/
|
||||
abstract class BaseFinder {
|
||||
|
||||
/** 当前查询条件规则数据 */
|
||||
/** 当前查找条件规则数据 */
|
||||
@PublishedApi
|
||||
internal abstract val rulesData: BaseRulesData
|
||||
|
||||
|
@@ -35,7 +35,7 @@ import com.highcapable.yukihookapi.hook.type.defined.VagueType
|
||||
import java.lang.reflect.Member
|
||||
|
||||
/**
|
||||
* 这是 [Class] 与 [Member] 规则查询数据基本类实现
|
||||
* 这是 [Class] 与 [Member] 规则查找数据基本类实现
|
||||
* @param modifiers 描述符条件
|
||||
* @param orderIndex 字节码、数组顺序下标
|
||||
* @param matchIndex 字节码、数组筛选下标
|
||||
|
@@ -113,7 +113,7 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 设置 [Class] 完整名称
|
||||
*
|
||||
* 只会查询匹配到的 [Class.getName]
|
||||
* 只会查找匹配到的 [Class.getName]
|
||||
*
|
||||
* 例如 com.demo.Test 需要填写 com.demo.Test
|
||||
* @return [String]
|
||||
@@ -127,7 +127,7 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 设置 [Class] 简单名称
|
||||
*
|
||||
* 只会查询匹配到的 [Class.getSimpleName]
|
||||
* 只会查找匹配到的 [Class.getSimpleName]
|
||||
*
|
||||
* 例如 com.demo.Test 只需要填写 Test
|
||||
*
|
||||
@@ -157,9 +157,9 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置在指定包名范围查询当前 [Class]
|
||||
* 设置在指定包名范围查找当前 [Class]
|
||||
*
|
||||
* 设置后仅会在当前 [name] 开头匹配的包名路径下进行查询 - 可提升查询速度
|
||||
* 设置后仅会在当前 [name] 开头匹配的包名路径下进行查找 - 可提升查找速度
|
||||
*
|
||||
* 例如 ↓
|
||||
*
|
||||
@@ -167,7 +167,7 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
*
|
||||
* com.demo.test.demo
|
||||
*
|
||||
* - ❗建议设置此参数指定查询范围 - 否则 [Class] 过多时将会非常慢
|
||||
* - ❗建议设置此参数指定查找范围 - 否则 [Class] 过多时将会非常慢
|
||||
* @param name 指定包名
|
||||
* @return [FromPackageRules] 可设置 [FromPackageRules.absolute] 标识包名绝对匹配
|
||||
*/
|
||||
@@ -189,7 +189,7 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 设置 [Class] 完整名称
|
||||
*
|
||||
* 只会查询匹配到的 [Class.getName]
|
||||
* 只会查找匹配到的 [Class.getName]
|
||||
*
|
||||
* 例如 com.demo.Test 需要填写 com.demo.Test
|
||||
* @param value 名称
|
||||
@@ -203,7 +203,7 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 设置 [Class] 简单名称
|
||||
*
|
||||
* 只会查询匹配到的 [Class.getSimpleName]
|
||||
* 只会查找匹配到的 [Class.getSimpleName]
|
||||
*
|
||||
* 例如 com.demo.Test 只需要填写 Test
|
||||
*
|
||||
@@ -235,7 +235,7 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 设置 [Class] 完整名称条件
|
||||
*
|
||||
* 只会查询匹配到的 [Class.getName]
|
||||
* 只会查找匹配到的 [Class.getName]
|
||||
* @param conditions 条件方法体
|
||||
*/
|
||||
fun fullName(conditions: NameConditions) {
|
||||
@@ -245,7 +245,7 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 设置 [Class] 简单名称条件
|
||||
*
|
||||
* 只会查询匹配到的 [Class.getSimpleName]
|
||||
* 只会查找匹配到的 [Class.getSimpleName]
|
||||
* @param conditions 条件方法体
|
||||
*/
|
||||
fun simpleName(conditions: NameConditions) {
|
||||
@@ -270,7 +270,7 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 设置 [Class] 继承的父类
|
||||
*
|
||||
* 会同时查询 [name] 中所有匹配的父类
|
||||
* 会同时查找 [name] 中所有匹配的父类
|
||||
* @param name [Class] 完整名称
|
||||
*/
|
||||
fun extends(vararg name: String) {
|
||||
@@ -285,7 +285,7 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 设置 [Class] 实现的接口类
|
||||
*
|
||||
* 会同时查询 [name] 中所有匹配的接口类
|
||||
* 会同时查找 [name] 中所有匹配的接口类
|
||||
* @param name [Class] 完整名称
|
||||
*/
|
||||
fun implements(vararg name: String) {
|
||||
@@ -343,7 +343,7 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 设置 [Class] 匿名类的 (封闭类) 主类
|
||||
*
|
||||
* 会同时查询 [name] 中所有匹配的 (封闭类) 主类
|
||||
* 会同时查找 [name] 中所有匹配的 (封闭类) 主类
|
||||
* @param name [Class] 完整名称
|
||||
*/
|
||||
fun enclosing(vararg name: String) {
|
||||
@@ -393,7 +393,7 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
*
|
||||
* 此时可设置类名为 "com.demo.Test" (fullName) / "Test" (simpleName)
|
||||
*
|
||||
* 这样就可在完全匹配类名情况下使用类名而忽略其它查询条件 - 否则忽略此条件继续使用其它查询条件
|
||||
* 这样就可在完全匹配类名情况下使用类名而忽略其它查找条件 - 否则忽略此条件继续使用其它查找条件
|
||||
*/
|
||||
fun optional() {
|
||||
name.isOptional = true
|
||||
@@ -528,7 +528,7 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
*
|
||||
* - 若有多个 [Class] 结果只会返回第一个
|
||||
*
|
||||
* - 在查询条件找不到任何结果的时候将返回 null
|
||||
* - 在查找条件找不到任何结果的时候将返回 null
|
||||
*
|
||||
* - ❗若你设置了 [async] 请使用 [wait] 方法
|
||||
* @return [Class] or null
|
||||
@@ -538,9 +538,9 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 得到 [Class] 本身数组
|
||||
*
|
||||
* - 返回全部查询条件匹配的多个 [Class] 实例
|
||||
* - 返回全部查找条件匹配的多个 [Class] 实例
|
||||
*
|
||||
* - 在查询条件找不到任何结果的时候将返回空的 [HashSet]
|
||||
* - 在查找条件找不到任何结果的时候将返回空的 [HashSet]
|
||||
*
|
||||
* - ❗若你设置了 [async] 请使用 [waitAll] 方法
|
||||
* @return [HashSet]<[Class]>
|
||||
@@ -550,9 +550,9 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 得到 [Class] 本身数组 (依次遍历)
|
||||
*
|
||||
* - 回调全部查询条件匹配的多个 [Class] 实例
|
||||
* - 回调全部查找条件匹配的多个 [Class] 实例
|
||||
*
|
||||
* - 在查询条件找不到任何结果的时候将不会执行
|
||||
* - 在查找条件找不到任何结果的时候将不会执行
|
||||
*
|
||||
* - ❗若你设置了 [async] 请使用 [waitAll] 方法
|
||||
* @param result 回调每个结果
|
||||
@@ -568,7 +568,7 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
*
|
||||
* - 若有多个 [Class] 结果只会回调第一个
|
||||
*
|
||||
* - 在查询条件找不到任何结果的时候将回调 null
|
||||
* - 在查找条件找不到任何结果的时候将回调 null
|
||||
*
|
||||
* - ❗你需要设置 [async] 后此方法才会被回调 - 否则请使用 [get] 方法
|
||||
* @param result 回调 - ([Class] or null)
|
||||
@@ -582,9 +582,9 @@ class DexClassFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 得到 [Class] 本身数组 (异步)
|
||||
*
|
||||
* - 回调全部查询条件匹配的多个 [Class] 实例
|
||||
* - 回调全部查找条件匹配的多个 [Class] 实例
|
||||
*
|
||||
* - 在查询条件找不到任何结果的时候将回调空的 [HashSet]
|
||||
* - 在查找条件找不到任何结果的时候将回调空的 [HashSet]
|
||||
*
|
||||
* - ❗你需要设置 [async] 后此方法才会被回调 - 否则请使用 [all] 方法
|
||||
* @param result 回调 - ([HashSet]<[Class]>)
|
||||
|
@@ -42,7 +42,7 @@ import java.lang.reflect.Member
|
||||
import java.lang.reflect.Method
|
||||
|
||||
/**
|
||||
* [Class] 规则查询数据类
|
||||
* [Class] 规则查找数据类
|
||||
* @param fromPackages 指定包名范围名称数组
|
||||
* @param fullName 完整名称
|
||||
* @param simpleName 简单名称
|
||||
@@ -56,10 +56,10 @@ import java.lang.reflect.Method
|
||||
* @param extendsClass 继承的父类名称数组
|
||||
* @param implementsClass 实现的接口类名称数组
|
||||
* @param enclosingClass 包含的封闭类 (主类) 名称数组
|
||||
* @param memberRules [Member] 查询条件数据数组
|
||||
* @param fieldRules [Field] 查询条件数据数组
|
||||
* @param methodRules [Method] 查询条件数据数组
|
||||
* @param constroctorRules [Constructor] 查询条件数据数组
|
||||
* @param memberRules [Member] 查找条件数据数组
|
||||
* @param fieldRules [Field] 查找条件数据数组
|
||||
* @param methodRules [Method] 查找条件数据数组
|
||||
* @param constroctorRules [Constructor] 查找条件数据数组
|
||||
*/
|
||||
@PublishedApi
|
||||
internal class ClassRulesData internal constructor(
|
||||
@@ -83,14 +83,14 @@ internal class ClassRulesData internal constructor(
|
||||
) : BaseRulesData() {
|
||||
|
||||
/**
|
||||
* 创建类名匹配条件查询数据类
|
||||
* 创建类名匹配条件查找数据类
|
||||
* @param name 包名
|
||||
* @return [NameRulesData]
|
||||
*/
|
||||
internal fun createNameRulesData(name: String) = NameRulesData(name)
|
||||
|
||||
/**
|
||||
* 创建包名范围名称过滤匹配条件查询数据类
|
||||
* 创建包名范围名称过滤匹配条件查找数据类
|
||||
* @param name 包名
|
||||
* @return [PackageRulesData]
|
||||
*/
|
||||
@@ -105,7 +105,7 @@ internal class ClassRulesData internal constructor(
|
||||
?: instance.enclosingClass?.let { it.simpleName + instance.name.replace(it.name, newValue = "") } ?: ""
|
||||
|
||||
/**
|
||||
* 类名匹配条件查询数据类
|
||||
* 类名匹配条件查找数据类
|
||||
* @param name 包名
|
||||
* @param isOptional 是否可选 - 默认否
|
||||
*/
|
||||
@@ -137,7 +137,7 @@ internal class ClassRulesData internal constructor(
|
||||
}
|
||||
|
||||
/**
|
||||
* 包名范围名称过滤匹配条件查询数据类
|
||||
* 包名范围名称过滤匹配条件查找数据类
|
||||
* @param name 包名
|
||||
* @param isAbsolute 是否绝对匹配 - 默认否
|
||||
*/
|
||||
|
@@ -40,8 +40,8 @@ import com.highcapable.yukihookapi.hook.type.defined.VagueType
|
||||
import java.lang.reflect.Constructor
|
||||
|
||||
/**
|
||||
* [Constructor] 查询条件实现类
|
||||
* @param rulesData 当前查询条件规则数据
|
||||
* [Constructor] 查找条件实现类
|
||||
* @param rulesData 当前查找条件规则数据
|
||||
*/
|
||||
class ConstructorRules internal constructor(@PublishedApi internal val rulesData: ConstructorRulesData) : BaseRules() {
|
||||
|
||||
@@ -93,7 +93,7 @@ class ConstructorRules internal constructor(@PublishedApi internal val rulesData
|
||||
* param(StringType, BooleanType, VagueType, IntType)
|
||||
* ```
|
||||
*
|
||||
* - ❗无参 [Constructor] 请使用 [emptyParam] 设置查询条件
|
||||
* - ❗无参 [Constructor] 请使用 [emptyParam] 设置查找条件
|
||||
*
|
||||
* - ❗有参 [Constructor] 必须使用此方法设定参数或使用 [paramCount] 指定个数
|
||||
* @param paramType 参数类型数组 - ❗只能是 [Class]、[String]、[VariousClass]
|
||||
|
@@ -36,8 +36,8 @@ import com.highcapable.yukihookapi.hook.core.finder.type.factory.NameConditions
|
||||
import java.lang.reflect.Field
|
||||
|
||||
/**
|
||||
* [Field] 查询条件实现类
|
||||
* @param rulesData 当前查询条件规则数据
|
||||
* [Field] 查找条件实现类
|
||||
* @param rulesData 当前查找条件规则数据
|
||||
*/
|
||||
class FieldRules internal constructor(@PublishedApi internal val rulesData: FieldRulesData) : BaseRules() {
|
||||
|
||||
|
@@ -34,8 +34,8 @@ import com.highcapable.yukihookapi.hook.core.finder.type.factory.ModifierConditi
|
||||
import java.lang.reflect.Member
|
||||
|
||||
/**
|
||||
* [Member] 查询条件实现类
|
||||
* @param rulesData 当前查询条件规则数据
|
||||
* [Member] 查找条件实现类
|
||||
* @param rulesData 当前查找条件规则数据
|
||||
*/
|
||||
class MemberRules internal constructor(@PublishedApi internal val rulesData: MemberRulesData) : BaseRules() {
|
||||
|
||||
|
@@ -41,8 +41,8 @@ import com.highcapable.yukihookapi.hook.type.defined.VagueType
|
||||
import java.lang.reflect.Method
|
||||
|
||||
/**
|
||||
* [Method] 查询条件实现类
|
||||
* @param rulesData 当前查询条件规则数据
|
||||
* [Method] 查找条件实现类
|
||||
* @param rulesData 当前查找条件规则数据
|
||||
*/
|
||||
class MethodRules internal constructor(@PublishedApi internal val rulesData: MethodRulesData) : BaseRules() {
|
||||
|
||||
@@ -118,7 +118,7 @@ class MethodRules internal constructor(@PublishedApi internal val rulesData: Met
|
||||
* param(StringType, BooleanType, VagueType, IntType)
|
||||
* ```
|
||||
*
|
||||
* - ❗无参 [Method] 请使用 [emptyParam] 设置查询条件
|
||||
* - ❗无参 [Method] 请使用 [emptyParam] 设置查找条件
|
||||
*
|
||||
* - ❗有参 [Method] 必须使用此方法设定参数或使用 [paramCount] 指定个数
|
||||
* @param paramType 参数类型数组 - ❗只能是 [Class]、[String]、[VariousClass]
|
||||
|
@@ -39,7 +39,7 @@ import com.highcapable.yukihookapi.hook.core.finder.members.data.MethodRulesData
|
||||
import java.lang.reflect.Member
|
||||
|
||||
/**
|
||||
* [Member] 查询条件实现父类
|
||||
* [Member] 查找条件实现父类
|
||||
* @param instance 当前查找类实例
|
||||
*/
|
||||
open class BaseRules internal constructor(internal var instance: DexClassFinder? = null) {
|
||||
@@ -48,7 +48,7 @@ open class BaseRules internal constructor(internal var instance: DexClassFinder?
|
||||
internal companion object {
|
||||
|
||||
/**
|
||||
* 创建查询条件规则数据
|
||||
* 创建查找条件规则数据
|
||||
* @param instance 当前查找类实例
|
||||
* @return [MemberRulesData]
|
||||
*/
|
||||
@@ -57,7 +57,7 @@ open class BaseRules internal constructor(internal var instance: DexClassFinder?
|
||||
MemberRules(MemberRulesData().apply { instance.rulesData.memberRules.add(this) }).apply { this.instance = instance }
|
||||
|
||||
/**
|
||||
* 创建查询条件规则数据
|
||||
* 创建查找条件规则数据
|
||||
* @return [FieldRulesData]
|
||||
*/
|
||||
@PublishedApi
|
||||
@@ -65,7 +65,7 @@ open class BaseRules internal constructor(internal var instance: DexClassFinder?
|
||||
FieldRules(FieldRulesData().apply { instance.rulesData.fieldRules.add(this) }).apply { this.instance = instance }
|
||||
|
||||
/**
|
||||
* 创建查询条件规则数据
|
||||
* 创建查找条件规则数据
|
||||
* @return [MethodRulesData]
|
||||
*/
|
||||
@PublishedApi
|
||||
@@ -73,7 +73,7 @@ open class BaseRules internal constructor(internal var instance: DexClassFinder?
|
||||
MethodRules(MethodRulesData().apply { instance.rulesData.methodRules.add(this) }).apply { this.instance = instance }
|
||||
|
||||
/**
|
||||
* 创建查询条件规则数据
|
||||
* 创建查找条件规则数据
|
||||
* @return [ConstructorRulesData]
|
||||
*/
|
||||
@PublishedApi
|
||||
|
@@ -34,19 +34,19 @@ import com.highcapable.yukihookapi.hook.core.finder.type.factory.CountConditions
|
||||
import java.lang.reflect.Member
|
||||
|
||||
/**
|
||||
* 当前 [Member] 查询条件结果实现类
|
||||
* @param rulesData 当前查询条件规则数据
|
||||
* 当前 [Member] 查找条件结果实现类
|
||||
* @param rulesData 当前查找条件规则数据
|
||||
*/
|
||||
class MemberRulesResult internal constructor(private val rulesData: MemberRulesData) {
|
||||
|
||||
/**
|
||||
* 设置当前 [Member] 在查询条件中个数为 0
|
||||
* 设置当前 [Member] 在查找条件中个数为 0
|
||||
* @return [MemberRulesResult] 可继续向下监听
|
||||
*/
|
||||
fun none() = count(num = 0)
|
||||
|
||||
/**
|
||||
* 设置当前 [Member] 在查询条件中需要全部匹配的个数
|
||||
* 设置当前 [Member] 在查找条件中需要全部匹配的个数
|
||||
* @param num 个数
|
||||
* @return [MemberRulesResult] 可继续向下监听
|
||||
*/
|
||||
@@ -56,7 +56,7 @@ class MemberRulesResult internal constructor(private val rulesData: MemberRulesD
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置当前 [Member] 在查询条件中需要全部匹配的个数范围
|
||||
* 设置当前 [Member] 在查找条件中需要全部匹配的个数范围
|
||||
*
|
||||
* 使用示例如下 ↓
|
||||
*
|
||||
@@ -72,7 +72,7 @@ class MemberRulesResult internal constructor(private val rulesData: MemberRulesD
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置当前 [Member] 在查询条件中需要全部匹配的个数条件
|
||||
* 设置当前 [Member] 在查找条件中需要全部匹配的个数条件
|
||||
*
|
||||
* 使用示例如下 ↓
|
||||
*
|
||||
|
@@ -124,7 +124,7 @@ class ConstructorFinder @PublishedApi internal constructor(
|
||||
* param(StringType, BooleanType, VagueType, IntType)
|
||||
* ```
|
||||
*
|
||||
* - ❗无参 [Constructor] 请使用 [emptyParam] 设置查询条件
|
||||
* - ❗无参 [Constructor] 请使用 [emptyParam] 设置查找条件
|
||||
*
|
||||
* - ❗有参 [Constructor] 必须使用此方法设定参数或使用 [paramCount] 指定个数
|
||||
*
|
||||
@@ -369,7 +369,7 @@ class ConstructorFinder @PublishedApi internal constructor(
|
||||
inline fun result(initiate: Process.() -> Unit) = apply(initiate)
|
||||
|
||||
/**
|
||||
* 设置全部查询条件匹配的多个 [Constructor] 实例结果到 [hookInstance]
|
||||
* 设置全部查找条件匹配的多个 [Constructor] 实例结果到 [hookInstance]
|
||||
* @return [Process] 可继续向下监听
|
||||
*/
|
||||
fun all(): Process {
|
||||
@@ -445,7 +445,7 @@ class ConstructorFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 获得 [Constructor] 实例处理类数组
|
||||
*
|
||||
* - 返回全部查询条件匹配的多个 [Constructor] 实例结果
|
||||
* - 返回全部查找条件匹配的多个 [Constructor] 实例结果
|
||||
*
|
||||
* - ❗在 [memberInstances] 结果为空时使用此方法将无法获得对象
|
||||
*
|
||||
@@ -459,7 +459,7 @@ class ConstructorFinder @PublishedApi internal constructor(
|
||||
*
|
||||
* - 若有多个 [Constructor] 结果只会返回第一个
|
||||
*
|
||||
* - 在查询条件找不到任何结果的时候将返回 null
|
||||
* - 在查找条件找不到任何结果的时候将返回 null
|
||||
* @return [Constructor] or null
|
||||
*/
|
||||
fun give() = giveAll().takeIf { it.isNotEmpty() }?.first()
|
||||
@@ -467,9 +467,9 @@ class ConstructorFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 得到 [Constructor] 本身数组
|
||||
*
|
||||
* - 返回全部查询条件匹配的多个 [Constructor] 实例
|
||||
* - 返回全部查找条件匹配的多个 [Constructor] 实例
|
||||
*
|
||||
* - 在查询条件找不到任何结果的时候将返回空的 [HashSet]
|
||||
* - 在查找条件找不到任何结果的时候将返回空的 [HashSet]
|
||||
* @return [HashSet]<[Constructor]>
|
||||
*/
|
||||
fun giveAll() = memberInstances.takeIf { it.isNotEmpty() }?.constructors() ?: HashSet()
|
||||
@@ -492,7 +492,7 @@ class ConstructorFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 获得 [Constructor] 实例处理类数组
|
||||
*
|
||||
* - 返回全部查询条件匹配的多个 [Constructor] 实例结果
|
||||
* - 返回全部查找条件匹配的多个 [Constructor] 实例结果
|
||||
*
|
||||
* - ❗若你设置了 [remedys] 必须使用此方法才能获得结果
|
||||
*
|
||||
|
@@ -324,7 +324,7 @@ class FieldFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 获得 [Field] 实例处理类数组
|
||||
*
|
||||
* - 返回全部查询条件匹配的多个 [Field] 实例结果
|
||||
* - 返回全部查找条件匹配的多个 [Field] 实例结果
|
||||
*
|
||||
* - ❗在 [memberInstances] 结果为空时使用此方法将无法获得对象
|
||||
*
|
||||
@@ -342,7 +342,7 @@ class FieldFinder @PublishedApi internal constructor(
|
||||
*
|
||||
* - 若有多个 [Field] 结果只会返回第一个
|
||||
*
|
||||
* - 在查询条件找不到任何结果的时候将返回 null
|
||||
* - 在查找条件找不到任何结果的时候将返回 null
|
||||
* @return [Field] or null
|
||||
*/
|
||||
fun give() = giveAll().takeIf { it.isNotEmpty() }?.first()
|
||||
@@ -350,9 +350,9 @@ class FieldFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 得到 [Field] 本身数组
|
||||
*
|
||||
* - 返回全部查询条件匹配的多个 [Field] 实例
|
||||
* - 返回全部查找条件匹配的多个 [Field] 实例
|
||||
*
|
||||
* - 在查询条件找不到任何结果的时候将返回空的 [HashSet]
|
||||
* - 在查找条件找不到任何结果的时候将返回空的 [HashSet]
|
||||
* @return [HashSet]<[Field]>
|
||||
*/
|
||||
fun giveAll() = memberInstances.takeIf { it.isNotEmpty() }?.fields() ?: HashSet()
|
||||
@@ -376,7 +376,7 @@ class FieldFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 获得 [Field] 实例处理类数组
|
||||
*
|
||||
* - 返回全部查询条件匹配的多个 [Field] 实例结果
|
||||
* - 返回全部查找条件匹配的多个 [Field] 实例结果
|
||||
*
|
||||
* - ❗若你设置了 [remedys] 必须使用此方法才能获得结果
|
||||
*
|
||||
|
@@ -154,7 +154,7 @@ class MethodFinder @PublishedApi internal constructor(
|
||||
* param(StringType, BooleanType, VagueType, IntType)
|
||||
* ```
|
||||
*
|
||||
* - ❗无参 [Method] 请使用 [emptyParam] 设置查询条件
|
||||
* - ❗无参 [Method] 请使用 [emptyParam] 设置查找条件
|
||||
*
|
||||
* - ❗有参 [Method] 必须使用此方法设定参数或使用 [paramCount] 指定个数
|
||||
*
|
||||
@@ -442,7 +442,7 @@ class MethodFinder @PublishedApi internal constructor(
|
||||
inline fun result(initiate: Process.() -> Unit) = apply(initiate)
|
||||
|
||||
/**
|
||||
* 设置全部查询条件匹配的多个 [Method] 实例结果到 [hookInstance]
|
||||
* 设置全部查找条件匹配的多个 [Method] 实例结果到 [hookInstance]
|
||||
* @return [Process] 可继续向下监听
|
||||
*/
|
||||
fun all(): Process {
|
||||
@@ -519,7 +519,7 @@ class MethodFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 获得 [Method] 实例处理类数组
|
||||
*
|
||||
* - 返回全部查询条件匹配的多个 [Method] 实例结果
|
||||
* - 返回全部查找条件匹配的多个 [Method] 实例结果
|
||||
*
|
||||
* - ❗在 [memberInstances] 结果为空时使用此方法将无法获得对象
|
||||
*
|
||||
@@ -535,7 +535,7 @@ class MethodFinder @PublishedApi internal constructor(
|
||||
*
|
||||
* - 若有多个 [Method] 结果只会返回第一个
|
||||
*
|
||||
* - 在查询条件找不到任何结果的时候将返回 null
|
||||
* - 在查找条件找不到任何结果的时候将返回 null
|
||||
* @return [Method] or null
|
||||
*/
|
||||
fun give() = giveAll().takeIf { it.isNotEmpty() }?.first()
|
||||
@@ -543,9 +543,9 @@ class MethodFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 得到 [Method] 本身数组
|
||||
*
|
||||
* - 返回全部查询条件匹配的多个 [Method] 实例
|
||||
* - 返回全部查找条件匹配的多个 [Method] 实例
|
||||
*
|
||||
* - 在查询条件找不到任何结果的时候将返回空的 [HashSet]
|
||||
* - 在查找条件找不到任何结果的时候将返回空的 [HashSet]
|
||||
* @return [HashSet]<[Method]>
|
||||
*/
|
||||
fun giveAll() = memberInstances.takeIf { it.isNotEmpty() }?.methods() ?: HashSet()
|
||||
@@ -569,7 +569,7 @@ class MethodFinder @PublishedApi internal constructor(
|
||||
/**
|
||||
* 获得 [Method] 实例处理类数组
|
||||
*
|
||||
* - 返回全部查询条件匹配的多个 [Method] 实例结果
|
||||
* - 返回全部查找条件匹配的多个 [Method] 实例结果
|
||||
*
|
||||
* - ❗若你设置了 [remedys] 必须使用此方法才能获得结果
|
||||
*
|
||||
|
@@ -31,7 +31,7 @@ import com.highcapable.yukihookapi.hook.core.finder.type.factory.CountConditions
|
||||
import java.lang.reflect.Constructor
|
||||
|
||||
/**
|
||||
* [Constructor] 规则查询数据类
|
||||
* [Constructor] 规则查找数据类
|
||||
* @param paramTypes 参数类型数组
|
||||
* @param paramCount 参数个数
|
||||
* @param paramCountRange 参数个数范围
|
||||
|
@@ -31,7 +31,7 @@ import com.highcapable.yukihookapi.hook.core.finder.type.factory.NameConditions
|
||||
import java.lang.reflect.Field
|
||||
|
||||
/**
|
||||
* [Field] 规则查询数据类
|
||||
* [Field] 规则查找数据类
|
||||
* @param name 名称
|
||||
* @param nameConditions 名称规则
|
||||
* @param type 类型
|
||||
|
@@ -33,7 +33,7 @@ import com.highcapable.yukihookapi.hook.core.finder.type.factory.CountConditions
|
||||
import java.lang.reflect.Member
|
||||
|
||||
/**
|
||||
* [Member] 规则查询数据类
|
||||
* [Member] 规则查找数据类
|
||||
* @param isFindInSuper 是否在未找到后继续在父类中查找
|
||||
* @param matchCount 匹配的字节码个数
|
||||
* @param matchCountRange 匹配的字节码个数范围
|
||||
|
@@ -32,7 +32,7 @@ import com.highcapable.yukihookapi.hook.core.finder.type.factory.NameConditions
|
||||
import java.lang.reflect.Method
|
||||
|
||||
/**
|
||||
* [Method] 规则查询数据类
|
||||
* [Method] 规则查找数据类
|
||||
* @param name 名称
|
||||
* @param nameConditions 名称规则
|
||||
* @param paramTypes 参数类型数组
|
||||
|
@@ -86,7 +86,7 @@ internal object ReflectionTool {
|
||||
}.orEmpty().also { if (it.isNotEmpty()) ReflectsCacheStore.putDexClassList(loader.hashCode(), it) }
|
||||
|
||||
/**
|
||||
* 使用字符串类名查询 [Class] 是否存在
|
||||
* 使用字符串类名查找 [Class] 是否存在
|
||||
* @param name [Class] 完整名称
|
||||
* @param loader [Class] 所在的 [ClassLoader]
|
||||
* @return [Boolean]
|
||||
@@ -115,7 +115,7 @@ internal object ReflectionTool {
|
||||
/**
|
||||
* 查找任意 [Class] 或一组 [Class]
|
||||
* @param loaderSet 类所在 [ClassLoader]
|
||||
* @param rulesData 规则查询数据
|
||||
* @param rulesData 规则查找数据
|
||||
* @return [HashSet]<[Class]>
|
||||
* @throws IllegalStateException 如果 [loaderSet] 为 null 或未设置任何条件
|
||||
* @throws NoClassDefFoundError 如果找不到 [Class]
|
||||
@@ -123,7 +123,7 @@ internal object ReflectionTool {
|
||||
internal fun findClasses(loaderSet: ClassLoader?, rulesData: ClassRulesData) = rulesData.createResult {
|
||||
ReflectsCacheStore.findClasses(hashCode(loaderSet)) ?: hashSetOf<Class<*>>().also { classes ->
|
||||
/**
|
||||
* 开始查询作业
|
||||
* 开始查找作业
|
||||
* @param instance 当前 [Class] 实例
|
||||
*/
|
||||
fun startProcess(instance: Class<*>) {
|
||||
@@ -249,7 +249,7 @@ internal object ReflectionTool {
|
||||
/**
|
||||
* 查找任意 [Field] 或一组 [Field]
|
||||
* @param classSet [Field] 所在类
|
||||
* @param rulesData 规则查询数据
|
||||
* @param rulesData 规则查找数据
|
||||
* @return [HashSet]<[Field]>
|
||||
* @throws IllegalStateException 如果未设置任何条件或 [FieldRulesData.type] 目标类不存在
|
||||
* @throws NoSuchFieldError 如果找不到 [Field]
|
||||
@@ -303,7 +303,7 @@ internal object ReflectionTool {
|
||||
/**
|
||||
* 查找任意 [Method] 或一组 [Method]
|
||||
* @param classSet [Method] 所在类
|
||||
* @param rulesData 规则查询数据
|
||||
* @param rulesData 规则查找数据
|
||||
* @return [HashSet]<[Method]>
|
||||
* @throws IllegalStateException 如果未设置任何条件或 [MethodRulesData.paramTypes] 以及 [MethodRulesData.returnType] 目标类不存在
|
||||
* @throws NoSuchMethodError 如果找不到 [Method]
|
||||
@@ -394,7 +394,7 @@ internal object ReflectionTool {
|
||||
/**
|
||||
* 查找任意 [Constructor] 或一组 [Constructor]
|
||||
* @param classSet [Constructor] 所在类
|
||||
* @param rulesData 规则查询数据
|
||||
* @param rulesData 规则查找数据
|
||||
* @return [HashSet]<[Constructor]>
|
||||
* @throws IllegalStateException 如果未设置任何条件或 [ConstructorRulesData.paramTypes] 目标类不存在
|
||||
* @throws NoSuchMethodError 如果找不到 [Constructor]
|
||||
|
@@ -148,14 +148,14 @@ inline fun Class<*>.hasMethod(initiate: MethodConditions) = method(initiate).ign
|
||||
inline fun Class<*>.hasConstructor(initiate: ConstructorConditions = { emptyParam() }) = constructor(initiate).ignored().isNoSuch.not()
|
||||
|
||||
/**
|
||||
* 查询 [Member] 中匹配的描述符
|
||||
* 查找 [Member] 中匹配的描述符
|
||||
* @param conditions 条件方法体
|
||||
* @return [Boolean] 是否存在
|
||||
*/
|
||||
inline fun Member.hasModifiers(conditions: ModifierConditions) = conditions(ModifierRules.with(instance = this))
|
||||
|
||||
/**
|
||||
* 查询 [Class] 中匹配的描述符
|
||||
* 查找 [Class] 中匹配的描述符
|
||||
* @param conditions 条件方法体
|
||||
* @return [Boolean] 是否存在
|
||||
*/
|
||||
|
Reference in New Issue
Block a user