1 instantiation of XPathScanner
System.Private.Xml (1)
System\Xml\XPath\Internal\XPathParser.cs (1)
18_scanner = new XPathScanner(xpathExpr);
84 references to XPathScanner
System.Private.Xml (84)
System\Xml\XPath\Internal\XPathParser.cs (84)
14private XPathScanner _scanner; 26if (parser._scanner.Kind != XPathScanner.LexKind.Eof) 37if (parser._scanner.Kind != XPathScanner.LexKind.Eof) 105_scanner.Kind == XPathScanner.LexKind.Eq ? Operator.Op.EQ : 106_scanner.Kind == XPathScanner.LexKind.Ne ? Operator.Op.NE : 127_scanner.Kind == XPathScanner.LexKind.Lt ? Operator.Op.LT : 128_scanner.Kind == XPathScanner.LexKind.Le ? Operator.Op.LE : 129_scanner.Kind == XPathScanner.LexKind.Gt ? Operator.Op.GT : 130_scanner.Kind == XPathScanner.LexKind.Ge ? Operator.Op.GE : 151_scanner.Kind == XPathScanner.LexKind.Plus ? Operator.Op.PLUS : 152_scanner.Kind == XPathScanner.LexKind.Minus ? Operator.Op.MINUS : 173_scanner.Kind == XPathScanner.LexKind.Star ? Operator.Op.MUL : 191while (_scanner.Kind == XPathScanner.LexKind.Minus) 214if (_scanner.Kind != XPathScanner.LexKind.Union) 242if (_scanner.Kind == XPathScanner.LexKind.Slash) 247else if (_scanner.Kind == XPathScanner.LexKind.SlashSlash) 265while (_scanner.Kind == XPathScanner.LexKind.LBracket) 281PassToken(XPathScanner.LexKind.LBracket); 283PassToken(XPathScanner.LexKind.RBracket); 291if (_scanner.Kind == XPathScanner.LexKind.Slash) 302else if (_scanner.Kind == XPathScanner.LexKind.SlashSlash) 321if (XPathScanner.LexKind.SlashSlash == _scanner.Kind) 326else if (XPathScanner.LexKind.Slash == _scanner.Kind) 340private static bool IsStep(XPathScanner.LexKind lexKind) 343lexKind == XPathScanner.LexKind.Dot || 344lexKind == XPathScanner.LexKind.DotDot || 345lexKind == XPathScanner.LexKind.At || 346lexKind == XPathScanner.LexKind.Axe || 347lexKind == XPathScanner.LexKind.Star || 348lexKind == XPathScanner.LexKind.Name // NodeTest is also Name 356if (XPathScanner.LexKind.Dot == _scanner.Kind) 361else if (XPathScanner.LexKind.DotDot == _scanner.Kind) 371case XPathScanner.LexKind.At: //>> '@' 375case XPathScanner.LexKind.Axe: //>> AxisName '::' 388while (XPathScanner.LexKind.LBracket == _scanner.Kind) 403case XPathScanner.LexKind.Name: 418PassToken(XPathScanner.LexKind.LParens); 422if (_scanner.Kind != XPathScanner.LexKind.RParens) 424CheckToken(XPathScanner.LexKind.String); 430PassToken(XPathScanner.LexKind.RParens); 443case XPathScanner.LexKind.Star: 455_scanner.Kind == XPathScanner.LexKind.String || 456_scanner.Kind == XPathScanner.LexKind.Number || 457_scanner.Kind == XPathScanner.LexKind.Dollar || 458_scanner.Kind == XPathScanner.LexKind.LParens || 459_scanner.Kind == XPathScanner.LexKind.Name && _scanner.CanBeFunction && !IsNodeType; 468case XPathScanner.LexKind.String: 472case XPathScanner.LexKind.Number: 476case XPathScanner.LexKind.Dollar: 478CheckToken(XPathScanner.LexKind.Name); 482case XPathScanner.LexKind.LParens: 489PassToken(XPathScanner.LexKind.RParens); 491case XPathScanner.LexKind.Name: 507PassToken(XPathScanner.LexKind.Name); 508PassToken(XPathScanner.LexKind.LParens); 509if (_scanner.Kind != XPathScanner.LexKind.RParens) 514if (_scanner.Kind == XPathScanner.LexKind.RParens) 518PassToken(XPathScanner.LexKind.Comma); 521PassToken(XPathScanner.LexKind.RParens); 599if (_scanner.Kind != XPathScanner.LexKind.Union) 615case XPathScanner.LexKind.Slash: 618if (_scanner.Kind == XPathScanner.LexKind.Eof || _scanner.Kind == XPathScanner.LexKind.Union) 623case XPathScanner.LexKind.SlashSlash: 627case XPathScanner.LexKind.Name: 635case XPathScanner.LexKind.Slash: 638case XPathScanner.LexKind.SlashSlash: 663PassToken(XPathScanner.LexKind.LParens); 664CheckToken(XPathScanner.LexKind.String); 667PassToken(XPathScanner.LexKind.RParens); 673PassToken(XPathScanner.LexKind.LParens); 674CheckToken(XPathScanner.LexKind.String); 677PassToken(XPathScanner.LexKind.Comma); 678CheckToken(XPathScanner.LexKind.String); 681PassToken(XPathScanner.LexKind.RParens); 693if (XPathScanner.LexKind.SlashSlash == _scanner.Kind) 698else if (XPathScanner.LexKind.Slash == _scanner.Kind) 714case XPathScanner.LexKind.At: //>> '@' 718case XPathScanner.LexKind.Axe: //>> AxisName '::' 734while (XPathScanner.LexKind.LBracket == _scanner.Kind) 743private void CheckToken(XPathScanner.LexKind t) 751private void PassToken(XPathScanner.LexKind t) 765_scanner.Kind == XPathScanner.LexKind.Name && 867Debug.Assert(_scanner.Kind == XPathScanner.LexKind.Axe);