2 instantiations of XPathScanner
System.Xml (2)
System\Xml\XPath\Internal\XPathParser.cs (2)
25 XPathScanner scanner = new XPathScanner(xpathExpresion); 35 XPathScanner scanner = new XPathScanner(xpathPattern);
90 references to XPathScanner
System.Xml (90)
System\Xml\XPath\Internal\XPathParser.cs (90)
18XPathScanner scanner; 20 private XPathParser(XPathScanner scanner) { 25 XPathScanner scanner = new XPathScanner(xpathExpresion); 28if (scanner.Kind != XPathScanner.LexKind.Eof) { 35 XPathScanner scanner = new XPathScanner(xpathPattern); 38if (scanner.Kind != XPathScanner.LexKind.Eof) { 95this.scanner.Kind == XPathScanner.LexKind.Eq ? Operator.Op.EQ : 96this.scanner.Kind == XPathScanner.LexKind.Ne ? Operator.Op.NE : 114this.scanner.Kind == XPathScanner.LexKind.Lt ? Operator.Op.LT : 115this.scanner.Kind == XPathScanner.LexKind.Le ? Operator.Op.LE : 116this.scanner.Kind == XPathScanner.LexKind.Gt ? Operator.Op.GT : 117this.scanner.Kind == XPathScanner.LexKind.Ge ? Operator.Op.GE : 135this.scanner.Kind == XPathScanner.LexKind.Plus ? Operator.Op.PLUS : 136this.scanner.Kind == XPathScanner.LexKind.Minus ? Operator.Op.MINUS : 154this.scanner.Kind == XPathScanner.LexKind.Star ? Operator.Op.MUL : 170while (this.scanner.Kind == XPathScanner.LexKind.Minus) { 188if (this.scanner.Kind != XPathScanner.LexKind.Union) { 199private static bool IsNodeType(XPathScanner scaner) { 217 if (this.scanner.Kind == XPathScanner.LexKind.Slash) { 221 else if (this.scanner.Kind == XPathScanner.LexKind.SlashSlash) { 236while (this.scanner.Kind == XPathScanner.LexKind.LBracket) { 250PassToken(XPathScanner.LexKind.LBracket); 252PassToken(XPathScanner.LexKind.RBracket); 259if (this.scanner.Kind == XPathScanner.LexKind.Slash) { 268else if (this.scanner.Kind == XPathScanner.LexKind.SlashSlash) { 283if (XPathScanner.LexKind.SlashSlash == this.scanner.Kind) { 287else if (XPathScanner.LexKind.Slash == this.scanner.Kind) { 299 private static bool IsStep(XPathScanner.LexKind lexKind) { 301 lexKind == XPathScanner.LexKind.Dot || 302 lexKind == XPathScanner.LexKind.DotDot || 303 lexKind == XPathScanner.LexKind.At || 304 lexKind == XPathScanner.LexKind.Axe || 305 lexKind == XPathScanner.LexKind.Star || 306 lexKind == XPathScanner.LexKind.Name // NodeTest is also Name 313if (XPathScanner.LexKind.Dot == this.scanner.Kind) { //>> '.' 317else if (XPathScanner.LexKind.DotDot == this.scanner.Kind) { //>> '..' 324case XPathScanner.LexKind.At: //>> '@' 328case XPathScanner.LexKind.Axe: //>> AxisName '::' 341while (XPathScanner.LexKind.LBracket == this.scanner.Kind) { 353case XPathScanner.LexKind.Name : 367PassToken(XPathScanner.LexKind.LParens); 370if (this.scanner.Kind != XPathScanner.LexKind.RParens) { //>> 'processing-instruction (' Literal ')' 371CheckToken(XPathScanner.LexKind.String); 377PassToken(XPathScanner.LexKind.RParens); 388case XPathScanner.LexKind.Star : 399 private static bool IsPrimaryExpr(XPathScanner scanner) { 401 scanner.Kind == XPathScanner.LexKind.String || 402 scanner.Kind == XPathScanner.LexKind.Number || 403 scanner.Kind == XPathScanner.LexKind.Dollar || 404 scanner.Kind == XPathScanner.LexKind.LParens || 405 scanner.Kind == XPathScanner.LexKind.Name && scanner.CanBeFunction && ! IsNodeType(scanner) 414case XPathScanner.LexKind.String: 418case XPathScanner.LexKind.Number: 422case XPathScanner.LexKind.Dollar: 424CheckToken(XPathScanner.LexKind.Name); 428case XPathScanner.LexKind.LParens: 434PassToken(XPathScanner.LexKind.RParens); 436case XPathScanner.LexKind.Name : 450PassToken(XPathScanner.LexKind.Name); 451PassToken(XPathScanner.LexKind.LParens); 452if (this.scanner.Kind != XPathScanner.LexKind.RParens) { 455if (this.scanner.Kind == XPathScanner.LexKind.RParens) { 458PassToken(XPathScanner.LexKind.Comma); 461PassToken(XPathScanner.LexKind.RParens); 524if (this.scanner.Kind != XPathScanner.LexKind.Union) { 537case XPathScanner.LexKind.Slash : 540if (this.scanner.Kind == XPathScanner.LexKind.Eof || this.scanner.Kind == XPathScanner.LexKind.Union) { 544case XPathScanner.LexKind.SlashSlash : 548case XPathScanner.LexKind.Name : 553case XPathScanner.LexKind.Slash : 556case XPathScanner.LexKind.SlashSlash : 578PassToken(XPathScanner.LexKind.LParens); 579CheckToken(XPathScanner.LexKind.String); 582PassToken(XPathScanner.LexKind.RParens); 587PassToken(XPathScanner.LexKind.LParens); 588CheckToken(XPathScanner.LexKind.String); 591PassToken(XPathScanner.LexKind.Comma); 592CheckToken(XPathScanner.LexKind.String); 595PassToken(XPathScanner.LexKind.RParens); 606if (XPathScanner.LexKind.SlashSlash == this.scanner.Kind) { 610 else if (XPathScanner.LexKind.Slash == this.scanner.Kind) { 623case XPathScanner.LexKind.At: //>> '@' 627case XPathScanner.LexKind.Axe: //>> AxisName '::' 642while (XPathScanner.LexKind.LBracket == this.scanner.Kind) { 650void CheckToken(XPathScanner.LexKind t) { 656void PassToken(XPathScanner.LexKind t) { 667this.scanner.Kind == XPathScanner.LexKind.Name && 761private Axis.AxisType GetAxis(XPathScanner scaner) { 762Debug.Assert(scaner.Kind == XPathScanner.LexKind.Axe);