gpt4 book ai didi

java - Eclipse ASTParser 只解析一个java 函数?

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:29 26 4
gpt4 key购买 nike

我只是想知道使用 org.eclipse.jdt.core.dom.ASTParser 是否可以只解析 java 函数?

这就是我尝试的方法:我将函数的代码传递给 ASTParser.setSource(char[] s),如下所示:

    ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setKind(ASTParser.K_COMPILATION_UNIT);
parser.setSource(unit); //set source
CompilationUnit cu = (CompilationUnit) parser.createAST(null /* IProgressMonitor */); // parse
List list = node.types();
for(int i = 0; i < list.size(); i++){
ASTNode typeNode = (ASTNode) list.get(i);
System.out.println(ASTNode.nodeClassForType(typeNode.getNodeType()));
}

但我看到类型列表不包含任何内容(大小 = 0)。

请提出建议。谢谢。法希姆

最佳答案

只是一个小错字,在 List list = node.types(); 行中应该是List list = cu.types(); 。您不能仅传递函数。它需要是有效的Java编译单元,因此它必须有类型定义。确保用类包装您的函数。任何类(class)。它应该工作得很好。

如果不起作用,请记住您可以请求 cu.getProblems()看看哪里失败了。

关于java - Eclipse ASTParser 只解析一个java 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3462239/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com