src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexCharClass.cs (52)
559int strLength = SetStartIndex + set.Length + category.Length;
580state.set.AsSpan(2).CopyTo(span.Slice(SetStartIndex));
581index = SetStartIndex + state.set.Length - 2;
588state.set.AsSpan().CopyTo(span.Slice(SetStartIndex));
589index = SetStartIndex + state.set.Length;
602return set[SetStartIndex];
628(set[SetStartIndex] == LastChar || set[SetStartIndex] + 1 == set[SetStartIndex + 1]);
635(set[SetStartIndex] == LastChar || set[SetStartIndex] + 1 == set[SetStartIndex + 1]);
660int categoryEnd = SetStartIndex + set[CategoryLengthIndex];
661for (int pos = SetStartIndex; pos < categoryEnd; pos++)
764set.Length == SetStartIndex + set[SetLengthIndex]) // and no subtraction
769lowInclusive = set[SetStartIndex];
774lowInclusive = set[SetStartIndex];
775highInclusive = (char)(set[SetStartIndex + 1] - 1);
795set.Length == SetStartIndex + set[SetLengthIndex]) // and no subtraction
800range0 = (set[SetStartIndex], (char)(set[SetStartIndex + 1] - 1));
801range1 = (set[SetStartIndex + 2], setLength == 3 ? LastChar : (char)(set[SetStartIndex + 3] - 1));
847for (int i = SetStartIndex; i < SetStartIndex + setLength; i += 2)
948for (int i = SetStartIndex; i < SetStartIndex + set2[SetLengthIndex]; i += 2)
1087set.Length > SetStartIndex &&
1140char firstValueInclusive = set[SetStartIndex];
1141char lastValueExclusive = set[SetStartIndex + set[SetLengthIndex] - 1];
1155ContainsNoAscii = firstValueInclusive == 0 && set[SetStartIndex + 1] >= 128,
1168AllAsciiContained = firstValueInclusive == 0 && set[SetStartIndex + 1] >= 128 && !hasSubtraction,
1177charClass.Length > SetStartIndex +
1329int endPosition = start + SetStartIndex + setLength + categoryLength;
1355int min = start + SetStartIndex;
1377Debug.Assert((SetStartIndex & 0x1) == 1, "If SetStartIndex is not odd, the calculation below this will be reversed");
1388return CharInCategory(ch, set.AsSpan(SetStartIndex + start + setLength, categoryLength));
1487int endPosition = start + SetStartIndex + setLength + categoryLength;
1489int i = start + SetStartIndex;
1513int i = SetStartIndex;
1601.Create(SetStartIndex + count, (IntPtr)(&tmpChars), static (span, charsPtr) =>
1605span[SetLengthIndex] = (char)(span.Length - SetStartIndex);
1607int i = SetStartIndex;
1636Span<char> headerSpan = vsb.AppendSpan(SetStartIndex);
1658vsb[initialLength + SetLengthIndex] = (char)(vsb.Length - initialLength - SetStartIndex);
1872int endPosition = SetStartIndex + setLength + categoryLength;
1881set[SetStartIndex] + 1 == set[SetStartIndex + 1])
1883return DescribeChar(set[SetStartIndex]);
1886int index = SetStartIndex;
1893int rangesEnd = SetStartIndex + set[SetLengthIndex];
1948while (index < SetStartIndex + set[SetLengthIndex] + set[CategoryLengthIndex])