getSingleViableAlt static method

int getSingleViableAlt(
  1. List<BitSet> altsets
)

Implementation

static int getSingleViableAlt(List<BitSet> altsets) {
  final viableAlts = BitSet();
  for (var alts in altsets) {
    final minAlt = alts.nextset(0);
    viableAlts.set(minAlt);
    if (viableAlts.cardinality > 1) {
      // more than 1 viable alt
      return ATN.INVALID_ALT_NUMBER;
    }
  }
  return viableAlts.nextset(0);
}