antlr/antlr4 · error · ArgumentOutOfRangeException

fromIndex

Error message

fromIndex

What it means

Error "fromIndex" thrown in antlr/antlr4.

Source

Thrown at runtime/CSharp/src/Sharpen/BitSet.cs:185

        {
            for (int i = 0; i < _data.Length; i++)
            {
                if (_data[i] != 0)
                    return false;
            }

            return true;
        }

        public int Cardinality()
        {
            return GetBitCount(_data);
        }

        public int NextSetBit(int fromIndex)
        {
            if (fromIndex < 0)
                throw new ArgumentOutOfRangeException("fromIndex");

            if (IsEmpty())
                return -1;

            int i = fromIndex / BitsPerElement;
            if (i >= _data.Length)
                return -1;

            ulong current = _data[i] & ~((1UL << (fromIndex % BitsPerElement)) - 1);

            while (true)
            {
                int bit = BitScanForward(current);
                if (bit >= 0)
                    return bit + i * BitsPerElement;

                i++;
                if (i >= _data.Length)

View on GitHub (pinned to 7d5770395b)

Solutions

  1. Pass a valid fromIndex within the set's range (>= 0).
  2. Ensure fromIndex <= toIndex for range operations.

Example fix

int next = bits.NextSetBit(0);

When it happens

Trigger: BitSet.NextSetBit/PreviousSetBit called with a negative fromIndex.

Common situations: Clamp fromIndex to >= 0 before calling NextSetBit or related search methods.


AI-assisted analysis of antlr/antlr4@7d5770395b (2026-08-14). Data as JSON: /api/errors/9d07a95c7657ad48. Report an issue: GitHub.