Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ AddLowercaseRange()

void System.Text.RegularExpressions.RegexCharClass.AddLowercaseRange ( char chMin,
char chMax )
inlineprivate

Definition at line 471 of file RegexCharClass.cs.

472 {
473 int i = 0;
474 int num = s_lcTable.Length;
475 while (i < num)
476 {
477 int num2 = i + num >> 1;
478 if (s_lcTable[num2].ChMax < chMin)
479 {
480 i = num2 + 1;
481 }
482 else
483 {
484 num = num2;
485 }
486 }
487 if (i >= s_lcTable.Length)
488 {
489 return;
490 }
491 for (; i < s_lcTable.Length; i++)
492 {
493 LowerCaseMapping lowerCaseMapping;
494 LowerCaseMapping lowerCaseMapping2 = (lowerCaseMapping = s_lcTable[i]);
495 if (lowerCaseMapping2.ChMin <= chMax)
496 {
497 char c;
498 if ((c = lowerCaseMapping.ChMin) < chMin)
499 {
500 c = chMin;
501 }
502 char c2;
503 if ((c2 = lowerCaseMapping.ChMax) > chMax)
504 {
505 c2 = chMax;
506 }
507 switch (lowerCaseMapping.LcOp)
508 {
509 case 0:
510 c = (char)lowerCaseMapping.Data;
511 c2 = (char)lowerCaseMapping.Data;
512 break;
513 case 1:
514 c = (char)(c + (ushort)lowerCaseMapping.Data);
515 c2 = (char)(c2 + (ushort)lowerCaseMapping.Data);
516 break;
517 case 2:
518 c = (char)(c | 1u);
519 c2 = (char)(c2 | 1u);
520 break;
521 case 3:
522 c = (char)(c + (ushort)(c & 1));
523 c2 = (char)(c2 + (ushort)(c2 & 1));
524 break;
525 }
527 {
528 AddRange(c, c2);
529 }
530 continue;
531 }
532 break;
533 }
534 }
static readonly LowerCaseMapping[] s_lcTable

References System.Text.RegularExpressions.RegexCharClass.AddRange(), System.Text.RegularExpressions.i, and System.Text.RegularExpressions.RegexCharClass.s_lcTable.

Referenced by System.Text.RegularExpressions.RegexCharClass.AddLowercase().