src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexCharClass.cs (54)
446int strLength = SetStartIndex + set.Length + category.Length;
467state.set.AsSpan(2).CopyTo(span.Slice(SetStartIndex));
468index = SetStartIndex + state.set.Length - 2;
475state.set.AsSpan().CopyTo(span.Slice(SetStartIndex));
476index = SetStartIndex + state.set.Length;
489return set[SetStartIndex];
515(set[SetStartIndex] == LastChar || set[SetStartIndex] + 1 == set[SetStartIndex + 1]);
522(set[SetStartIndex] == LastChar || set[SetStartIndex] + 1 == set[SetStartIndex + 1]);
547int categoryEnd = SetStartIndex + set[CategoryLengthIndex];
548for (int pos = SetStartIndex; pos < categoryEnd; pos++)
651set.Length == SetStartIndex + set[SetLengthIndex]) // and no subtraction
656lowInclusive = set[SetStartIndex];
661lowInclusive = set[SetStartIndex];
662highInclusive = (char)(set[SetStartIndex + 1] - 1);
682set.Length == SetStartIndex + set[SetLengthIndex]) // and no subtraction
687range0 = (set[SetStartIndex], (char)(set[SetStartIndex + 1] - 1));
688range1 = (set[SetStartIndex + 2], setLength == 3 ? LastChar : (char)(set[SetStartIndex + 3] - 1));
734for (int i = SetStartIndex; i < SetStartIndex + setLength; i += 2)
880for (int i = SetStartIndex; i < SetStartIndex + set2[SetLengthIndex]; i += 2)
1001set.Length > SetStartIndex &&
1054char firstValueInclusive = set[SetStartIndex];
1055char lastValueExclusive = set[SetStartIndex + set[SetLengthIndex] - 1];
1069ContainsNoAscii = firstValueInclusive == 0 && set[SetStartIndex + 1] >= 128,
1082AllAsciiContained = firstValueInclusive == 0 && set[SetStartIndex + 1] >= 128 && !hasSubtraction,
1091charClass.Length > SetStartIndex +
1174for (int i = SetStartIndex; i < SetStartIndex + set[SetLengthIndex]; i += 2)
1295int endPosition = start + SetStartIndex + setLength + categoryLength;
1321int min = start + SetStartIndex;
1343Debug.Assert((SetStartIndex & 0x1) == 1, "If SetStartIndex is not odd, the calculation below this will be reversed");
1354return CharInCategory(ch, set.AsSpan(SetStartIndex + start + setLength, categoryLength));
1453int endPosition = start + SetStartIndex + setLength + categoryLength;
1455int i = start + SetStartIndex;
1479int i = SetStartIndex;
1582return StringExtensions.Create(SetStartIndex + count, (IntPtr)(&tmpChars), static (span, charsPtr) =>
1586span[SetLengthIndex] = (char)(span.Length - SetStartIndex);
1588int i = SetStartIndex;
1621Span<char> headerSpan = vsb.AppendSpan(SetStartIndex);
1643vsb[initialLength + SetLengthIndex] = (char)(vsb.Length - initialLength - SetStartIndex);
1859int endPosition = SetStartIndex + setLength + categoryLength;
1869set[SetStartIndex] + 1 == set[SetStartIndex + 1])
1871return DescribeChar(set[SetStartIndex]);
1874int index = SetStartIndex;
1881int rangesEnd = SetStartIndex + set[SetLengthIndex];
1936while (index < SetStartIndex + set[SetLengthIndex] + set[CategoryLengthIndex])