public static TerminalNode getRuleDefNameNode(Parser parser, ParseTree tree, String ruleName) {
Collection<ParseTree> ruleDefRuleNodes;
if ( Grammar.isTokenName(ruleName) ) {
ruleDefRuleNodes = XPath.findAll(tree, "//lexerRule/TOKEN_REF", parser);
}
else {
ruleDefRuleNodes = XPath.findAll(tree, "//parserRuleSpec/RULE_REF", parser);
}
for (ParseTree node : ruleDefRuleNodes) {
String r = node.getText(); // always a TerminalNode; just get rule name of this def
if ( r.equals(ruleName) ) {
return (TerminalNode)node;
}
}
return null;
}
RefactorUtils.java 文件源码
java
阅读 24
收藏 0
点赞 0
评论 0
项目:intellij-plugin-v4
作者:
评论列表
文章目录