"Symbol"在KSP中是什么意思
What does "Symbol" mean in KSP
目前正在研究KSP(Kotlin Symbol Processing),很好奇KSP.
中的“Symbol”是什么意思
当谈到与 KAPT 的比较时,它说“对于 运行 Java 未修改的注释处理器,KAPT 将 Kotlin 代码编译成 Java 存根,这些存根保留了 Java 注释处理器关心。要创建这些存根,KAPT 需要解析 Kotlin 程序中的所有符号。"
不知道“Kotlin程序中的所有符号”到底是什么意思?
我将“符号”理解为接口、类、函数、属性等的声明。它不包括正文或代码本身,仅包括 API 项对其他人可见。
这个术语不是 Kotlin 特有的。我在维基百科上找不到“符号”的任何定义,但例如本机库也包含符号表。
在此特定上下文中,这意味着 KAPT 必须在 Kotlin 代码中创建所有此类符号的完整列表,并在 Java 中生成它们的等价物,以便注释处理器可以处理它们。这是非常浪费的,因为我们在 Java 中重新创建 Kotlin 代码结构只是为了在几秒钟后将其丢弃并替换为真正的编译代码。
目前正在研究KSP(Kotlin Symbol Processing),很好奇KSP.
中的“Symbol”是什么意思当谈到与 KAPT 的比较时,它说“对于 运行 Java 未修改的注释处理器,KAPT 将 Kotlin 代码编译成 Java 存根,这些存根保留了 Java 注释处理器关心。要创建这些存根,KAPT 需要解析 Kotlin 程序中的所有符号。"
不知道“Kotlin程序中的所有符号”到底是什么意思?
我将“符号”理解为接口、类、函数、属性等的声明。它不包括正文或代码本身,仅包括 API 项对其他人可见。
这个术语不是 Kotlin 特有的。我在维基百科上找不到“符号”的任何定义,但例如本机库也包含符号表。
在此特定上下文中,这意味着 KAPT 必须在 Kotlin 代码中创建所有此类符号的完整列表,并在 Java 中生成它们的等价物,以便注释处理器可以处理它们。这是非常浪费的,因为我们在 Java 中重新创建 Kotlin 代码结构只是为了在几秒钟后将其丢弃并替换为真正的编译代码。