首页 > TAG信息列表 > eclipse-jdt

在Eclipse JDT Java解析器中,是否可以在不使用访问者的情况下逐节点遍历AST节点?

通过Eclipse JDT API访问节点上信息的标准方法是使用Visitor模式.例如: unit.accept(new MyVisitorAdapter<Object>() { @Override public void visit(MethodCallExpr node, Object arg) { System.out.println("found method call: " + node.toString()); } }, null); 在

java-我可以将Eclipse JDT / AST用于其他编程语言吗?

我可以将AST / JDT用于其他语言吗?例如,为使用某种AST技术的C#编写自己的解析器?解决方法:如果您查看文章“ Eclipse JDT – Abstract Syntax Tree (AST) and the Java Model – Tutorial”,则JDT及其AST是为Java量身定制的. The Eclipse Java Development Tools (JDT) provide API

java-在Eclipse IDE环境之外执行Eclipse插件(jdt / ast)

我可以将Eclipse Java development tools作为独立进程执行吗?我需要从另一个程序中使用Eclipse JDT获取Java程序的AST结构,为此,我需要在后台执行eclipse插件作为独立进程. 那可能吗?如果是这样,怎么办?解决方法:Eclipse / jdt和eclipse / ast只不过是一个jar文件,因此人们可以使用它

java-如何使用Escripts插件运行Eclipse Project?

我已经安装了Eclipse Escripts插件,但是它似乎没有适当的文档,并且对Eclipse JDT API还是很陌生. 我正在尝试编写一个脚本,该脚本只需使用Escripts一键即可运行Server和多个客户端.服务器和客户端都是运行配置,就像我在Eclipse中一样. 这是一个可以打开新项目向导的脚本示例 <?xml

Java源代码生成:Eclipse JDT AST与CodeModel

我正在编写一个eclipse插件,该插件使用户可以使用拖放式UI来编写Java代码.我遇到了这两个Java源代码生成库. Eclipse JDT AST和代码模型. 我想了解这两个库的优缺点.根据我的阅读和理解: > AST非常强大.查看我所看到的代码示例和ASTView插件,我完全相信我们可以使用该库编写任何Java

java-JDT如何知道超类的全名

我正在开发Eclipse插件.我正在使用ASTVisitor的以下实现,以替换一个类的超类(如果该类扩展了第三个). import org.eclipse.jdt.core.dom.ASTVisitor; import org.eclipse.jdt.core.dom.Name; import org.eclipse.jdt.core.dom.SimpleType; import org.eclipse.jdt.core.dom.Type;

java – 从代码创建新类

有没有办法在执行期间创建一个新的java类?存在关于类(名称,修饰符,方法,字段等)的所有信息.现在我想创建该类.一个想法是创建一个新文件并将内容写入该文件,c’est fini!但我认为有更优雅的方法可以做到这一点,也许是JDT?解决方法:要么使用BCEL来创建字节代码和类文件(难的方式),要么

如何使用Eclipse JDT ASTParser从类或接口名称(String)获取ITypeBinding?

我想找到所有对java.io.Closeable.close()的调用,为此最好的是我运行这样的东西: AST ast = compilationUnit.getAST(); final ITypeBinding closeableTypeBinding = ast.resolveWellKnownType("java.io.Closeable"); compilationUnit.accept(new ASTVisitor() {

java – JDT:将MethodInvocation替换为另一个时缺少分号

我正在尝试使用Eclipse JDT的AST模型将一个MethodInvocation替换为另一个.举一个简单的例子 – 我试图通过调用System.out.println()来替换对Log.(i / e / d / w)的所有调用.我正在使用ASTVisitor来定位有趣的ASTNode并将其替换为新的MethodInvocation节点.这是代码的概述: class S

java – FieldDeclaration到IField – 从FieldDeclaration获取IBinding

如何将FieldDeclaration(类型:ASTNode)转换为IField(类型:JavaElement).是否有可能从FieldDeclaration ASTNode获取绑定,就像node.resolveBinding()和MethodDeclaration节点一样. 需要:我正在访问具有公共常量的类中的FieldDeclaration节点,并且想要在项目中搜索该字段的引用.我正在使

如何使用JDT获取封闭方法节点?

当我有一个调用bar()的方法foo()时,如何从MethodInvocation节点(或方法中的任何语句/表达式)获取foo()AST节点?例如,我需要从b.bar()知道IMethod foo. public void foo() { b.bar(); } 解决方法:在JDT / UI中,我们有一个帮助方法来执行此操作.看看org.eclipse.jdt.internal.co

java – 为什么要编译?代码似乎打破了类型参数的约束

在下面的测试中,TesterClass对其两个类型参数之间的关系设置了约束.方法func2()似乎打破了这个约束,我希望它会在某处导致类型编译错误(在func2的定义中,或者每当类与String之外的任何第二个参数一起使用时),但它不会! 此外,如果我调用func2并将结果保存在适当类型的变量中,则编译失

java – 如何在Eclipse中运行时打破正在调试的程序?

你如何在Eclipse中打破(暂停)Java程序? 我不是在谈论断点.我在谈论随机暂停程序而不知道它当前正在执行什么,就像在Visual Studio中一样.解决方法:假设您以调试模式启动了该程序,您可以手动切换到调试透视图. 从那里,在调试窗格(通常显示线程和堆栈位置)中,按暂停按钮(看起来像黄色V