【问题标题】:What does "Symbol" mean in KSPKSP中的“符号”是什么意思
【发布时间】:2023-04-06 04:56:02
【问题描述】:

目前正在学习KSP(Kotlin Symbol Processing),很好奇KSP中的“Symbol”是什么意思。

在与 KAPT 进行比较时,它说“要在未修改的情况下运行 Java 注释处理器,KAPT 会将 Kotlin 代码编译成 Java 存根,保留 Java 注释处理器关心的信息。要创建这些存根,KAPT 需要解析Kotlin 程序。”

不知道“Kotlin 程序中的所有符号”到底是什么意思?

【问题讨论】:

  • 我猜它的意思是附注的目标

标签: kotlin annotations kapt ksp


【解决方案1】:

我将“符号”理解为接口、类、函数、属性等的声明。它不包括主体或代码本身,仅包括 API、其他人可见的项目。

该术语并非特定于 Kotlin。我在 Wikipedia 上找不到“符号”的任何定义,但例如本机库也包含符号表。

在这个特定的上下文中,这意味着 KAPT 必须在 Kotlin 代码中创建所有此类符号的完整列表,并在 Java 中生成它们的等价物,以便注释处理器可以处理它们。这非常浪费,因为我们在 Java 中重新创建 Kotlin 代码结构只是为了在几秒钟后将其丢弃并替换为真正的编译代码。

【讨论】:

猜你喜欢
  • 2010-09-29
  • 2011-04-18
  • 1970-01-01
  • 2011-04-07
  • 2014-05-11
  • 1970-01-01
  • 1970-01-01
  • 2022-12-22
  • 2014-09-14
相关资源
最近更新 更多