问题标签 [javapoet]

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 回答
4173 浏览

java - 如何在 JavaPoet 中添加“任何类型”问号?

我正在用 JavaPoet 生成代码。

在生成的代码的某处,我想添加一个具有以下参数的方法。

所以我的 JavaPoet 代码应该是这样的

0 投票
1 回答
1699 浏览

java - 使用 javapoet 生成静态类初始化器

是否可以使用生成静态初始化程序javapoet?请参阅下面我尝试生成的示例:

我尝试将静态初始化程序添加为带有static修饰符的构造函数:

但这会产生static Foo() { ... }而不是static {...},这是不正确的语法。

有没有办法做到这一点?

0 投票
1 回答
2906 浏览

java - Javapoet/JavaWriter 附加到现有类

我一直在尝试在注释处理器中生成代码。

考虑以下代码,它添加了一个包含语句的构造函数。

现在,当在“Test”类中​​给定一个名为“bla”的可执行元素时,结果是这样的:

但是这个类已经存在,我想将构造函数附加到现有代码而不是在这里创建这个新类。

现有代码:

我可以这样做吗?

0 投票
2 回答
1662 浏览

java - 将数组分配给 JavaPoet 中的 MethodSpec 语句?

我使用JavaPoet创建 Java 代码。我定义了以下数组:

和一个构造函数:

前者不起作用。我想创建声明:

如何将数组分配给上一行中的语句?

0 投票
2 回答
4281 浏览

java - JavaPoet 添加通用参数

我将如何生成具有以下签名的方法?

到目前为止,我有:

编辑这是上面代码生成的(我不知道如何添加参数):

0 投票
1 回答
2104 浏览

java - 使用 JavaPoet 生成注释

我正在使用 JavaPoet 编写代码生成器,需要在类上添加注释

例如 :

我的代码如下所示:

此代码生成类,但生成的代码缺少 CacheConcurrencyStrategy 的导入语句。如何生成代码以便输出所有必需的代码?

0 投票
1 回答
1706 浏览

java - 使用 JavaPoet 生成注释代码

我正在使用 JavaPoet 编写代码生成器,需要在类上添加注释

例如 :

我能够做到这一点:

AnnotationSpec.Builder 中有一个 addMember 方法,但这似乎没有做我想要的。

0 投票
1 回答
827 浏览

java - JavaPoet + Android Studio “addModifiers(Modifier) 不能应用于修饰符”

我为我的 Android 项目构建了一个注释处理器,它使用 JavaPoet 构建源文件。但是,每次我需要调用addModifiers任何 JavaPoet 对象时,Android Studio 都会将其标记为错误。它会说要么

或者

取决于我在哪个对象上调用该方法。我已经检查了很多次,这两个完全限定的类名完全匹配。JavaPoet 中的这些方法使用 VarArgs 参数,但这不应该有什么不同,因为我正在编译到 Java 7。

现在这是踢球者:该包编译得很好,并创建了我的源文件。它只给我 IDE 中的错误,而不是 javac 运行时。修改器在生成的文件中是正确的。

所以我想我想回答的是:如何摆脱 IDE 错误,我该向谁报告?这是 JavaPoet 问题、Android Studio 问题还是 IntelliJ 问题,还是我还没有考虑过的问题?

0 投票
1 回答
877 浏览

java - 使用 JavaPoet 生成自引用泛型类型

我怎样才能生成以下内容:

我坚持构造 ParameterizedTypeName 来添加超类,我似乎找不到在构造 A 之前引用它的类型的方法......

任何指针?这是可能吗?

0 投票
1 回答
485 浏览

java - 将 JavaPoet ParameterSpec 类型与 Java 8 AnnotatedType 进行比较

我需要将带注释的字段(或方法参数)类型与 ParameterSpec 实例进行比较。在这种情况下,参数的名称无关紧要。上下文在某种程度上与未解决的问题 136有关。

以下测试是绿色的 - 但比较代码使用的不是类型安全的字符串转换。谁能想到一种更类型安全的方法?