src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexCharClass.cs (54)
429int strLength = SetStartIndex + set.Length + category.Length;
450state.set.AsSpan(2).CopyTo(span.Slice(SetStartIndex));
451index = SetStartIndex + state.set.Length - 2;
458state.set.AsSpan().CopyTo(span.Slice(SetStartIndex));
459index = SetStartIndex + state.set.Length;
472return set[SetStartIndex];
498(set[SetStartIndex] == LastChar || set[SetStartIndex] + 1 == set[SetStartIndex + 1]);
505(set[SetStartIndex] == LastChar || set[SetStartIndex] + 1 == set[SetStartIndex + 1]);
530int categoryEnd = SetStartIndex + set[CategoryLengthIndex];
531for (int pos = SetStartIndex; pos < categoryEnd; pos++)
634set.Length == SetStartIndex + set[SetLengthIndex]) // and no subtraction
639lowInclusive = set[SetStartIndex];
644lowInclusive = set[SetStartIndex];
645highInclusive = (char)(set[SetStartIndex + 1] - 1);
665set.Length == SetStartIndex + set[SetLengthIndex]) // and no subtraction
670range0 = (set[SetStartIndex], (char)(set[SetStartIndex + 1] - 1));
671range1 = (set[SetStartIndex + 2], setLength == 3 ? LastChar : (char)(set[SetStartIndex + 3] - 1));
717for (int i = SetStartIndex; i < SetStartIndex + setLength; i += 2)
863for (int i = SetStartIndex; i < SetStartIndex + set2[SetLengthIndex]; i += 2)
984set.Length > SetStartIndex &&
1037char firstValueInclusive = set[SetStartIndex];
1038char lastValueExclusive = set[SetStartIndex + set[SetLengthIndex] - 1];
1052ContainsNoAscii = firstValueInclusive == 0 && set[SetStartIndex + 1] >= 128,
1065AllAsciiContained = firstValueInclusive == 0 && set[SetStartIndex + 1] >= 128 && !hasSubtraction,
1074charClass.Length > SetStartIndex +
1157for (int i = SetStartIndex; i < SetStartIndex + set[SetLengthIndex]; i += 2)
1278int endPosition = start + SetStartIndex + setLength + categoryLength;
1304int min = start + SetStartIndex;
1326Debug.Assert((SetStartIndex & 0x1) == 1, "If SetStartIndex is not odd, the calculation below this will be reversed");
1337return CharInCategory(ch, set.AsSpan(SetStartIndex + start + setLength, categoryLength));
1436int endPosition = start + SetStartIndex + setLength + categoryLength;
1438int i = start + SetStartIndex;
1462int i = SetStartIndex;
1565return StringExtensions.Create(SetStartIndex + count, (IntPtr)(&tmpChars), static (span, charsPtr) =>
1569span[SetLengthIndex] = (char)(span.Length - SetStartIndex);
1571int i = SetStartIndex;
1604Span<char> headerSpan = vsb.AppendSpan(SetStartIndex);
1626vsb[initialLength + SetLengthIndex] = (char)(vsb.Length - initialLength - SetStartIndex);
1842int endPosition = SetStartIndex + setLength + categoryLength;
1852set[SetStartIndex] + 1 == set[SetStartIndex + 1])
1854return DescribeChar(set[SetStartIndex]);
1857int index = SetStartIndex;
1864int rangesEnd = SetStartIndex + set[SetLengthIndex];
1919while (index < SetStartIndex + set[SetLengthIndex] + set[CategoryLengthIndex])