Example #1
0
  public static RuleContext findTopContext(
      Parser parser, RuleContext context, IntervalSet values, boolean checkTop) {
    if (checkTop && values.contains(context.getRuleIndex())) {
      return context;
    }

    if (context.isEmpty()) {
      return null;
    }

    if (values.contains(parser.getATN().states.get(context.invokingState).ruleIndex)) {
      return context.parent;
    }

    return findTopContext(parser, context.parent, values, false);
  }