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

◆ ReduceConcatenationWithAutoAtomic()

void System.Text.RegularExpressions.RegexNode.ReduceConcatenationWithAutoAtomic ( )
inlineprivate

Definition at line 946 of file RegexNode.cs.

947 {
949 for (int i = 0; i < list.Count - 1; i++)
950 {
951 ProcessNode(list[i], list[i + 1], 20u);
952 }
953 static void ProcessNode(RegexNode node, RegexNode subsequent, uint maxDepth)
954 {
955 while (true)
956 {
957 if (node.Type == 28 || node.Type == 25)
958 {
959 node = node.Child(node.ChildCount() - 1);
960 }
961 else
962 {
963 if (node.Type != 26)
964 {
965 break;
966 }
968 if (regexNode == null)
969 {
970 break;
971 }
972 node = regexNode;
973 }
974 }
975 switch (node.Type)
976 {
977 case 3:
979 {
980 break;
981 }
982 goto IL_0089;
983 case 4:
985 {
986 break;
987 }
988 goto IL_0089;
989 case 5:
991 {
992 break;
993 }
994 goto IL_0089;
995 case 24:
996 {
997 int num = node.ChildCount();
998 for (int j = 0; j < num; j++)
999 {
1000 ProcessNode(node.Child(j), subsequent, maxDepth - 1);
1001 }
1002 break;
1003 }
1004 IL_0089:
1005 node.MakeLoopAtomic();
1006 break;
1007 }
1008 }
1009 }
static RegexNode FindLastExpressionInLoopForAutoAtomic(RegexNode node, uint maxDepth)
static bool CanBeMadeAtomic(RegexNode node, RegexNode subsequent, uint maxDepth)
RegexNode(int type, RegexOptions options)
Definition RegexNode.cs:23

References System.Text.RegularExpressions.RegexNode.CanBeMadeAtomic(), System.Text.RegularExpressions.RegexNode.Children, System.Text.RegularExpressions.RegexNode.FindLastExpressionInLoopForAutoAtomic(), System.Text.RegularExpressions.i, and System.list.

Referenced by System.Text.RegularExpressions.RegexNode.ReduceConcatenation().