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

android - Android - 如何使用 Kotlin Poet 库生成类型安全的构建器函数

我正在尝试使用 kotlin 诗人库生成一个 kotlin 类,它应该具有一个函数和一个内部静态类,如下所示。

我可以生成SampleClass和内部类TestClass但我无法使用此参数和主体创建 function1。

github 之类的 kotlin 诗人库。https://github.com/square/kotlinpoet

任何人都可以为此提供任何解决方案吗?

0 投票
1 回答
1085 浏览

kotlin - KotlinPoet:向现有类添加函数

我想构建一个注释处理器,它生成一个私有“可变类”字段的公共“非可变类”getter 函数(例如,返回一个字段的LiveData版本MutableLiveData)。

我想写的:

我想生成什么

生成具有正确返回类型的函数是没有问题的:

问题是变量 ( popup) 是私有的 - 所以要访问它,我生成的函数也需要是该类的一部分(它不能是新文件中的简单扩展函数)。KotlinPoet 示例都写入新文件 - 但无法访问私有字段(或者是否存在?)所以我需要在实际的类文件中编写函数?我怎样才能做到这一点?

0 投票
1 回答
1245 浏览

gradle - 构建应用程序时如何使用 KotlinPoet 生成代码?(毕业)

我是使用 kotlinpoet 的新手,我一直在阅读文档,它似乎是一个很棒的库,但我找不到解决问题的示例。

我有一个依赖项lib-domain-0.1.jar,其中我有业务对象,例如:

我想构建一个新的依赖项,称为lib-domain-fx-0-1.jar它具有相同的域但具有 JavaFx 属性(使用 tornadofx),例如:

我的问题是,如何lib-domain-fx-0-1.jar通过简单地使用 gradle build 编译我的应用程序来生成这些文件?我的项目“lib-domain-fx-0-1.jar”只是一个库,所以它没有主类,所以我不知道从哪里开始生成代码?。我已经看到了他们@Annotations在同一个项目中使用的几个示例和两个不同的模块,但这不是我需要的:(。我需要lib-domain-0.1.jar在另一个项目中使用 TornadoFX 将所有类转换为 JavaFx 版本(lib-domain-fx-0.1.jar

谢谢并恭祝安康。

0 投票
1 回答
1147 浏览

android - AbstractProcessor 不生成类

我正在构建一个视图活页夹,它使用 KotlinPoet 为我的视图生成一些样板代码。但不知何故,我的注释处理器没有生成视图所需的代码,因此在ClassNotFoundException我尝试运行演示应用程序的任何时候都会抛出一个。

这是我的处理器

如果您需要有关此问题的更多信息,请告诉我。提前致谢。

0 投票
2 回答
416 浏览

kotlin - 如何设置地图> 作为属性类型?

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

我在 init 块中初始化 myMap 。

0 投票
1 回答
442 浏览

kotlin - KotlinPoet - 生成 Koin 模块

我是 KotlinPoet 的新手,我找不到如何创建以下 Koin 模块语句:

直接进入 Kotlin 文件(无包装类)

我一直在玩 PropertySpec 和 CodeBlock,但我不知道如何导入 Koin DSL 或如何在代码生成中引用那些导入的类。我也无法通过纯字符串生成来生成代码。

0 投票
1 回答
172 浏览

kotlin - KotlinPoet - 接口方法没有括号

我正在使用以下代码与 KotlinPoet 生成接口

这会生成以下代码:

该函数test()有一个默认实现(有括号)。有没有办法删除默认实现(删除括号)?

0 投票
1 回答
470 浏览

kotlin - Kotlin 诗人菲力没有生成

我尝试使用注释处理器和 Kotlin Poet 创建一个类。这是我的代码:

问题,目录和文件未生成。我试图重建,使缓存无效+重新启动,清理但它们都不起作用。构建成功,没有任何错误,但我没有看到任何变化。你能检查出什么问题吗?

0 投票
1 回答
43 浏览

kotlin - CodeBlock 抛出 IAE 因为 CassName 没有通过是 TypeName 检查

我试图初始化一个属性,尽管 CodeBlock#of 在 CodeBlock#argToType 中抛出了 IllegalArgumentException

我调查了 CodeBlock#argToType 错误的根本原因。即使o是 ClassName(也是 TypeName),它也不会通过is TypeName -> o检查并抛出 IllegalArguementException。

我希望 CodeBlock 能够正确构建,但它却抛出了IllegalArguementException

0 投票
1 回答
577 浏览

kotlin - 寻找正确的 kotlinpoet 语法来初始化 IntArrays 和 Array 的 PropertySpec.Builder价值观

看不到将 Array 类型初始化为项目中现有类型的值的正确语法,原始类型工作正常,程序员定义的类

注释类 ConfigurableIntArray( val key: String, val text: String, val description: String, val initialValue: IntArray )

只能让它初始化为纯文本文字或第一个值中的静态数据