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