问题标签 [kotlinpoet]

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.

0 投票
1 回答
232 浏览

kotlin - 如何将 KotlinPoet 依赖项添加到简单的控制台应用程序?

我正在编写一个简单的控制台应用程序,它应该在执行时生成一些 kotlin 代码。我遇到了一个奇怪的问题,我无法添加 KotlinPoen 依赖项。我的 build.gradle:

但在 PoetApp.kt 导入失败并显示消息Unresolved reference: squareup

0 投票
1 回答
648 浏览

kotlin - 如何使用 KotlinPoet 为 PropertySpec 获取正确的 TypeName

使用 KotlinPoet,为了生成用于向类和构造函数添加属性的 PropertySpec,您需要一个 TypeName 对象。

TypeMirror.asTypeName() KotlinPoet 函数已被弃用,因为它并不总是适用于 Kotlin 类型。

但是我找不到一个例子来说明如何使用 kotlinpoet-metadata API 为 Kotlin 类(例如 kotlin.String)获取正确的 TypeName,就像弃用消息所说的那样。

kotlinpoet-metadata API 的文档似乎也完全损坏了(转到https://square.github.io/kotlinpoet/interop-kotlinx-metadata/#interop-with-kotlinx-metadata并单击 API 部分下的任何内容)

有没有人有一个如何用一些 kotlinpoet-metadata 代码替换 TypeMirror.asTypeName() 以获得 TypeName 的示例,以便我可以创建一个 PropertySpec?

0 投票
0 回答
131 浏览

java - 如何在注释处理器中访问封闭元素的变量注释?

我正在为我们的 API 优化创建一串数据类,如下所示

数据类例如:

想要的结果:

{“cast_id”:1,“名称”:1,“profile_path”:1}

但目前能够生成它

"{"castId":1, "name":1, "profilePath":1}"

我想访问@JSON(或@SerializedName)注解及其值,我如何获得它?

然后使用 Kotlin 诗人用这个字符串 init 创建类。

0 投票
0 回答
52 浏览

kotlin - 使用 kotlinpoet 从现有文件创建 TypeSpec

我需要复制标有注释的类,然后将我自己的代码添加到其中。

标有我的注释的类:

生成的类:

到目前为止,我只看到一种方法:遍历现有类中的所有字段、方法等,并将它们添加到TypeSpec。ClassBuilder(),但我认为这太难了。

有没有更简单的方法,也许是图书馆?

0 投票
1 回答
67 浏览

kotlinpoet - 如何在 KotlinPoet 中制作生成类的方法返回类型?

我需要BuilderKotlinPoet. 为此,我需要让方法返回Builder类型。我通过以下方式进行操作:

但是当我构建模块时,我发现了Class.forName("com.idfinance.userbehavior.utils.Init.Builder")找不到 class的错误Builder。该包是正确的,据我所知,问题是我在尚未生成类时尝试将其用作返回类型。但是我该如何解决这个问题呢?

0 投票
2 回答
119 浏览

android - 如何获取 Kotlin 类而不是 java 类

我正在尝试从带注释的类生成子类并使用下面的代码获取方法参数,我的问题是我总是得到 java 类型,而不是与父类冲突导致覆盖错误的 kotlin 类型,如何获得正确的类型 kotlin 或java 类型,这恰好发生在 String、Int 和 List

0 投票
0 回答
127 浏览

android - 使用 kotlin 诗人使用挂起修饰符实现接口

我可能需要你的帮助。

我有这个注释,它的任务是实现一个接口,这里是一个例子:

我的自定义注释:

界面:

这应该是预期的结果:

但我明白了:

如果我从界面中删除挂起修饰符,一切正常。

类处理器:

请问,有人可以帮我吗?谢谢!

0 投票
1 回答
25 浏览

kotlinpoet - 使用 KotlinPoet 为 Kotlin 创建静态扩展属性

我是使用 KotlinPoet 的新手。

我想使用 KotlinPoet 以编程方式生成以下代码:

不幸的是,经过多次尝试,我还没有找到一种方法来创建一个类的伴随对象。

也许有人知道一个可能的解决方案,或者这不能用 KotlinPoet 实现吗?

0 投票
1 回答
43 浏览

kotlin - Kotlin Poet 仅针对 JVM 吗?我想将它用于原生

没有找到任何参考 - 所有示例似乎都使用 KVM / Android 代码。是否可以将 Poet 用于本地目标?

0 投票
1 回答
46 浏览

kotlin - kotlin-poet中如何实现suspend关键字修改高阶函数

我想用“suspend”关键字修改高阶函数。以下是我想要的:

我尝试使用:

但是得到以下代码:

不知道怎么下手,官网API查了很久也没找到类似的答案。希望老板指点!