Definition at line 1832 of file Utf8Parser.cs.
1833 {
1834 int num;
1835 int num2;
1836 int num4;
1837 int num3;
1839 {
1840 num = 1;
1841 num2 = 0;
1843 if (num3 == 45)
1844 {
1845 num = -1;
1846 num2++;
1847 if ((uint)num2 >= (uint)
source.Length)
1848 {
1849 goto IL_00f9;
1850 }
1852 }
1853 else if (num3 == 43)
1854 {
1855 num2++;
1856 if ((uint)num2 >= (uint)
source.Length)
1857 {
1858 goto IL_00f9;
1859 }
1861 }
1862 if (num3 != 46)
1863 {
1864 if (ParserHelpers.IsDigit(num3))
1865 {
1866 num4 = num3 - 48;
1867 while (true)
1868 {
1869 num2++;
1870 if ((uint)num2 >= (uint)
source.Length)
1871 {
1872 break;
1873 }
1875 if (num3 == 44)
1876 {
1877 continue;
1878 }
1879 if (num3 == 46)
1880 {
1881 goto IL_00d4;
1882 }
1883 if (!ParserHelpers.IsDigit(num3))
1884 {
1885 break;
1886 }
1887 num4 = num4 * 10 + num3 - 48;
1888 if (num4 <= 127 + (-1 * num + 1) / 2)
1889 {
1890 continue;
1891 }
1892 goto IL_00f9;
1893 }
1894 goto IL_0101;
1895 }
1896 }
1897 else
1898 {
1899 num4 = 0;
1900 num2++;
1901 if ((uint)num2 < (uint)
source.Length &&
source[num2] == 48)
1902 {
1903 goto IL_00d4;
1904 }
1905 }
1906 }
1907 goto IL_00f9;
1908 IL_00f9:
1909 bytesConsumed = 0;
1911 return false;
1912 IL_00f1:
1913 if (ParserHelpers.IsDigit(num3))
1914 {
1915 goto IL_00f9;
1916 }
1917 goto IL_0101;
1918 IL_00d4:
1919 while (true)
1920 {
1921 num2++;
1922 if ((uint)num2 >= (uint)
source.Length)
1923 {
1924 break;
1925 }
1927 if (num3 == 48)
1928 {
1929 continue;
1930 }
1931 goto IL_00f1;
1932 }
1933 goto IL_0101;
1934 IL_0101:
1935 bytesConsumed = num2;
1936 value = (sbyte)(num4 * num);
1937 return true;
1938 }
References System.Buffers.Text.ParserHelpers.IsDigit(), System.source, and System.value.
Referenced by System.Buffers.Text.Utf8Parser.TryParse().