问题标签 [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 回答
213 浏览

android - 与@Repeatable @Retention(AnnotationRetention.Source) 一起使用时,roundEnv.getElementsAnnotatedWith(AnnotationName::class.java) 反射是否被破坏

在使用 kapt/kotlinpoet 在 Android Studio 中构建 AbstractProcessor 时。当我尝试使用可重复注释标记时,它会停止从 roundEnv.getElementsAnnotatedWith(AnnotationName::class.java) 获取数据,如果从注释中删除可重复标记,我可以获取带注释的类信息

将尝试使用其他反思方式

当注释是否具有@repeatable 标记时,我希望两次都从反射中获取数据。

0 投票
1 回答
342 浏览

kotlinpoet - 创建扩展函数(名称中带有 . 的函数)

我想生成一个非常简单的类,它只包含扩展函数,如下所示:

我尝试什么:

我得到什么:

问题

我怎样才能正确地创建一个扩展函数,比如fun SomeClass.function()

0 投票
1 回答
402 浏览

annotations - 如何获取带注释的变量的默认值

我有如下注释:

我遍历了所有带注释的类变量,如下所示:

问题:

是否可以获得带注释的变量的默认值?在我的示例中,我想为我的两个变量检索null"default value"

0 投票
2 回答
584 浏览

android - 带有类型参数的 Kotlin Poet 超级接口

我正在尝试生成一个object实现具有类型参数的接口,如下例所示:

我可以生成实现我的接口的对象,如下面的代码:

我怎样才能将 传递type argumentinterface

0 投票
1 回答
683 浏览

kotlin - KotlinPoet 如何获取生成类的 TypeName

我想将使用 TypeSpec.classBuilder 生成的类用作我正在生成的另一个类中的属性。但为此,我需要获取一个 TypeName,但我找不到访问它的方法。仅来自超类。有人知道这样做的方法吗?

0 投票
1 回答
124 浏览

kotlin - KotlinPoet 如何在类不存在时使用 FunSpec.overriding?

我有一个包名和一个类名作为Strings 但我的注释处理器中没有专门的类。我需要使用:

stuck here应该是s setOf ExecutableElement?我怎样才能做到这一点?

我也在这里检查过,但没有那么多运气。

0 投票
1 回答
65 浏览

kotlin - 如何构建字段为“var”且可以为“@annotated”的构造函数?

如何使用Kotlinpoet生成以下代码?

0 投票
2 回答
264 浏览

kotlin - 如何通过 kotlinpoet 生成具有 typealias 参数的类

我想用 typealias 生成一个 kotlin 类定义。

有什么建议么?

0 投票
1 回答
198 浏览

kotlin - 使用 KotlinPoet 或类似软件;生成非原始 Kotlin 字符串文字

直截了当; 有没有办法从字符串生成有效的 Kotlin 字符串文字(非原始,如非三引号);我目前正在尝试使用KotlinPoet来完成此任务。

为清楚起见,示例输入:

所需的示例输出:


使用 KotlinPoet,迄今为止我从 API 中学到的最好的方法是:

这虽然是功能性的,但不是我想要实现的。


我已经能够用 Jackson's 完成一些功能上接近的事情ObjectMapper::writeValueAsString,但是,我确信使用它来生成有效的 Kotlin 代码有很多警告。

0 投票
1 回答
150 浏览

android - Android 注释代码生成 - Android 类

在开始构建我的第一个代码生成注释时,我发现我无法生成 Android 类,例如SharedPreferences,因为我从一个Java Library模块开始以扩展AbstractProcessor. 我正在使用kotlinpoet生成我的类,但需要创建一个SharedPreferences.Editor似乎不受支持的类型的属性。我正在尝试以下内容:

但这失败了,因为该android软件包不可用。有谁知道这个的解决方法还是不可能?