4282 {
4284 int num;
4286 {
4290 {
4291 goto IL_0048;
4292 }
4293 while (true)
4294 {
4296 if ((uint)i >= (uint)
value.Length)
4297 {
4298 break;
4299 }
4302 {
4303 continue;
4304 }
4305 goto IL_0048;
4306 }
4307 }
4308 goto IL_0289;
4309 IL_027d:
4310 int num2;
4311 int num3;
4312 result = num2 * num3;
4314 IL_0291:
4315 result = 0;
4317 IL_019f:
4319 {
4320 goto IL_01aa;
4321 }
4322 goto IL_0299;
4323 IL_027a:
4324 bool flag;
4325 if (!flag)
4326 {
4327 goto IL_027d;
4328 }
4329 goto IL_0291;
4330 IL_0048:
4331 num3 = 1;
4333 {
4334 if (
info.HasInvariantNumberSigns)
4335 {
4336 if (num == 45)
4337 {
4338 num3 = -1;
4340 if ((uint)i >= (uint)
value.Length)
4341 {
4342 goto IL_0289;
4343 }
4345 }
4346 else if (num == 43)
4347 {
4349 if ((uint)i >= (uint)
value.Length)
4350 {
4351 goto IL_0289;
4352 }
4354 }
4355 }
4356 else if (
info.AllowHyphenDuringParsing && num == 45)
4357 {
4358 num3 = -1;
4360 if ((uint)i >= (uint)
value.Length)
4361 {
4362 goto IL_0289;
4363 }
4365 }
4366 else
4367 {
4370 string positiveSign =
info.PositiveSign;
4371 string negativeSign =
info.NegativeSign;
4372 if (!
string.IsNullOrEmpty(positiveSign) &&
value.StartsWith(positiveSign))
4373 {
4374 i += positiveSign.Length;
4375 if ((uint)i >= (uint)
value.Length)
4376 {
4377 goto IL_0289;
4378 }
4380 }
4381 else if (!
string.IsNullOrEmpty(negativeSign) &&
value.StartsWith(negativeSign))
4382 {
4383 num3 = -1;
4384 i += negativeSign.Length;
4385 if ((uint)i >= (uint)
value.Length)
4386 {
4387 goto IL_0289;
4388 }
4390 }
4391 }
4392 }
4393 flag = false;
4394 num2 = 0;
4396 {
4397 if (num != 48)
4398 {
4399 goto IL_01aa;
4400 }
4401 while (true)
4402 {
4404 if ((uint)i >= (uint)
value.Length)
4405 {
4406 break;
4407 }
4409 if (num == 48)
4410 {
4411 continue;
4412 }
4413 goto IL_019f;
4414 }
4415 goto IL_027d;
4416 }
4417 goto IL_0289;
4418 IL_01aa:
4419 num2 = num - 48;
4421 int num4 = 0;
4422 while (num4 < 8)
4423 {
4424 if ((uint)i >= (uint)
value.Length)
4425 {
4426 goto IL_027d;
4427 }
4430 {
4432 num2 = 10 * num2 + num - 48;
4433 num4++;
4434 continue;
4435 }
4436 goto IL_0299;
4437 }
4438 if ((uint)i >= (uint)
value.Length)
4439 {
4440 goto IL_027d;
4441 }
4444 {
4446 flag = num2 > 214748364;
4447 num2 = num2 * 10 + num - 48;
4448 flag = flag || (uint)num2 > (uint)(int.MaxValue + (num3 >>> 31));
4449 if ((uint)
i >= (uint)
value.Length)
4450 {
4451 goto IL_027a;
4452 }
4455 {
4456 flag = true;
4458 if ((uint)
i < (uint)
value.Length)
4459 {
4461 continue;
4462 }
4463 goto IL_0291;
4464 }
4465 }
4466 goto IL_0299;
4467 IL_0299:
4469 {
4471 {
4472 goto IL_0289;
4473 }
4475 {
4476 }
4477 if ((uint)
i >= (uint)
value.Length)
4478 {
4479 goto IL_027a;
4480 }
4481 }
4483 {
4484 goto IL_027a;
4485 }
4486 goto IL_0289;
4487 IL_0289:
4488 result = 0;
4490 }
static bool IsWhite(int ch)
static bool TrailingZeros(ReadOnlySpan< char > value, int index)
static bool IsDigit(int ch)