src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexCharClass.cs (54)
579int strLength = SetStartIndex + set.Length + category.Length;
600state.set.AsSpan(2).CopyTo(span.Slice(SetStartIndex));
601index = SetStartIndex + state.set.Length - 2;
608state.set.AsSpan().CopyTo(span.Slice(SetStartIndex));
609index = SetStartIndex + state.set.Length;
622return set[SetStartIndex];
648(set[SetStartIndex] == LastChar || set[SetStartIndex] + 1 == set[SetStartIndex + 1]);
655(set[SetStartIndex] == LastChar || set[SetStartIndex] + 1 == set[SetStartIndex + 1]);
680int categoryEnd = SetStartIndex + set[CategoryLengthIndex];
681for (int pos = SetStartIndex; pos < categoryEnd; pos++)
784set.Length == SetStartIndex + set[SetLengthIndex]) // and no subtraction
789lowInclusive = set[SetStartIndex];
794lowInclusive = set[SetStartIndex];
795highInclusive = (char)(set[SetStartIndex + 1] - 1);
815set.Length == SetStartIndex + set[SetLengthIndex]) // and no subtraction
820range0 = (set[SetStartIndex], (char)(set[SetStartIndex + 1] - 1));
821range1 = (set[SetStartIndex + 2], setLength == 3 ? LastChar : (char)(set[SetStartIndex + 3] - 1));
867for (int i = SetStartIndex; i < SetStartIndex + setLength; i += 2)
1013for (int i = SetStartIndex; i < SetStartIndex + set2[SetLengthIndex]; i += 2)
1152set.Length > SetStartIndex &&
1205char firstValueInclusive = set[SetStartIndex];
1206char lastValueExclusive = set[SetStartIndex + set[SetLengthIndex] - 1];
1220ContainsNoAscii = firstValueInclusive == 0 && set[SetStartIndex + 1] >= 128,
1233AllAsciiContained = firstValueInclusive == 0 && set[SetStartIndex + 1] >= 128 && !hasSubtraction,
1242charClass.Length > SetStartIndex +
1325for (int i = SetStartIndex; i < SetStartIndex + set[SetLengthIndex]; i += 2)
1446int endPosition = start + SetStartIndex + setLength + categoryLength;
1472int min = start + SetStartIndex;
1494Debug.Assert((SetStartIndex & 0x1) == 1, "If SetStartIndex is not odd, the calculation below this will be reversed");
1505return CharInCategory(ch, set.AsSpan(SetStartIndex + start + setLength, categoryLength));
1604int endPosition = start + SetStartIndex + setLength + categoryLength;
1606int i = start + SetStartIndex;
1630int i = SetStartIndex;
1733return StringExtensions.Create(SetStartIndex + count, (IntPtr)(&tmpChars), static (span, charsPtr) =>
1737span[SetLengthIndex] = (char)(span.Length - SetStartIndex);
1739int i = SetStartIndex;
1772Span<char> headerSpan = vsb.AppendSpan(SetStartIndex);
1794vsb[initialLength + SetLengthIndex] = (char)(vsb.Length - initialLength - SetStartIndex);
2010int endPosition = SetStartIndex + setLength + categoryLength;
2020set[SetStartIndex] + 1 == set[SetStartIndex + 1])
2022return DescribeChar(set[SetStartIndex]);
2025int index = SetStartIndex;
2032int rangesEnd = SetStartIndex + set[SetLengthIndex];
2087while (index < SetStartIndex + set[SetLengthIndex] + set[CategoryLengthIndex])