问题标签 [sun-codemodel]

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

java - Use sun-codemodel to generate expression like b().c()

I'm trying to use sun-codemodel to generate source code, checking the API for a long time however no luck.

only generate the first part, i.e. a(xxx)

Any ideas?

0 投票
5 回答
2877 浏览

java - Java中代码生成器的更好方法?

我有一堂课,里面有一个图表。我迭代图形并创建一个构建图形的字符串,然后我将该字符串写入 Java 文件。有没有更好的方法来做到这一点,我读到了 JDT 和 CodeModel,但我真的需要一些关于如何使用它的提示。

编辑

我正在做一个正则表达式代码生成器,到目前为止,我已经将正则表达式转换为有向图中表示的 DFA(使用 grail 库)。当我拥有 DFA 时,下一步是生成一个具有三种方法的类,第一种方法构建相同的图 (DFA),第二种方法从一个节点移动到另一个节点,如果输入字符串被接受,则第三种方法匹配一个。只有第一种方法根据正则表达式输入而变化,其他两种方法是静态的,并且对于每个生成的 java 类都是相同的。

我的基于字符串的方法如下所示:

0 投票
1 回答
1729 浏览

java - 如何使用 Sun/Oracle CodeModel 库进行类型转换?

我正在尝试使用 Java CodeModel 库来生成一些代码。在我生成的代码中,我需要执行类型转换。我想要这样的东西...

我在库中找到的唯一支持是使用JCast JExpr.cast(JType type, JExpression expr)。然而,根据 Eclipse,返回类型 JCast 不是公开的。确切的错误是:“com.sun.codemodel.JCast 类型不可见”。

这是我正在做的一个简单示例。

我是否错误地使用了该库和/或是否有其他方法可以实现我的目标?

0 投票
2 回答
1002 浏览

java - CodeModel 如何使用 com.sun.codemodel 在特定索引处获得价值

我正在使用 com.sun.codemodel 来生成我的类。我需要根据索引参数动态获取数组值。

所以我有一个调用,假设返回一个数组

在这种情况下 getRoles() 返回一个数组,我想在特定索引处获取一个对象。像这样的东西

我该怎么办?

0 投票
1 回答
504 浏览

java - 如何使用 CodeModel 的 JExpr.plus 方法删除不必要的括号?

我正在使用JExpr.plus()方法来形成一个字符串,在语法上它是正确的,但它有很多括号。例如:

返回

我希望它是

0 投票
1 回答
1535 浏览

java - 如何使用 JCodeModel 创建?

我在 JCodeModel 上使用了 JClass.narrow 来为类型创建必要的泛型,但我不知道如何生成这样的东西。

如何生成?延伸部分?

欢迎任何帮助。

0 投票
1 回答
758 浏览

java - 使用 CodeModel 添加现有方法

我正在尝试使用 CodeModel 将抽象方法添加到我的接口中。这可能吗?

参考实际类后,我不知道应该如何添加方法?实际上我想用作 JDefinedClass。

0 投票
1 回答
263 浏览

java - 用代码模型中的方法替换变量用法

我正在寻找一种解决方案,我可以在其中定义一个类中的字段并在这个特定类中使用引用。代码模型应该创建一个用于实例化字段的方法,并且应该用创建的方法替换字段用法。

我希望有人能帮助我。

未处理类

codeModel 使用后的类

0 投票
3 回答
1584 浏览

java - 从现有源文件创建 JCodeModel

我想使用可能在语法上无效的代码片段创建 Java 源代码。这可以通过com.sun.codemodel.JBlock#directStatement() 方法实现。

我的问题是,我想修改现有的(语法上有效的)源文件,但我找不到从文件(或字符串或流等)创建 JCodeModel 的方法。

有没有办法用 JCodeModel 做到这一点?

(我可以改用 Eclipse JDT/AST 框架,但它显然不提供直接添加代码片段的选项......)

0 投票
1 回答
661 浏览

java - 扩展 AbstractEntity带代码模型

有谁知道如何用 CodeModel 生成这个?

我已经有类似的东西了..几乎在那里..

我怎么做这个

进入

谢谢