HighCapable / YukiHookAPI

⛱️ An efficient Hook API and Xposed Module solution built in Kotlin.
https://highcapable.github.io/YukiHookAPI/
Apache License 2.0
1.42k stars 105 forks source link

更新依赖库以支持kotlin2.0.0版本 #75

Closed xihan123 closed 5 months ago

fankes commented 5 months ago

改最后一个文件的目的是什么

xihan123 commented 5 months ago

改最后一个文件的目的是什么

那个修复吗,在2.0.0中如果不加中括号将会报错,报错内容如题

xihan123 commented 5 months ago

测试过了吗

fankes commented 5 months ago

第一个你加的是大括号不是中括号,一般在一行语句的情况下我的习惯是不加大括号

第一种

else {
    someCode()
}

第二种

else someCode()

Kotlin 2.0.0 不允许第二种写法了吗,请重新调整看一下看看到底是哪里的问题,这个语法从 Kotlin 出现以来就允许存在

xihan123 commented 5 months ago
(if (baseContext != null)
                if (hooker.isNotEmpty()) {
                    printSplashInfo()
                    hooker.forEach { it.assignInstance(packageParam = baseContext.createPackageParam()) }
                } else YLog.innerE("Failed to passing \"encase\" method because your hooker param is empty", isImplicit = true))

我理解的中括号是{},[]这个管它叫方括号,叫法和理解有点不一样,这些不重要 具体报错是这个括号导致的,刚刚测试了下去掉该括号也可通过编译,但是可读性就变差了,不能一眼看出这个条件走哪 5afd4389-c7f7-4db1-8ea3-e87fb38456ec

fankes commented 5 months ago

请根据功能提交并明确修改了哪些内容,如果代码能够正常编译你不能随意修改代码风格,请保持原样,并不要在功能或修复提交中包含更新依赖相关代码

fankes commented 5 months ago
(if (baseContext != null)
                if (hooker.isNotEmpty()) {
                    printSplashInfo()
                    hooker.forEach { it.assignInstance(packageParam = baseContext.createPackageParam()) }
                } else YLog.innerE("Failed to passing \"encase\" method because your hooker param is empty", isImplicit = true))

我理解的中括号是 {},[] 这个管它叫方括号,叫法和理解有点不一样,这些不重要 具体报错是这个括号导致的,刚刚测试了下去掉该括号也可通过编译,但是可读性就变差了,不能一眼看出这个条件走哪 5afd4389-c7f7-4db1-8ea3-e87fb38456ec

这里的小括号可以去掉用外围的大括号包含

if (...) {
    if (baseContext != null)
        if (hooker.isNotEmpty()) {
             printSplashInfo()
             hooker.forEach { it.assignInstance(packageParam = baseContext.createPackageParam()) }
        } else YLog.innerE("Failed to passing \"encase\" method because your hooker param is empty", isImplicit = true)
} else printNotFoundHookApiError()
xihan123 commented 5 months ago

啊?你的意思是就去掉该括号就行? 修改一项提交一次啊,并没有多个包含在一起吧 另外我在Kotlin Release 2.0.0日志中 找到了KT-35510 No INVALID_IF_AS_EXPRESSION ("'if' must have both main and 'else' branches if used as an expression") diagnostic for if-expression with only one branch and Nothing type condition

fankes commented 5 months ago

按照 这里 修改就可以了,然后依赖的更新合并到一个提交

  1. fix(style): ...
  2. chore: bump dependencies ...
xihan123 commented 5 months ago

不会合并,我重新提交一个pull吧