/** Given a token index into buffer, find surrounding rule then return
* char position of start of next rule.
*/
public static int getCharIndexOfNextRuleStart(ParserRuleContext tree, int tokenIndex) {
final ParserRuleContext selNode =
Trees.getRootOfSubtreeEnclosingRegion(tree, tokenIndex, tokenIndex);
final ParserRuleContext ruleRoot = (ParserRuleContext)
getAncestorWithType(selNode, ANTLRv4Parser.RuleSpecContext.class);
return ruleRoot.getStop().getStopIndex() + 2; // insert after '\n' following ';'
// int ruleIndex = childIndexOf(ruleRoot.getParent(), ruleRoot);
// ParserRuleContext nextRuleRoot = (ParserRuleContext)ruleRoot.getParent().getChild(ruleIndex+1);
// if ( nextRuleRoot==null ) { // this rule must be last in grammar; put after ';' of this rule
// }
// return nextRuleRoot.getStart().getStartIndex();
}
RefactorUtils.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:intellij-plugin-v4
作者:
评论列表
文章目录