4765 {
4767 int num;
4769 {
4773 {
4774 goto IL_0048;
4775 }
4776 while (true)
4777 {
4779 if ((uint)i >= (uint)
value.Length)
4780 {
4781 break;
4782 }
4785 {
4786 continue;
4787 }
4788 goto IL_0048;
4789 }
4790 }
4791 goto IL_0281;
4792 IL_01a7:
4793 int num2 = num - 48;
4795 int num3 = 0;
4796 while (num3 < 8)
4797 {
4798 if ((uint)i >= (uint)
value.Length)
4799 {
4800 goto IL_0275;
4801 }
4804 {
4806 num2 = 10 * num2 + num - 48;
4807 num3++;
4808 continue;
4809 }
4810 goto IL_0293;
4811 }
4812 if ((uint)i >= (uint)
value.Length)
4813 {
4814 goto IL_0275;
4815 }
4817 bool flag;
4819 {
4821 flag = flag || (uint)num2 > 429496729u || (num2 == 429496729 && num > 53);
4822 num2 = num2 * 10 + num - 48;
4823 if ((uint)
i >= (uint)
value.Length)
4824 {
4825 goto IL_0275;
4826 }
4829 {
4830 flag = true;
4832 if ((uint)
i < (uint)
value.Length)
4833 {
4835 continue;
4836 }
4837 goto IL_0289;
4838 }
4839 }
4840 goto IL_0293;
4841 IL_0278:
4842 result = (uint)num2;
4844 IL_019c:
4846 {
4847 goto IL_01a7;
4848 }
4849 flag = false;
4850 goto IL_0293;
4851 IL_0275:
4852 if (!flag)
4853 {
4854 goto IL_0278;
4855 }
4856 goto IL_0289;
4857 IL_0048:
4858 flag = false;
4860 {
4861 if (
info.HasInvariantNumberSigns)
4862 {
4863 if (num == 43)
4864 {
4866 if ((uint)
i >= (uint)
value.Length)
4867 {
4868 goto IL_0281;
4869 }
4871 }
4872 else if (num == 45)
4873 {
4874 flag = true;
4876 if ((uint)
i >= (uint)
value.Length)
4877 {
4878 goto IL_0281;
4879 }
4881 }
4882 }
4883 else if (
info.AllowHyphenDuringParsing && num == 45)
4884 {
4885 flag = true;
4887 if ((uint)
i >= (uint)
value.Length)
4888 {
4889 goto IL_0281;
4890 }
4892 }
4893 else
4894 {
4897 string positiveSign =
info.PositiveSign;
4898 string negativeSign =
info.NegativeSign;
4899 if (!
string.IsNullOrEmpty(positiveSign) &&
value.StartsWith(positiveSign))
4900 {
4901 i += positiveSign.Length;
4902 if ((uint)
i >= (uint)
value.Length)
4903 {
4904 goto IL_0281;
4905 }
4907 }
4908 else if (!
string.IsNullOrEmpty(negativeSign) &&
value.StartsWith(negativeSign))
4909 {
4910 flag = true;
4911 i += negativeSign.Length;
4912 if ((uint)
i >= (uint)
value.Length)
4913 {
4914 goto IL_0281;
4915 }
4917 }
4918 }
4919 }
4920 num2 = 0;
4922 {
4923 if (num != 48)
4924 {
4925 goto IL_01a7;
4926 }
4927 while (true)
4928 {
4930 if ((uint)
i >= (uint)
value.Length)
4931 {
4932 break;
4933 }
4935 if (num == 48)
4936 {
4937 continue;
4938 }
4939 goto IL_019c;
4940 }
4941 goto IL_0278;
4942 }
4943 goto IL_0281;
4944 IL_0293:
4946 {
4948 {
4949 goto IL_0281;
4950 }
4952 {
4953 }
4954 if ((uint)
i >= (uint)
value.Length)
4955 {
4956 goto IL_0275;
4957 }
4958 }
4960 {
4961 goto IL_0275;
4962 }
4963 goto IL_0281;
4964 IL_0289:
4965 result = 0u;
4967 IL_0281:
4968 result = 0u;
4970 }
static bool IsWhite(int ch)
static bool TrailingZeros(ReadOnlySpan< char > value, int index)
static bool IsDigit(int ch)