<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetFileInfoRegex_8
sealed class <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetFileInfoRegex_8 : Regex
using System.CodeDom.Compiler;
using System.Collections;
using System.Runtime.CompilerServices;
namespace System.Text.RegularExpressions.Generated
{
[GeneratedCode("System.Text.RegularExpressions.Generator", "8.0.12.16413")]
internal sealed class <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetFileInfoRegex_8 : Regex
{
private sealed class RunnerFactory : RegexRunnerFactory
{
private sealed class Runner : RegexRunner
{
protected override void Scan(ReadOnlySpan<char> inputSpan)
{
while (TryFindNextPossibleStartingPosition(inputSpan) && !TryMatchAtCurrentPosition(inputSpan) && runtextpos != inputSpan.Length) {
runtextpos++;
if (<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_hasTimeout)
CheckTimeout();
}
}
private bool TryFindNextPossibleStartingPosition(ReadOnlySpan<char> inputSpan)
{
int runtextpos = base.runtextpos;
if (runtextpos <= inputSpan.Length - 9) {
ReadOnlySpan<char> readOnlySpan = inputSpan.Slice(runtextpos);
int num;
for (num = 0; num < readOnlySpan.Length - 8; num++) {
int num2 = readOnlySpan.Slice(num).IndexOf('C');
if (num2 < 0)
break;
num += num2;
if ((uint)(num + 5) >= (uint)readOnlySpan.Length)
break;
if (readOnlySpan[num + 5] == ' ' && char.IsDigit(readOnlySpan[num + 1])) {
base.runtextpos = runtextpos + num;
return true;
}
}
}
base.runtextpos = inputSpan.Length;
return false;
}
private bool TryMatchAtCurrentPosition(ReadOnlySpan<char> inputSpan)
{
int runtextpos = base.runtextpos;
int start = runtextpos;
int num = 0;
int num2 = 0;
int num3 = 0;
ReadOnlySpan<char> span = inputSpan.Slice(runtextpos);
if (span.IsEmpty || span[0] != 'C') {
<TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0);
return false;
}
runtextpos++;
span = inputSpan.Slice(runtextpos);
num = runtextpos;
if ((uint)span.Length < 4 || !char.IsDigit(span[0]) || !char.IsDigit(span[1]) || !char.IsDigit(span[2]) || !char.IsDigit(span[3])) {
<TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0);
return false;
}
runtextpos += 4;
span = inputSpan.Slice(runtextpos);
Capture(1, num, runtextpos);
if (span.IsEmpty || span[0] != ' ') {
<TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0);
return false;
}
runtextpos++;
span = inputSpan.Slice(runtextpos);
num2 = runtextpos;
int i;
for (i = 0; (uint)i < (uint)span.Length && char.IsDigit(span[i]); i++) {
}
if (i == 0) {
<TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0);
return false;
}
span = span.Slice(i);
runtextpos += i;
Capture(2, num2, runtextpos);
if (span.IsEmpty || span[0] != ' ') {
<TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0);
return false;
}
runtextpos++;
span = inputSpan.Slice(runtextpos);
num3 = runtextpos;
int num4 = span.IndexOf('\n');
if (num4 < 0)
num4 = span.Length;
if (num4 == 0) {
<TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0);
return false;
}
span = span.Slice(num4);
runtextpos += num4;
Capture(3, num3, runtextpos);
base.runtextpos = runtextpos;
Capture(0, start, runtextpos);
return true;
}
}
[NullableContext(1)]
protected override RegexRunner CreateInstance()
{
return new Runner();
}
}
[Nullable(1)]
internal static readonly <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetFileInfoRegex_8 Instance = new <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetFileInfoRegex_8();
private <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetFileInfoRegex_8()
{
pattern = "C(?<mode>\\d{4}) (?<length>\\d+) (?<filename>.+)";
roptions = RegexOptions.None;
Regex.ValidateMatchTimeout(<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_defaultTimeout);
internalMatchTimeout = <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_defaultTimeout;
factory = new RunnerFactory();
base.CapNames = new Hashtable {
{
"0",
0
},
{
"filename",
3
},
{
"length",
2
},
{
"mode",
1
}
};
capslist = new string[4] {
"0",
"mode",
"length",
"filename"
};
capsize = 4;
}
}
}