RefactorUtils.java 文件源码

java
阅读 20 收藏 0 点赞 0 评论 0

项目:intellij-plugin-v4 作者:
/** 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();
    }
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号