| File: _generated\0\RegexGenerator.g.cs | Web Access |
| Project: src\runtime\src\libraries\System.Private.DataContractSerialization\src\System.Private.DataContractSerialization.csproj (System.Private.DataContractSerialization) |
// <auto-generated/> #nullable enable #pragma warning disable namespace System.Runtime.Serialization { partial class Globals { /// <remarks> /// Pattern:<br/> /// <code>^[\s]*System\.Runtime\.Serialization[\s]*,[\s]*PublicKey[\s]*=[\s]*(?i:00240000048000009400000006020000002400005253413100040000010001008d56c76f9e8649383049f383c44be0ec204181822a6c31cf5eb7ef486944d032188ea1d3920763712ccb12d75fb77e9811149e6148e5d32fbaab37611c1878ddc19e20ef135d0cb2cff2bfec3d115810c3d9069638fe4be215dbf795861920e5ab6f7db2e2ceef136ac23d5dd2bf031700aec232f6c6b1c785b4305c123b37ab)[\s]*$</code><br/> /// Explanation:<br/> /// <code> /// ○ Match if at the beginning of the string.<br/> /// ○ Match a whitespace character atomically any number of times.<br/> /// ○ Match the string "System.Runtime.Serialization".<br/> /// ○ Match a whitespace character atomically any number of times.<br/> /// ○ Match ','.<br/> /// ○ Match a whitespace character atomically any number of times.<br/> /// ○ Match the string "PublicKey".<br/> /// ○ Match a whitespace character atomically any number of times.<br/> /// ○ Match '='.<br/> /// ○ Match a whitespace character atomically any number of times.<br/> /// ○ Match the string "00240000048000009400000006020000002400005253413100040000010001008".<br/> /// ○ Match a character in the set [Dd].<br/> /// ○ Match the string "56".<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match the string "76".<br/> /// ○ Match a character in the set [Ff].<br/> /// ○ Match '9'.<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match the string "8649383049".<br/> /// ○ Match a character in the set [Ff].<br/> /// ○ Match the string "383".<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match the string "44".<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match '0'.<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match the string "204181822".<br/> /// ○ Match a character in the set [Aa].<br/> /// ○ Match '6'.<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match the string "31".<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match a character in the set [Ff].<br/> /// ○ Match '5'.<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match '7'.<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match a character in the set [Ff].<br/> /// ○ Match the string "486944".<br/> /// ○ Match a character in the set [Dd].<br/> /// ○ Match the string "032188".<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match a character in the set [Aa].<br/> /// ○ Match '1'.<br/> /// ○ Match a character in the set [Dd].<br/> /// ○ Match the string "3920763712".<br/> /// ○ Match a character in the set [Cc] exactly 2 times.<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match the string "12".<br/> /// ○ Match a character in the set [Dd].<br/> /// ○ Match the string "75".<br/> /// ○ Match a character in the set [Ff].<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match the string "77".<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match the string "9811149".<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match the string "6148".<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match '5'.<br/> /// ○ Match a character in the set [Dd].<br/> /// ○ Match the string "32".<br/> /// ○ Match a character in the set [Ff].<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match a character in the set [Aa] exactly 2 times.<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match the string "37611".<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match the string "1878".<br/> /// ○ Match a character in the set [Dd] exactly 2 times.<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match the string "19".<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match the string "20".<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match a character in the set [Ff].<br/> /// ○ Match the string "135".<br/> /// ○ Match a character in the set [Dd].<br/> /// ○ Match '0'.<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match '2'.<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match a character in the set [Ff] exactly 2 times.<br/> /// ○ Match '2'.<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match a character in the set [Ff].<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match '3'.<br/> /// ○ Match a character in the set [Dd].<br/> /// ○ Match the string "115810".<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match '3'.<br/> /// ○ Match a character in the set [Dd].<br/> /// ○ Match the string "9069638".<br/> /// ○ Match a character in the set [Ff].<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match '4'.<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match the string "215".<br/> /// ○ Match a character in the set [Dd].<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match a character in the set [Ff].<br/> /// ○ Match the string "795861920".<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match '5'.<br/> /// ○ Match a character in the set [Aa].<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match '6'.<br/> /// ○ Match a character in the set [Ff].<br/> /// ○ Match '7'.<br/> /// ○ Match a character in the set [Dd].<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match '2'.<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match '2'.<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match a character in the set [Ee] exactly 2 times.<br/> /// ○ Match a character in the set [Ff].<br/> /// ○ Match the string "136".<br/> /// ○ Match a character in the set [Aa].<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match the string "23".<br/> /// ○ Match a character in the set [Dd].<br/> /// ○ Match '5'.<br/> /// ○ Match a character in the set [Dd] exactly 2 times.<br/> /// ○ Match '2'.<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match a character in the set [Ff].<br/> /// ○ Match the string "031700".<br/> /// ○ Match a character in the set [Aa].<br/> /// ○ Match a character in the set [Ee].<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match the string "232".<br/> /// ○ Match a character in the set [Ff].<br/> /// ○ Match '6'.<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match '6'.<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match '1'.<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match the string "785".<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match the string "4305".<br/> /// ○ Match a character in the set [Cc].<br/> /// ○ Match the string "123".<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match the string "37".<br/> /// ○ Match a character in the set [Aa].<br/> /// ○ Match a character in the set [Bb].<br/> /// ○ Match a whitespace character greedily any number of times.<br/> /// ○ Match if at the end of the string or if before an ending newline.<br/> /// </code> /// </remarks> [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Text.RegularExpressions.Generator", "11.0.14.37215")] public static partial global::System.Text.RegularExpressions.Regex FullSRSInternalsVisibleRegex => global::System.Text.RegularExpressions.Generated.FullSRSInternalsVisibleRegex_0.Instance; } } namespace System.Text.RegularExpressions.Generated { using System; using System.Buffers; using System.CodeDom.Compiler; using System.Collections; using System.ComponentModel; using System.Globalization; using System.Runtime.CompilerServices; using System.Text.RegularExpressions; using System.Threading; /// <summary>Custom <see cref="Regex"/>-derived type for the FullSRSInternalsVisibleRegex method.</summary> [GeneratedCodeAttribute("System.Text.RegularExpressions.Generator", "11.0.14.37215")] [SkipLocalsInit] file sealed class FullSRSInternalsVisibleRegex_0 : Regex { /// <summary>Cached, thread-safe singleton instance.</summary> internal static readonly FullSRSInternalsVisibleRegex_0 Instance = new(); /// <summary>Initializes the instance.</summary> private FullSRSInternalsVisibleRegex_0() { base.pattern = "^[\\s]*System\\.Runtime\\.Serialization[\\s]*,[\\s]*PublicKey[\\s]*=[\\s]*(?i:00240000048000009400000006020000002400005253413100040000010001008d56c76f9e8649383049f383c44be0ec204181822a6c31cf5eb7ef486944d032188ea1d3920763712ccb12d75fb77e9811149e6148e5d32fbaab37611c1878ddc19e20ef135d0cb2cff2bfec3d115810c3d9069638fe4be215dbf795861920e5ab6f7db2e2ceef136ac23d5dd2bf031700aec232f6c6b1c785b4305c123b37ab)[\\s]*$"; base.roptions = RegexOptions.None; ValidateMatchTimeout(Utilities.s_defaultTimeout); base.internalMatchTimeout = Utilities.s_defaultTimeout; base.factory = new RunnerFactory(); base.capsize = 1; } /// <summary>Provides a factory for creating <see cref="RegexRunner"/> instances to be used by methods on <see cref="Regex"/>.</summary> private sealed class RunnerFactory : RegexRunnerFactory { /// <summary>Creates an instance of a <see cref="RegexRunner"/> used by methods on <see cref="Regex"/>.</summary> protected override RegexRunner CreateInstance() => new Runner(); /// <summary>Provides the runner that contains the custom logic implementing the specified regular expression.</summary> private sealed class Runner : RegexRunner { /// <summary>Scan the <paramref name="inputSpan"/> starting from base.runtextstart for the next match.</summary> /// <param name="inputSpan">The text being scanned by the regular expression.</param> protected override void Scan(ReadOnlySpan<char> inputSpan) { // The pattern is anchored. Validate the current position and try to match at it only. if (TryFindNextPossibleStartingPosition(inputSpan) && !TryMatchAtCurrentPosition(inputSpan)) { base.runtextpos = inputSpan.Length; } } /// <summary>Search <paramref name="inputSpan"/> starting from base.runtextpos for the next location a match could possibly start.</summary> /// <param name="inputSpan">The text being scanned by the regular expression.</param> /// <returns>true if a possible match was found; false if no more matches are possible.</returns> private bool TryFindNextPossibleStartingPosition(ReadOnlySpan<char> inputSpan) { int pos = base.runtextpos; // Any possible match is at least 359 characters. if (pos <= inputSpan.Length - 359) { // The pattern leads with a beginning (\A) anchor. if (pos == 0) { return true; } } // No match found. base.runtextpos = inputSpan.Length; return false; } /// <summary>Determine whether <paramref name="inputSpan"/> at base.runtextpos is a match for the regular expression.</summary> /// <param name="inputSpan">The text being scanned by the regular expression.</param> /// <returns>true if the regular expression matches at the current position; otherwise, false.</returns> private bool TryMatchAtCurrentPosition(ReadOnlySpan<char> inputSpan) { int pos = base.runtextpos; int matchStart = pos; int charloop_starting_pos = 0, charloop_ending_pos = 0; ReadOnlySpan<char> slice = inputSpan.Slice(pos); // Match if at the beginning of the string. if (pos != 0) { return false; // The input didn't match. } // Match a whitespace character atomically any number of times. { int iteration = 0; while ((uint)iteration < (uint)slice.Length && char.IsWhiteSpace(slice[iteration])) { iteration++; } slice = slice.Slice(iteration); pos += iteration; } // Match the string "System.Runtime.Serialization". if (!slice.StartsWith("System.Runtime.Serialization")) { return false; // The input didn't match. } // Match a whitespace character atomically any number of times. { int iteration1 = 28; while ((uint)iteration1 < (uint)slice.Length && char.IsWhiteSpace(slice[iteration1])) { iteration1++; } slice = slice.Slice(iteration1); pos += iteration1; } // Match ','. if (slice.IsEmpty || slice[0] != ',') { return false; // The input didn't match. } // Match a whitespace character atomically any number of times. { int iteration2 = 1; while ((uint)iteration2 < (uint)slice.Length && char.IsWhiteSpace(slice[iteration2])) { iteration2++; } slice = slice.Slice(iteration2); pos += iteration2; } // Match the string "PublicKey". if (!slice.StartsWith("PublicKey")) { return false; // The input didn't match. } // Match a whitespace character atomically any number of times. { int iteration3 = 9; while ((uint)iteration3 < (uint)slice.Length && char.IsWhiteSpace(slice[iteration3])) { iteration3++; } slice = slice.Slice(iteration3); pos += iteration3; } // Match '='. if (slice.IsEmpty || slice[0] != '=') { return false; // The input didn't match. } // Match a whitespace character atomically any number of times. { int iteration4 = 1; while ((uint)iteration4 < (uint)slice.Length && char.IsWhiteSpace(slice[iteration4])) { iteration4++; } slice = slice.Slice(iteration4); pos += iteration4; } if ((uint)slice.Length < 320 || !slice.StartsWith("00240000048000009400000006020000002400005253413100040000010001008d56c76f9e8649383049f383c44be0ec204181822a6c31cf5eb7ef486944d032188ea1d3920763712ccb12d75fb77e9811149e6148e5d32fbaab37611c1878ddc19e20ef135d0cb2cff2bfec3d115810c3d9069638fe4be215dbf795861920e5ab6f7db2e2ceef136ac23d5dd2bf031700aec232f6c6b1c785b4305c123b37ab", StringComparison.OrdinalIgnoreCase)) // Match the string "00240000048000009400000006020000002400005253413100040000010001008d56c76f9e8649383049f383c44be0ec204181822a6c31cf5eb7ef486944d032188ea1d3920763712ccb12d75fb77e9811149e6148e5d32fbaab37611c1878ddc19e20ef135d0cb2cff2bfec3d115810c3d9069638fe4be215dbf795861920e5ab6f7db2e2ceef136ac23d5dd2bf031700aec232f6c6b1c785b4305c123b37ab" (ordinal case-insensitive) { return false; // The input didn't match. } // Match a whitespace character greedily any number of times. //{ pos += 320; slice = inputSpan.Slice(pos); charloop_starting_pos = pos; int iteration5 = 0; while ((uint)iteration5 < (uint)slice.Length && char.IsWhiteSpace(slice[iteration5])) { iteration5++; } slice = slice.Slice(iteration5); pos += iteration5; charloop_ending_pos = pos; goto CharLoopEnd; CharLoopBacktrack: if (Utilities.s_hasTimeout) { base.CheckTimeout(); } if (charloop_starting_pos >= charloop_ending_pos) { return false; // The input didn't match. } pos = --charloop_ending_pos; slice = inputSpan.Slice(pos); CharLoopEnd: //} // Match if at the end of the string or if before an ending newline. if (pos < inputSpan.Length - 1 || ((uint)pos < (uint)inputSpan.Length && inputSpan[pos] != '\n')) { goto CharLoopBacktrack; } // The input matched. base.runtextpos = pos; base.Capture(0, matchStart, pos); return true; } } } } /// <summary>Helper methods used by generated <see cref="Regex"/>-derived implementations.</summary> [GeneratedCodeAttribute("System.Text.RegularExpressions.Generator", "11.0.14.37215")] file static class Utilities { /// <summary>Default timeout value set in <see cref="AppContext"/>, or <see cref="Regex.InfiniteMatchTimeout"/> if none was set.</summary> internal static readonly TimeSpan s_defaultTimeout = AppContext.GetData("REGEX_DEFAULT_MATCH_TIMEOUT") is TimeSpan timeout ? timeout : Regex.InfiniteMatchTimeout; /// <summary>Whether <see cref="s_defaultTimeout"/> is non-infinite.</summary> internal static readonly bool s_hasTimeout = s_defaultTimeout != Regex.InfiniteMatchTimeout; } }