当前位置: 首页>>代码示例>>Java>>正文


Java RuleContext.getChildCount方法代码示例

本文整理汇总了Java中org.antlr.v4.runtime.RuleContext.getChildCount方法的典型用法代码示例。如果您正苦于以下问题:Java RuleContext.getChildCount方法的具体用法?Java RuleContext.getChildCount怎么用?Java RuleContext.getChildCount使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.antlr.v4.runtime.RuleContext的用法示例。


在下文中一共展示了RuleContext.getChildCount方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getChildContextText

import org.antlr.v4.runtime.RuleContext; //导入方法依赖的package包/类
/**
 * Searches the children of the given context for a context of the given clazz
 * type and returns its Text Value. If there are multiple relevant child nodes,
 * we will return the text value for one of them at random.
 */
public String getChildContextText(RuleContext ctx) {

    if (ctx == null) {
        return "";
    }
    if (ctx instanceof TypeNameContext) {
        return ctx.getText();
    }

    String s = "";
    for (int i = 0; i < ctx.getChildCount(); i++) {
        if (!(ctx.getChild(i) instanceof TerminalNodeImpl)) {
            try {
                String t = getChildContextText((RuleContext) ctx.getChild(i));
                if (!t.isEmpty()) {
                    s += t + ",";
                }
            } catch (Exception e) {
                // do nothing
            }
        }
    }
    return s.replaceAll(",$", "");
}
 
开发者ID:Zir0-93,项目名称:clarpse,代码行数:30,代码来源:GoLangTreeListener.java

示例2: findLeftSibling

import org.antlr.v4.runtime.RuleContext; //导入方法依赖的package包/类
private ParseTree findLeftSibling(RuleContext ctx) {
  RuleContext p = ctx.getParent();
  if(p!=null) {
    for(int i=0; i<p.getChildCount(); i++) {
      if(p.getChild(i).equals(ctx)) {
        if(i>0)
          return p.getChild(i-1);
        break;
      }
    }
  }
  return null;
}
 
开发者ID:twosigma,项目名称:beaker-notebook-archive,代码行数:14,代码来源:GroovyNodeCompletion.java

示例3: searchTokenFromHead

import org.antlr.v4.runtime.RuleContext; //导入方法依赖的package包/类
private Token searchTokenFromHead(RuleContext ctx, SilverstripeTokenId token) {
    for(int i=0; i<ctx.getChildCount(); i++) {
        ParseTree child = ctx.getChild(i);
        if(child instanceof TerminalNode && ((TerminalNode)child).getSymbol().getType() == token.getId()) {
            return ((TerminalNode)child).getSymbol();
        }
    }
    throw new IllegalArgumentException("Illegal arguments");
}
 
开发者ID:jdemeschew,项目名称:stpnb,代码行数:10,代码来源:BraceMatchingVisitor.java

示例4: searchTokenFromTail

import org.antlr.v4.runtime.RuleContext; //导入方法依赖的package包/类
private Token searchTokenFromTail(RuleContext ctx, SilverstripeTokenId token) {
    for(int i=ctx.getChildCount()-1; i>=0; i--) {
        ParseTree child = ctx.getChild(i);
        if(child instanceof TerminalNode && ((TerminalNode)child).getSymbol().getType() == token.getId()) {
            return ((TerminalNode)child).getSymbol();
        }
    }
    throw new IllegalArgumentException("Illegal arguments");
}
 
开发者ID:jdemeschew,项目名称:stpnb,代码行数:10,代码来源:BraceMatchingVisitor.java


注:本文中的org.antlr.v4.runtime.RuleContext.getChildCount方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。