问题标签 [ksp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ksp - KSP Principia 如何扩展未来的赛道
Principia 是否可以控制更改我的船未来预测轨迹的长度/持续时间?我可以看到 Max History Length 控件,但我没有看到未来长度的控件。希望我只是瞎了眼。我想看看未来大约 32 天。
c - CryptAcquireCertificatePrivateKey 错误:0x80090016 与自定义密钥存储提供程序
我正在开发一个自定义 CNG 密钥存储提供程序。它适用于 Chrome 等某些应用程序,但第三方应用程序使用CryptAcquireCertificatePrivateKey证书上下文的方法导致 0x80090016 而不调用我的 KSP 的任何方法。
¿ 是否可以将该CryptAcquireCertificatePrivateKey方法与具有存储在密钥存储提供程序中的私钥的证书一起使用?
kotlin - KSP中的“符号”是什么意思
目前我正在研究 KSP(Kotlin Symbol Processing),我很好奇KSP中的 "Symbol" 是什么意思。
在与 KAPT 进行比较时,它说“要在未修改的情况下运行 Java 注释处理器,KAPT 会将 Kotlin 代码编译成 Java 存根,保留 Java 注释处理器关心的信息。要创建这些存根,KAPT 需要解析 Kotlin 程序中的所有符号。”
我不知道“Kotlin 程序中的所有符号”到底是什么意思?
kotlin - 调试 Kotlin 符号处理 (KSP)
如何使用 Idea 和 Gradle 调试 KSP?
在调试模式下从 IDE运行build任务不会将 IDE 附加到进程。
有没有任何命令行方法可以让处理器等到 IDE 连接到进程?
(我正在使用 KSP 1.5.31-1.0.0)
kotlin - 如何使用 kotlin 符号处理(KSP)为函数添加一个参数
我有一个注释“AddHeader”的功能:
如果一个函数添加了这个注解,它会添加一个像这样的参数:
将改变:
我不知道如何实现这个目标。请帮忙。
android - 使用 Kotlin 信号处理 (KSP) 时提供注释处理器参数
我使用以下方法将 KSP 与 Room 结合使用:
这实际上有效。但是,当我尝试运行它时,我会收到此警告
[ksp] MyDatabase.kt:11:模式导出目录未提供给注释处理器,因此我们无法导出模式。您可以提供
room.schemaLocation注释处理器参数或将 exportSchema 设置为 false。
为此:使用 KSP 时如何提供注释处理器参数?
kotlin - Kotlin Multiplatform 上的 KSP 在 kspJs 上失败,并显示“Collection has more than one element”。
我正在尝试使用 KSP(Kotlin 符号处理)来查看它的功能,并且我正在尝试让它在 Kotlin 多平台项目上运行。当我只启用 kspJvm 时,它工作得很好,只要我也启用 kspJs,它就会失败,并显示“集合有多个元素”。
我在这个演示 github 项目中重新创建了这个问题: https ://github.com/janvladimirmostert/observable-demo
在我的处理器中,我有以下配置:
build.gradle.kts:
gradle.properties:
src/commonMain/kotlin/io/jvaas/observe/ Observable.kt
src/jvmMain/resources/META-INF/services/ com.google.devtools.ksp.processing.SymbolProcessorProvider
src/jvmMain/kotlin/io/jvaas/observe/ ObservableProcessor.kt
在我的消费者中,我有以下内容:
applications/od-server/src/ commonMain /kotlin/com/od/demo/ Blah.kt
当启用kspJvm选项并正确输出文件时,这将被正确处理
应用程序/od-server/build/generated/ksp / jvmMain /kotlin/com/od/demo/BlahO.kt
如果我为kspJs启用它,它会失败
我已经尝试了通常的 gradle build --info / --debug / --scan 但不清楚我可以从哪里开始寻找解决这个问题。
如上所述,我做了一个演示项目来演示错误: https ://github.com/janvladimirmostert/observable-demo
关于如何解决该错误的任何想法?
kotlin - 在木星测试期间未找到 Kotlin KSP 注释处理器生成的类
我正在为 Kotlin 开发一个 KSP 注释处理器。代码在编译期间正确生成,我可以在输出目录中看到生成的类。现在我想通过 JUnit 和“com.github.tschuchortdev.KotlinCompilation”测试我的注释处理器。如果我调用 compile 方法,将生成代码,我可以在 Temp-Directory 中看到生成的类,但是如果我尝试加载该类,则会收到“java.lang.ClassNotFoundException:test.pack.TestClassDslBuilder”异常。我希望代码是不言自明的。我的问题是:为什么类没有编译并且不可加载?可能缺少 kompiler 的配置。
cryptography - 使用 BCryptImportKey 将现有证书导入 CNG/KSP
我正在尝试通过 CNG api BCrptImportKey 将现有的 cert.pem 导入 KSP。如何将密钥保存到 blob 中然后导入。任何示例代码都有助于理解流程吗?
谢谢
kotlin - 如何确定函数返回类型是否是 ksp 中的原语
简短版本:如何判断 aKSType是否是原始类型,甚至将其与 kotlin 类型进行比较?
我正在使用 ksp 在 Kotlin 中编写代码生成器。我正在迭代一个类型的函数并有一个KSFunctionDeclaration. 我想知道函数的返回类型是否是原始类型。
我可以看到使用的类型名称it.returnType?.resolve()?.declaration?.simpleName,它将显示Long等等Int。所以我可以检查该名称是否== "Long"等。但似乎应该有一种方法可以与实际类型进行比较。
我发现它的builtins属性对每个内置类型Resolver都有一个类型的属性。KSType但是我不知道怎么去Resolver。