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

◆ RegexFCFromRegexTree()

RegexFC System.Text.RegularExpressions.RegexPrefixAnalyzer.RegexFCFromRegexTree ( RegexTree tree)
inlineprivate

Definition at line 320 of file RegexPrefixAnalyzer.cs.

321 {
322 RegexNode regexNode = tree.Root;
323 int num = 0;
324 while (true)
325 {
326 int num2 = regexNode.ChildCount();
327 if (num2 == 0)
328 {
330 }
331 else if (num < num2 && !_skipAllChildren)
332 {
333 CalculateFC(regexNode.Type | 0x40, regexNode, num);
334 if (!_skipchild)
335 {
336 regexNode = regexNode.Child(num);
337 PushInt(num);
338 num = 0;
339 }
340 else
341 {
342 num++;
343 _skipchild = false;
344 }
345 continue;
346 }
347 _skipAllChildren = false;
348 if (IntIsEmpty())
349 {
350 break;
351 }
352 num = PopInt();
353 regexNode = regexNode.Next;
354 CalculateFC(regexNode.Type | 0x80, regexNode, num);
355 if (_failed)
356 {
357 return null;
358 }
359 num++;
360 }
361 if (FCIsEmpty())
362 {
363 return null;
364 }
365 return PopFC();
366 }
void CalculateFC(int NodeType, RegexNode node, int CurIndex)

References System.Text.RegularExpressions.RegexPrefixAnalyzer._failed, System.Text.RegularExpressions.RegexPrefixAnalyzer._skipAllChildren, System.Text.RegularExpressions.RegexPrefixAnalyzer._skipchild, System.Text.RegularExpressions.RegexPrefixAnalyzer.CalculateFC(), System.Text.RegularExpressions.RegexPrefixAnalyzer.FCIsEmpty(), System.Text.RegularExpressions.RegexPrefixAnalyzer.IntIsEmpty(), System.Text.RegularExpressions.RegexPrefixAnalyzer.PopFC(), System.Text.RegularExpressions.RegexPrefixAnalyzer.PopInt(), and System.Text.RegularExpressions.RegexPrefixAnalyzer.PushInt().