1 write to scanner
System.Data.SqlXml (1)
System\Xml\Xsl\XPath\XPathParser.cs (1)
33this.scanner = scanner;
90 references to scanner
System.Data.SqlXml (90)
System\Xml\Xsl\XPath\XPathParser.cs (90)
29Debug.Assert(this.scanner == null && this.builder == null); 80if (scanner.Kind == LexKind.Slash) { 81scanner.NextLex(); 84if (IsStep(scanner.Kind)) { 88} else if (scanner.Kind == LexKind.SlashSlash) { 89scanner.NextLex(); 111throw scanner.CreateException(System.Xml.Utils.Res.Xslt_InputTooComplex); 115if (scanner.Kind == LexKind.Slash) { 116scanner.NextLex(); 118} else if (scanner.Kind == LexKind.SlashSlash) { 119scanner.NextLex(); 136if (LexKind.Dot == scanner.Kind) { // '.' 137scanner.NextLex(); 139if (LexKind.LBracket == scanner.Kind) { 140throw scanner.CreateException(Res.XPath_PredicateAfterDot); 142} else if (LexKind.DotDot == scanner.Kind) { // '..' 143scanner.NextLex(); 145if (LexKind.LBracket == scanner.Kind) { 146throw scanner.CreateException(Res.XPath_PredicateAfterDotDot); 150switch (scanner.Kind) { 152axis = scanner.Axis; 153scanner.NextLex(); 154scanner.NextLex(); 158scanner.NextLex(); 166throw scanner.CreateException(Res.XPath_UnexpectedToken, scanner.RawValue); 171while (LexKind.LBracket == scanner.Kind) { 193int startChar = scanner.LexStart; 194InternalParseNodeTest(scanner, axis, out nodeType, out nodePrefix, out nodeName); 195PushPosInfo(startChar, scanner.PrevLexEnd); 274scanner.PassToken(LexKind.LBracket); 276scanner.PassToken(LexKind.RBracket); 308throw scanner.CreateException(System.Xml.Utils.Res.Xslt_InputTooComplex); 316if (scanner.Kind == LexKind.Minus) { 319scanner.NextLex(); 327op = (scanner.Kind <= LexKind.LastOperator) ? (XPathOperator)scanner.Kind : XPathOperator.Unknown; 334scanner.NextLex(); 364int startChar = scanner.LexStart; 367if (scanner.Kind == LexKind.Union) { 368PushPosInfo(startChar, scanner.PrevLexEnd); 372while (scanner.Kind == LexKind.Union) { 373scanner.NextLex(); 374startChar = scanner.LexStart; 376PushPosInfo(startChar, scanner.PrevLexEnd); 390int startChar = scanner.LexStart; 392int endChar = scanner.PrevLexEnd; 394if (scanner.Kind == LexKind.Slash) { 395scanner.NextLex(); 399} else if (scanner.Kind == LexKind.SlashSlash) { 400scanner.NextLex(); 420int startChar = scanner.LexStart; 422int endChar = scanner.PrevLexEnd; 424while (scanner.Kind == LexKind.LBracket) { 434scanner.Kind == LexKind.String || 435scanner.Kind == LexKind.Number || 436scanner.Kind == LexKind.Dollar || 437scanner.Kind == LexKind.LParens || 438scanner.Kind == LexKind.Name && scanner.CanBeFunction && !IsNodeType(scanner) 448switch (scanner.Kind) { 450opnd = builder.String(scanner.StringValue); 451scanner.NextLex(); 454opnd = builder.Number(XPathConvert.StringToDouble(scanner.RawValue)); 455scanner.NextLex(); 458int startChar = scanner.LexStart; 459scanner.NextLex(); 460scanner.CheckToken(LexKind.Name); 461PushPosInfo(startChar, scanner.LexStart + scanner.LexSize); 462opnd = builder.Variable(scanner.Prefix, scanner.Name); 464scanner.NextLex(); 467scanner.NextLex(); 469scanner.PassToken(LexKind.RParens); 473scanner.Kind == LexKind.Name && scanner.CanBeFunction && !IsNodeType(scanner), 487string name = scanner.Name; 488string prefix = scanner.Prefix; 489int startChar = scanner.LexStart; 491scanner.PassToken(LexKind.Name); 492scanner.PassToken(LexKind.LParens); 494if (scanner.Kind != LexKind.RParens) { 497if (scanner.Kind != LexKind.Comma) { 498scanner.CheckToken(LexKind.RParens); 501scanner.NextLex(); // move off the ',' 505scanner.NextLex(); // move off the ')' 506PushPosInfo(startChar, scanner.PrevLexEnd);