首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么打印节点的父节点会返回父节点+子节点?

为什么打印节点的父节点会返回父节点+子节点?
EN

Stack Overflow用户
提问于 2012-02-21 15:49:26
回答 1查看 161关注 0票数 0

给定一个起始位置,我可以通过将其传递给org.eclipse.jdt.core.dom.NodeFinder类来查找节点。

代码语言:javascript
复制
NodeFinder node = new NodeFinder(root, m.getSourceStart(), m.getSourceEnd() - m.getSourceStart() + 1);
ASTNode n = node.getCoveredNode();

让我们假设这个节点有一个父节点,并获得该节点的父n.getParent();。有人知道为什么它打印出父节点和节点吗?

例如,我们知道bar.foo()foo()的起始点,所以如果我使用System.Out.Println(n.getParent().toString());,它会输出bar.foo()。它不应该只打印bar

提前感谢你的见解。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-22 03:53:12

您看到的行为是意料之中的。

在此示例中:

代码语言:javascript
复制
foo.bar

bar是一个SimpleName,它的父级是一个同时包含foobarQualifiedName。因此父节点将包含多个AST节点,在其上调用toString将打印出该节点的所有子节点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9373928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档