confundus:Kotlin编译器插件,将KotlinJS的unsafeCast引入KotlinJVM

时间:2024-04-09 15:18:55
【文件属性】:

文件名称:confundus:Kotlin编译器插件,将KotlinJS的unsafeCast引入KotlinJVM

文件大小:100KB

文件格式:ZIP

更新时间:2024-04-09 15:18:55

Kotlin

Confundus:Kotlin / JVM的不安全转换 Kotlin编译器插件,将Kotlin / JS的unsafeCast引入Kotlin / JVM。 unsafeCast方法绕过类型系统的正常安全性,允许您将可空引用重新解释为不可空引用,或者将类型重新解释为子类型,而无需Kotlin的常规检查。 好吧,为什么呢? 有时您比编译器了解更多。如果您知道可为空的引用实际上是非空的,则可以使用!!以获取非null的参考。如果您知道Any实际上是一个String ,则可以将其as String为as String以用作字符串引用。 这两个都是运行时检查的操作。这意味着存在用于验证转换的字节码。您将从!!获得NullPointerException !!当由于IFNONNULL字节码和对Instrinsics.throwNpe的调用而Instrinsics.throwNpe引用为null时


【文件预览】:
confundus-master
----gradlew(6KB)
----settings.gradle(83B)
----.github()
--------workflows()
----LICENSE.txt(11KB)
----confundus-gradle()
--------src()
--------gradle.properties(110B)
--------build.gradle(1KB)
----gradle()
--------wrapper()
--------publish.gradle(529B)
----RELEASING.md(724B)
----README.md(5KB)
----gradlew.bat(3KB)
----gradle.properties(781B)
----.editorconfig(80B)
----confundus-api()
--------src()
--------gradle.properties(105B)
--------build.gradle(599B)
----.gitignore(63B)
----confundus-compiler()
--------src()
--------gradle.properties(116B)
--------build.gradle(554B)
----CHANGELOG.md(99B)
----build.gradle(2KB)

网友评论