@Override public ImmutableRangeSet<Integer> lookahead(Language lang) { Frequency ff = lang.lali.consumesInput(first); switch (ff) { case NEVER: return lang.lali.lookahead(second); case ALWAYS: return lang.lali.lookahead(first); case SOMETIMES: TreeRangeSet<Integer> r = TreeRangeSet.create(); r.addAll(lang.lali.lookahead(first)); r.addAll(lang.lali.lookahead(second)); return ImmutableRangeSet.copyOf(r); } throw new AssertionError(ff.name()); }
public FileToFormat(RangeSet<Integer> lineRanges, List<Integer> offsets, List<Integer> lengths) { this.lineRanges = ImmutableRangeSet.copyOf(lineRanges); this.offsets = ImmutableList.copyOf(offsets); this.lengths = ImmutableList.copyOf(lengths); }