Closed xihan123 closed 5 months ago
改最后一个文件的目的是什么
那个修复吗,在2.0.0中如果不加中括号将会报错,报错内容如题
测试过了吗
第一个你加的是大括号不是中括号,一般在一行语句的情况下我的习惯是不加大括号
第一种
else {
someCode()
}
第二种
else someCode()
Kotlin 2.0.0 不允许第二种写法了吗,请重新调整看一下看看到底是哪里的问题,这个语法从 Kotlin 出现以来就允许存在
(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))
我理解的中括号是{},[]这个管它叫方括号,叫法和理解有点不一样,这些不重要 具体报错是这个括号导致的,刚刚测试了下去掉该括号也可通过编译,但是可读性就变差了,不能一眼看出这个条件走哪
请根据功能提交并明确修改了哪些内容,如果代码能够正常编译你不能随意修改代码风格,请保持原样,并不要在功能或修复提交中包含更新依赖相关代码
(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))
我理解的中括号是 {},[] 这个管它叫方括号,叫法和理解有点不一样,这些不重要 具体报错是这个括号导致的,刚刚测试了下去掉该括号也可通过编译,但是可读性就变差了,不能一眼看出这个条件走哪
这里的小括号可以去掉用外围的大括号包含
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()
啊?你的意思是就去掉该括号就行? 修改一项提交一次啊,并没有多个包含在一起吧 另外我在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
按照 这里 修改就可以了,然后依赖的更新合并到一个提交
不会合并,我重新提交一个pull吧
改最后一个文件的目的是什么