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

◆ ParseStepPattern()

AstNode MS.Internal.Xml.XPath.XPathParser.ParseStepPattern ( AstNode qyInput)
inlineprivate

Definition at line 660 of file XPathParser.cs.

661 {
662 Axis.AxisType axisType = Axis.AxisType.Child;
663 switch (_scanner.Kind)
664 {
665 case XPathScanner.LexKind.At:
666 axisType = Axis.AxisType.Attribute;
667 NextLex();
668 break;
669 case XPathScanner.LexKind.Axe:
670 axisType = GetAxis();
671 if (axisType != Axis.AxisType.Child && axisType != Axis.AxisType.Attribute)
672 {
674 }
675 NextLex();
676 break;
677 }
678 XPathNodeType nodeType = ((axisType != Axis.AxisType.Attribute) ? XPathNodeType.Element : XPathNodeType.Attribute);
679 AstNode astNode = ParseNodeTest(qyInput, axisType, nodeType);
680 while (XPathScanner.LexKind.LBracket == _scanner.Kind)
681 {
683 }
684 return astNode;
685 }
static string Xp_InvalidToken
Definition SR.cs:1242
Definition SR.cs:7
static XPathException Create(string res)
AstNode ParseNodeTest(AstNode qyInput, Axis.AxisType axisType, XPathNodeType nodeType)
AstNode ParsePredicate(AstNode qyInput)

References MS.Internal.Xml.XPath.XPathParser._scanner, System.Xml.XPath.XPathException.Create(), MS.Internal.Xml.XPath.XPathParser.GetAxis(), MS.Internal.Xml.XPath.XPathScanner.Kind, MS.Internal.Xml.XPath.XPathParser.NextLex(), MS.Internal.Xml.XPath.XPathParser.ParseNodeTest(), MS.Internal.Xml.XPath.XPathParser.ParsePredicate(), MS.Internal.Xml.XPath.XPathScanner.SourceText, and System.SR.Xp_InvalidToken.

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