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

◆ ParseLocationPathPattern()

AstNode MS.Internal.Xml.XPath.XPathParser.ParseLocationPathPattern ( )
inlineprivate

Definition at line 567 of file XPathParser.cs.

568 {
569 AstNode astNode = null;
570 switch (_scanner.Kind)
571 {
572 case XPathScanner.LexKind.Slash:
573 NextLex();
574 astNode = new Root();
575 if (_scanner.Kind == XPathScanner.LexKind.Eof || _scanner.Kind == XPathScanner.LexKind.Union)
576 {
577 return astNode;
578 }
579 break;
580 case XPathScanner.LexKind.SlashSlash:
581 NextLex();
582 astNode = new Axis(Axis.AxisType.DescendantOrSelf, new Root());
583 break;
584 case XPathScanner.LexKind.Name:
586 {
587 break;
588 }
590 if (astNode != null)
591 {
592 switch (_scanner.Kind)
593 {
594 case XPathScanner.LexKind.Slash:
595 NextLex();
596 break;
597 case XPathScanner.LexKind.SlashSlash:
598 NextLex();
599 astNode = new Axis(Axis.AxisType.DescendantOrSelf, astNode);
600 break;
601 default:
602 return astNode;
603 }
604 }
605 break;
606 }
608 }
AstNode ParseRelativePathPattern(AstNode qyInput)

References MS.Internal.Xml.XPath.XPathParser._scanner, MS.Internal.Xml.XPath.XPathScanner.CanBeFunction, MS.Internal.Xml.XPath.XPathScanner.Kind, MS.Internal.Xml.XPath.XPathParser.NextLex(), MS.Internal.Xml.XPath.XPathParser.ParseIdKeyPattern(), MS.Internal.Xml.XPath.XPathParser.ParseRelativePathPattern(), and System.Xml.XPath.Root.

Referenced by MS.Internal.Xml.XPath.XPathParser.ParsePattern().