- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个使用 JDT AST 的 ASTParser
的 Eclipse 插件。解析一个方法。我正在该方法中寻找创建特定类型对象的方法。
当我找到 ClassInstanceCreation
, 我调用 getType()
在其上查看正在实例化的类型。我想确定正在处理的完全解析的类型是我认为的类型,所以我告诉结果 Type
反对resolveBinding()
.我得到 null
即使没有编译错误,即使我调用了 setResolveBindings(true)
,也会返回在我的 ASTParser
.我给了我的ASTParser
(通过 setSource()
)ICompilationUnit
包含我的方法,因此解析器可以访问整个工作区上下文。
final IMethod method = ...;
final ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setResolveBindings(true);
parser.setSource(method.getCompilationUnit());
parser.setSourceRange(method.getSourceRange().getOffset(), method.getSourceRange().getLength());
parser.setKind(ASTParser.K_CLASS_BODY_DECLARATIONS);
final TypeDeclaration astRoot = (TypeDeclaration) parser.createAST(null);
final ClassInstanceCreation classInstanceCreation = walkAstAndFindMyExpression(astRoot);
final Type instantiatedType = classInstanceCreation.getType();
System.out.println("BINDING: " + instantiatedType.resolveBinding());
resolveBinding()
返回
null
?如何获取绑定(bind)信息?
最佳答案
隐藏在 ASTParser.setKind()
概览的底部, 小心隐藏,不让人们排除故障 resolveBinding()
和 setResolveBindings()
, 是陈述
Binding information is only computed when
kind
isK_COMPILATION_UNIT
.
关于eclipse-plugin - 为什么即使我在我的 ASTParser 上 setResolveBindings(true),resolveBinding() 仍会返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2631981/
我正在尝试在 this 的帮助下学习 ASTParser教程。当我编译第一段代码时: ASTParser parser = ASTParser.newParser(AST.JLS2); parser.
我正在使用 ASTParser 解析项目中的 Java 源代码。我设法获取了 Java 项目的不同类中所有方法的名称和返回类型。我现在想知道 main 中的方法之间是否有可能存在依赖关系。事实上,我还
我有一个访问者,它应该输出调用者类型、其名称、参数类型、方法声明中的相应类型,如果它是常量变量,则输出其值 public boolean visit(MethodInvocation e) {
例如,我有这样的代码 SomeObject1 obj1 = new SomeObject1(); SomeObject2 obj2 = new SomeObject2(); ... obj1.foo(
示例代码: String.valueOf("test"); 此代码的访问者: cu.accept(new ASTVisitor() { public boolean visit(MethodI
我想打印类的所有方法中的所有方法调用。我正在使用 ASTParser。以下是我的代码 import org.eclipse.jdt.core.dom.AST; import org.eclipse.j
我经常使用 Eclipse 中的 ASTParser,但我不明白我是否得到了 AST 图或已经有了 CFG。如果只是AST,请说一下应该如何修改为CFG。非常感谢 最佳答案 ASTParser 为您提
我目前正在使用 JDT 的 AST,以便能够解析 Java 源代码。我需要识别参数的类型绑定(bind)。例如,对于 String 参数,我需要 java.lang.String 而不仅仅是 Stri
我只是想知道使用 org.eclipse.jdt.core.dom.ASTParser 是否可以只解析 java 函数? 这就是我尝试的方法:我将函数的代码传递给 ASTParser.setSourc
我正致力于使用 JDT 分析 Java 代码,并打算构建一个依赖于 org.eclipse.jdt.core 包而不是 eclipse 插件的独立分析工具。但是我发现我的工具无法在 Java 代码中出
引用 this上一个问题,我无法在 Eclipse 之外获得 IFile 或 ICompilationUnit。 我需要 org.eclipse.jdt.core.dom 库来解析和提取树结构。 我看
我想要做的是获取方法的类名。例如,我想获得一类“直到”和“搜索”方法。这是代码。 Query query = new Query(queryStr).until(dateStr); QueryResu
我正在编写一些代码来解析 java 源代码。我正在试验 Eclipse JDT AST Parser。我的代码如下。 (解析代码)。我正在针对我用 Java 编写的 Mailer 应用程序测试解析器(
我实现了以下访问方法来获取所使用的方法的名称及其相应的完全限定类名。 public boolean visit(MethodInvocation node)
背景 - 下面的问题 我正开始在 Java 中为 Java 实现度量套件,但我担心我的方法不合适。 目前我正在使用 JDT 的 ASTParser对于目录中的每个文件。这开始得很好,我能够收集有关每个
我正在使用 Java ASTParser 来解析我的 java 代码。我正在使用以下代码。使用此代码我可以提取“if”和“try”语句。但我无法提取“catch 条款”。有谁知道如何在此单独提取 ca
我正在使用 CDT ASTParser 来解析 C/C++ 源文件的一些内容。示例: //Docs for function min int min(int a[], int n) { //C
我需要检索java文件的SuperClass名称(它扩展了一个类,我需要该类名称)。为了做到这一点,我开始使用 ASTParser,但我是新手,所以任何示例或插图都会有所帮助。我使用 ASTView
我正在编写一个使用 JDT AST 的 ASTParser 的 Eclipse 插件。解析一个方法。我正在该方法中寻找创建特定类型对象的方法。 当我找到 ClassInstanceCreation ,
ASTParser.setSource 具有具有不同输入类型的多态方法。 但是,当我使用 ICompilationUnit 作为 setSource 方法的输入时, 我收到错误消息,指出我没有使用 c
我是一名优秀的程序员,十分优秀!