问题标签 [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.
java - JCodeModel 和 elseif
我正在使用 JCodeModel 生成 Java 源代码,并希望获得一个像这样的“if-elseif”块:
据我了解,相应的代码将是这样的(其中m是 JMethod):
似乎是直截了当的,但结果是这样的:
您会看到语法差异,它实际上不是“elseif”。语义上是一样的,我知道,但我需要生成它,如前所示(它是教育软件的一部分)。有什么办法可以做到这一点?
java - CodeModel:手动插入导入语句
如何使用CodeModel手动插入导入语句?
我想在直接声明中使用Arrays.toString(...) 。
上下文:我在生成的代码中生成一个 toString() 方法,就像 Eclipse 一样。Arrays 类用于避免打印对我声明的数组的引用。
java - CodeModel 如何添加 @Pattern.List 注释 com.sun.codemodel
我正在使用 com.sun.codemodel 生成我的类并添加 JSR303 注释。这工作正常,除非我想添加 @Pattern.List 注释。
这是当前生成的:
这就是我想要生成的
有人知道这是怎么做到的吗?
java - Sun Codemodel 的自定义格式化程序
我正在使用Java Sun Codemodel 动态生成 java 类,它对我来说效果很好。
现在我有一个额外的挑战:如何控制代码的格式?有什么办法吗?特别是,我想将所有大括号都放在一个新行中,并希望将行长度延长到 130 个字符。
例如,我们有一个在 Eclipse 中使用的格式化程序。我无法告诉 Codemodel 以某种方式使用它,对吗?
有一个JFormatter类,看起来它可能对某些东西有用,但它看起来不能做更复杂的事情。
java - 代码模型数组
我使用 CodeModel 来生成 Java 代码。我期望这样的输出:
我试过了:
但我不知道如何将值“添加”到数组中。
java - 如何使用 sun-codemodel 生成匿名类?
我正在尝试使用 codemodel 生成下面的代码,但我不知道如何创建匿名类语法。我在代码模型文档中找不到它(https://codemodel.java.net/nonav/apidocs/index.html?com/sun/codemodel)
我可以使用下面的代码来实例化变量“ContentProducer”,但我不知道如何在构造函数旁边实现方法 writeTo。
java - 对于生成程序,java中有“CodeModel API”,比如Objective-C有什么API吗?
我想生成一个简单的“Hello World”objective-C 程序,我必须使用哪个 API?真的我不知道这可能吗?但在java中我知道有CodeModel API。
使用此代码,我们创建一个类名为“main”的文件,方法名称为“print”,方法主体为“a & b 两个 int 变量”,就像我想在 Objective-C 中创建一个文件在视图中显示“Hello world”。有可能吗?如果有,怎么可能?
java - 用 codeModel 比较两个对象
我有以下代码,但我试图不使用该direct()
方法。
我已经尝试查找有关使用的文档,_if()
我能够得到几个简单的工作,但我不知道如何在不使用 direct() 的情况下让它生成类似的东西。有谁知道如何做到这一点或知道一个展示一些例子的好地方?我已经尝试通过 javadocs 进行挖掘,但没有发现任何好的东西。
java - Java 源代码生成:Eclipse JDT AST 与 CodeModel
我正在编写一个 Eclipse 插件,它允许用户使用拖放式 UI 编写 java 代码。我遇到了这两个java源代码生成库。Eclipse JDT AST 和代码模型。
我想了解这两个库的优缺点。根据我的阅读和理解:
AST 非常强大。看看我看到的代码示例和 ASTView 插件,我完全相信我们可以使用这个库编写任何 java 构造。我在代码模型上找不到很多文档或示例。所以,我不是很清楚它的力量。我想知道 CodeModel 是否和 AST 一样强大。
CodeModel 实现相同功能所需的代码量远少于 AST。
使用 AST,我绝对可以重写现有的 java 类。在 CodeModel 的情况下我找不到类似的东西
我肯定需要 1 和 3 中的功能。拥有 2 也是一个额外的优势。我想知道codeModel是否有1和3。请让我知道这两个库的所有优缺点。另外,让我知道是否有比这两个更好的库。
注意:我正在寻找源代码生成/操作,而不是字节码操作。
提前致谢。
java - Codemodel:如何检查是否需要生成泛型类型?
我正在浏览类中的方法,然后在另一个地方生成具有不同名称的方法 - 参数和返回类型相同,我通过 method.getParameters()、method.isGeneric() 等检查它们。
因此,在原始类中定义如下:
我想得到:
这里有一个相关的问题,它演示了如何在类的开头添加 <T>:Sun CodeModel generic method
但是,我想在一个循环中检查我的所有方法并确定它们中的哪些具有泛型类型,因此在名称之前需要一个 <T>。如果我将所有方法都泛化,就会出现这样的情况:
然后不清楚我是否要分配
有没有办法检查给定类型是否是已知的 Java 类型?