1101 references to QilNodeType
System.Data.SqlXml (1101)
System\Xml\Xsl\IlGen\GenerateHelper.cs (13)
933
public void CallArithmeticOp(
QilNodeType
opType, XmlTypeCode code) {
942
case
QilNodeType
.Add: Emit(OpCodes.Add); break;
943
case
QilNodeType
.Subtract: Emit(OpCodes.Sub); break;
944
case
QilNodeType
.Multiply: Emit(OpCodes.Mul); break;
945
case
QilNodeType
.Divide: Emit(OpCodes.Div); break;
946
case
QilNodeType
.Modulo: Emit(OpCodes.Rem); break;
947
case
QilNodeType
.Negate: Emit(OpCodes.Neg); break;
954
case
QilNodeType
.Add: meth = XmlILMethods.DecAdd; break;
955
case
QilNodeType
.Subtract: meth = XmlILMethods.DecSub; break;
956
case
QilNodeType
.Multiply: meth = XmlILMethods.DecMul; break;
957
case
QilNodeType
.Divide: meth = XmlILMethods.DecDiv; break;
958
case
QilNodeType
.Modulo: meth = XmlILMethods.DecRem; break;
959
case
QilNodeType
.Negate: meth = XmlILMethods.DecNeg; break;
System\Xml\Xsl\IlGen\TailCallAnalyzer.cs (7)
40
case
QilNodeType
.Invoke:
48
case
QilNodeType
.Loop: {
51
if (ndLoop.Variable.NodeType ==
QilNodeType
.Let || !ndLoop.Variable.Binding.XmlType.MaybeMany)
56
case
QilNodeType
.Sequence: {
64
case
QilNodeType
.Choice: {
72
case
QilNodeType
.Conditional: {
80
case
QilNodeType
.Nop:
System\Xml\Xsl\IlGen\XmlILConstructAnalyzer.cs (53)
53
private
QilNodeType
nodeType;
72
constrInfo = new XmlILConstructInfo(
QilNodeType
.Unknown);
103
private XmlILConstructInfo(
QilNodeType
nodeType) {
252
if (this.parentInfo != null && this.parentInfo.nodeType ==
QilNodeType
.ElementCtor)
408
if (ndConstr.NodeType ==
QilNodeType
.Function) {
429
if (ndConstr.NodeType !=
QilNodeType
.Choice)
433
if (ndConstr.NodeType !=
QilNodeType
.RtfCtor)
438
this.withinElem = (ndConstr.NodeType ==
QilNodeType
.ElementCtor);
441
case
QilNodeType
.DocumentCtor: this.xstates = PossibleXmlStates.WithinContent; break;
442
case
QilNodeType
.ElementCtor: this.xstates = PossibleXmlStates.EnumAttrs; break;
443
case
QilNodeType
.AttributeCtor: this.xstates = PossibleXmlStates.WithinAttr; break;
444
case
QilNodeType
.NamespaceDecl: Debug.Assert(ndContent == null); break;
445
case
QilNodeType
.TextCtor: Debug.Assert(ndContent == null); break;
446
case
QilNodeType
.RawTextCtor: Debug.Assert(ndContent == null); break;
447
case
QilNodeType
.CommentCtor: this.xstates = PossibleXmlStates.WithinComment; break;
448
case
QilNodeType
.PICtor: this.xstates = PossibleXmlStates.WithinPI; break;
449
case
QilNodeType
.XsltCopy: this.xstates = PossibleXmlStates.Any; break;
450
case
QilNodeType
.XsltCopyOf: Debug.Assert(ndContent == null); break;
451
case
QilNodeType
.Function: this.xstates = this.parentInfo.InitialStates; break;
452
case
QilNodeType
.RtfCtor: this.xstates = PossibleXmlStates.WithinContent; break;
453
case
QilNodeType
.Choice: this.xstates = PossibleXmlStates.Any; break;
460
if (ndConstr.NodeType ==
QilNodeType
.Choice)
464
if (ndConstr.NodeType ==
QilNodeType
.Function)
480
case
QilNodeType
.For:
481
case
QilNodeType
.Let:
482
case
QilNodeType
.Parameter:
502
case
QilNodeType
.Loop: AnalyzeLoop(nd as QilLoop, info); break;
503
case
QilNodeType
.Sequence: AnalyzeSequence(nd as QilList, info); break;
504
case
QilNodeType
.Conditional: AnalyzeConditional(nd as QilTernary, info); break;
505
case
QilNodeType
.Choice: AnalyzeChoice(nd as QilChoice, info); break;
507
case
QilNodeType
.Error:
508
case
QilNodeType
.Warning:
513
case
QilNodeType
.Nop:
516
case
QilNodeType
.For:
517
case
QilNodeType
.Let:
518
case
QilNodeType
.Parameter:
733
Debug.Assert(ndElem.NodeType ==
QilNodeType
.ElementCtor);
766
if (ndCopy.NodeType ==
QilNodeType
.AttributeCtor) {
780
if (ndAttr.Left.NodeType ==
QilNodeType
.LiteralQName) {
882
case
QilNodeType
.Loop:
887
case
QilNodeType
.Sequence:
892
case
QilNodeType
.Conditional:
898
case
QilNodeType
.Choice:
906
case
QilNodeType
.ElementCtor:
920
case
QilNodeType
.AttributeCtor:
925
case
QilNodeType
.NamespaceDecl:
929
case
QilNodeType
.Nop:
950
case
QilNodeType
.ElementCtor:
951
case
QilNodeType
.AttributeCtor:
956
nodeType = (nd.NodeType ==
QilNodeType
.ElementCtor) ? XPathNodeType.Element : XPathNodeType.Attribute;
964
Debug.Assert(nd.NodeType ==
QilNodeType
.NamespaceDecl);
972
if (nd.NodeType ==
QilNodeType
.AttributeCtor && ns.Length == 0 ||
997
Debug.Assert(nd.NodeType !=
QilNodeType
.NamespaceDecl || !this.nsmgr.HasNamespace(prefix) || this.nsmgr.LookupNamespace(prefix) == ns,
System\Xml\Xsl\IlGen\XmlILOptimizerVisitor.cs (344)
91
case
QilNodeType
.QilExpression:
96
case
QilNodeType
.ElementCtor:
101
case
QilNodeType
.DocumentCtor:
124
if (newNode.NodeType ==
QilNodeType
.Let || newNode.NodeType ==
QilNodeType
.For) {
161
case
QilNodeType
.Error:
162
case
QilNodeType
.Warning:
163
case
QilNodeType
.XsltInvokeLateBound:
168
case
QilNodeType
.XsltInvokeEarlyBound:
171
goto case
QilNodeType
.XsltInvokeLateBound;
174
case
QilNodeType
.Invoke:
177
goto case
QilNodeType
.XsltInvokeLateBound;
187
goto case
QilNodeType
.XsltInvokeLateBound;
201
if (node.NodeType !=
QilNodeType
.Let || !this.qil.GlobalVariableList.Contains(node))
322
local0.NodeType =
QilNodeType
.For;
337
if (!( (local1).NodeType ==
QilNodeType
.For )) {
345
if (local1.NodeType ==
QilNodeType
.For) {
389
if (local1.NodeType ==
QilNodeType
.True) {
397
if (local1.NodeType ==
QilNodeType
.False) {
405
if (local2.NodeType ==
QilNodeType
.True) {
413
if (local2.NodeType ==
QilNodeType
.False) {
443
if (local1.NodeType ==
QilNodeType
.True) {
451
if (local1.NodeType ==
QilNodeType
.False) {
459
if (local2.NodeType ==
QilNodeType
.True) {
467
if (local2.NodeType ==
QilNodeType
.False) {
488
if (local1.NodeType ==
QilNodeType
.True) {
496
if (local1.NodeType ==
QilNodeType
.False) {
522
if (local1.NodeType ==
QilNodeType
.True) {
530
if (local1.NodeType ==
QilNodeType
.False) {
538
if (local2.NodeType ==
QilNodeType
.True) {
539
if (local3.NodeType ==
QilNodeType
.False) {
548
if (local2.NodeType ==
QilNodeType
.False) {
549
if (local3.NodeType ==
QilNodeType
.True) {
558
if (local1.NodeType ==
QilNodeType
.Not) {
567
if (local2.NodeType ==
QilNodeType
.TextCtor) {
569
if (local3.NodeType ==
QilNodeType
.TextCtor) {
607
if (local1.NodeType ==
QilNodeType
.Sequence) {
625
if ((!( IsDocOrderDistinct(local1) )) && (( IsStepPattern(local1,
QilNodeType
.XPathPreceding) ) || ( IsStepPattern(local1,
QilNodeType
.PrecedingSibling) ))) {
647
if (nd.NodeType ==
QilNodeType
.Sequence)
689
if (local1.NodeType ==
QilNodeType
.Sequence) {
699
if (local2.NodeType ==
QilNodeType
.Sequence) {
709
if (local1.NodeType ==
QilNodeType
.XmlContext) {
710
if (local2.NodeType ==
QilNodeType
.XmlContext) {
732
if (( IsStepPattern(local1,
QilNodeType
.Content) ) || ( IsStepPattern(local1,
QilNodeType
.Union) )) {
733
if ((( IsStepPattern(local2,
QilNodeType
.Content) ) || ( IsStepPattern(local2,
QilNodeType
.Union) )) && ( ( OptimizerPatterns.Read((QilNode) (local1)).GetArgument(OptimizerPatternArgument.StepInput) ) == ( OptimizerPatterns.Read((QilNode) (local2)).GetArgument(OptimizerPatternArgument.StepInput) ) )) {
771
if (local1.NodeType ==
QilNodeType
.Sequence) {
781
if (local2.NodeType ==
QilNodeType
.Sequence) {
791
if (local1.NodeType ==
QilNodeType
.XmlContext) {
792
if (local2.NodeType ==
QilNodeType
.XmlContext) {
836
if (local1.NodeType ==
QilNodeType
.Sequence) {
846
if (local2.NodeType ==
QilNodeType
.Sequence) {
864
if (local1.NodeType ==
QilNodeType
.XmlContext) {
865
if (local2.NodeType ==
QilNodeType
.XmlContext) {
987
if (local1.NodeType ==
QilNodeType
.LiteralDecimal) {
996
if (local1.NodeType ==
QilNodeType
.LiteralDouble) {
1005
if (local1.NodeType ==
QilNodeType
.LiteralInt32) {
1014
if (local1.NodeType ==
QilNodeType
.LiteralInt64) {
1046
if (( IsLiteral((local2)) ) && ( CanFoldArithmetic(
QilNodeType
.Add, (QilLiteral) local1, (QilLiteral) local2) )) {
1049
return Replace(XmlILOptimization.EliminateAdd, local0, FoldArithmetic(
QilNodeType
.Add, (QilLiteral) local1, (QilLiteral) local2) );
1088
if (( IsLiteral((local2)) ) && ( CanFoldArithmetic(
QilNodeType
.Subtract, (QilLiteral) local1, (QilLiteral) local2) )) {
1091
return Replace(XmlILOptimization.EliminateSubtract, local0, FoldArithmetic(
QilNodeType
.Subtract, (QilLiteral) local1, (QilLiteral) local2) );
1120
if (( IsLiteral((local2)) ) && ( CanFoldArithmetic(
QilNodeType
.Multiply, (QilLiteral) local1, (QilLiteral) local2) )) {
1123
return Replace(XmlILOptimization.EliminateMultiply, local0, FoldArithmetic(
QilNodeType
.Multiply, (QilLiteral) local1, (QilLiteral) local2) );
1162
if (( IsLiteral((local2)) ) && ( CanFoldArithmetic(
QilNodeType
.Divide, (QilLiteral) local1, (QilLiteral) local2) )) {
1165
return Replace(XmlILOptimization.EliminateDivide, local0, FoldArithmetic(
QilNodeType
.Divide, (QilLiteral) local1, (QilLiteral) local2) );
1194
if (( IsLiteral((local2)) ) && ( CanFoldArithmetic(
QilNodeType
.Modulo, (QilLiteral) local1, (QilLiteral) local2) )) {
1197
return Replace(XmlILOptimization.EliminateModulo, local0, FoldArithmetic(
QilNodeType
.Modulo, (QilLiteral) local1, (QilLiteral) local2) );
1219
if (local1.NodeType ==
QilNodeType
.LiteralString) {
1256
if (local1.NodeType ==
QilNodeType
.LiteralString) {
1258
if (local2.NodeType ==
QilNodeType
.Sequence) {
1326
return Replace(XmlILOptimization.EliminateNe, local0, FoldComparison(
QilNodeType
.Ne, local1, local2) );
1342
if (local1.NodeType ==
QilNodeType
.XsltConvert) {
1345
if (local4.NodeType ==
QilNodeType
.LiteralType) {
1359
if (local1.NodeType ==
QilNodeType
.XsltGenerateId) {
1362
if (local2.NodeType ==
QilNodeType
.XsltGenerateId) {
1375
if (local1.NodeType ==
QilNodeType
.Length) {
1377
if (local2.NodeType ==
QilNodeType
.LiteralInt32) {
1389
if (local1.NodeType ==
QilNodeType
.Length) {
1390
if (local2.NodeType ==
QilNodeType
.LiteralInt32) {
1425
return Replace(XmlILOptimization.EliminateEq, local0, FoldComparison(
QilNodeType
.Eq, local1, local2) );
1441
if (local1.NodeType ==
QilNodeType
.XsltConvert) {
1444
if (local4.NodeType ==
QilNodeType
.LiteralType) {
1458
if (local1.NodeType ==
QilNodeType
.Add) {
1462
if (( IsLiteral((local2)) ) && ( CanFoldArithmetic(
QilNodeType
.Subtract, (QilLiteral) local2, (QilLiteral) local4) )) {
1465
return Replace(XmlILOptimization.NormalizeAddEq, local0, VisitEq(f.Eq(local3, FoldArithmetic(
QilNodeType
.Subtract, (QilLiteral) local2, (QilLiteral) local4) )));
1472
if (local1.NodeType ==
QilNodeType
.XsltGenerateId) {
1475
if (local2.NodeType ==
QilNodeType
.XsltGenerateId) {
1488
if (local1.NodeType ==
QilNodeType
.XsltGenerateId) {
1491
if (local2.NodeType ==
QilNodeType
.StrConcat) {
1493
if (local5.NodeType ==
QilNodeType
.Loop) {
1496
if (local6.NodeType ==
QilNodeType
.For) {
1499
if (local8.NodeType ==
QilNodeType
.XsltGenerateId) {
1517
if (local1.NodeType ==
QilNodeType
.StrConcat) {
1519
if (local4.NodeType ==
QilNodeType
.Loop) {
1522
if (local5.NodeType ==
QilNodeType
.For) {
1525
if (local7.NodeType ==
QilNodeType
.XsltGenerateId) {
1528
if (local2.NodeType ==
QilNodeType
.XsltGenerateId) {
1546
if (local1.NodeType ==
QilNodeType
.Length) {
1548
if (local3.NodeType ==
QilNodeType
.Union) {
1552
if (local2.NodeType ==
QilNodeType
.LiteralInt32) {
1567
if (local1.NodeType ==
QilNodeType
.Length) {
1569
if (local3.NodeType ==
QilNodeType
.Union) {
1573
if (local2.NodeType ==
QilNodeType
.LiteralInt32) {
1588
if (local1.NodeType ==
QilNodeType
.Length) {
1589
if (local2.NodeType ==
QilNodeType
.LiteralInt32) {
1624
return Replace(XmlILOptimization.EliminateGt, local0, FoldComparison(
QilNodeType
.Gt, local1, local2) );
1640
if (local1.NodeType ==
QilNodeType
.XsltConvert) {
1643
if (local4.NodeType ==
QilNodeType
.LiteralType) {
1657
if (local1.NodeType ==
QilNodeType
.Length) {
1659
if (local2.NodeType ==
QilNodeType
.LiteralInt32) {
1671
if (local1.NodeType ==
QilNodeType
.Length) {
1672
if (local2.NodeType ==
QilNodeType
.LiteralInt32) {
1707
return Replace(XmlILOptimization.EliminateGe, local0, FoldComparison(
QilNodeType
.Ge, local1, local2) );
1723
if (local1.NodeType ==
QilNodeType
.XsltConvert) {
1726
if (local4.NodeType ==
QilNodeType
.LiteralType) {
1740
if (local1.NodeType ==
QilNodeType
.Length) {
1741
if (local2.NodeType ==
QilNodeType
.LiteralInt32) {
1776
return Replace(XmlILOptimization.EliminateLt, local0, FoldComparison(
QilNodeType
.Lt, local1, local2) );
1792
if (local1.NodeType ==
QilNodeType
.XsltConvert) {
1795
if (local4.NodeType ==
QilNodeType
.LiteralType) {
1809
if (local1.NodeType ==
QilNodeType
.Length) {
1810
if (local2.NodeType ==
QilNodeType
.LiteralInt32) {
1845
return Replace(XmlILOptimization.EliminateLe, local0, FoldComparison(
QilNodeType
.Le, local1, local2) );
1861
if (local1.NodeType ==
QilNodeType
.XsltConvert) {
1864
if (local4.NodeType ==
QilNodeType
.LiteralType) {
1878
if (local1.NodeType ==
QilNodeType
.Length) {
1879
if (local2.NodeType ==
QilNodeType
.LiteralInt32) {
1998
if (local1.NodeType ==
QilNodeType
.For) {
2000
if (local3.NodeType ==
QilNodeType
.For) {
2011
if (local1.NodeType ==
QilNodeType
.For) {
2013
if (local3.NodeType ==
QilNodeType
.Sequence) {
2025
if (local2.NodeType ==
QilNodeType
.Sequence) {
2044
if (local1.NodeType ==
QilNodeType
.For) {
2047
if (local2.NodeType ==
QilNodeType
.TextCtor) {
2058
if ((( (local1).NodeType ==
QilNodeType
.Let ) || ( ( ( (QilNode) (local1)[0] ).XmlType ).IsSingleton )) && ( !OptimizerPatterns.Read(local1).MatchesPattern(OptimizerPatternName.MaybeSideEffects) )) {
2068
if (local2.NodeType ==
QilNodeType
.Conditional) {
2072
if (local4.NodeType ==
QilNodeType
.Sequence) {
2085
if (local2.NodeType ==
QilNodeType
.Conditional) {
2090
if (local5.NodeType ==
QilNodeType
.Sequence) {
2102
if (local1.NodeType ==
QilNodeType
.For) {
2103
if (local2.NodeType ==
QilNodeType
.Conditional) {
2107
if (local5.NodeType ==
QilNodeType
.Sequence) {
2122
if (local1.NodeType ==
QilNodeType
.For) {
2123
if (local2.NodeType ==
QilNodeType
.Conditional) {
2128
if (local6.NodeType ==
QilNodeType
.Sequence) {
2142
if (local2.NodeType ==
QilNodeType
.Loop) {
2145
if (local3.NodeType ==
QilNodeType
.For) {
2158
if (local1.NodeType ==
QilNodeType
.For) {
2168
if ( IsStepPattern(local2,
QilNodeType
.Root) ) {
2175
if (local1.NodeType ==
QilNodeType
.For) {
2178
if ((( IsStepPattern(local2,
QilNodeType
.Content) ) || ( IsStepPattern(local2,
QilNodeType
.Union) )) && ( (local1) == ( OptimizerPatterns.Read((QilNode) (local2)).GetArgument(OptimizerPatternArgument.StepInput) ) )) {
2187
if (local1.NodeType ==
QilNodeType
.For) {
2189
if (((( IsStepPattern(local2,
QilNodeType
.Attribute) ) || ( IsStepPattern(local2,
QilNodeType
.XPathNamespace) )) || ( OptimizerPatterns.Read((QilNode) (local2)).MatchesPattern(OptimizerPatternName.FilterAttributeKind) )) && ( (local1) == ( OptimizerPatterns.Read((QilNode) (local2)).GetArgument(OptimizerPatternArgument.StepInput) ) )) {
2197
if (local1.NodeType ==
QilNodeType
.For) {
2200
if ((( IsStepPattern(local2,
QilNodeType
.Descendant) ) || ( IsStepPattern(local2,
QilNodeType
.DescendantOrSelf) )) && ( (local1) == ( OptimizerPatterns.Read((QilNode) (local2)).GetArgument(OptimizerPatternArgument.StepInput) ) )) {
2232
if (local2.NodeType ==
QilNodeType
.False) {
2241
if (local2.NodeType ==
QilNodeType
.True) {
2249
if (local1.NodeType ==
QilNodeType
.For) {
2251
if (local3.NodeType ==
QilNodeType
.Content) {
2253
if (local2.NodeType ==
QilNodeType
.And) {
2256
if (local5.NodeType ==
QilNodeType
.IsType) {
2260
if (local7.NodeType ==
QilNodeType
.LiteralType) {
2263
if (local9.NodeType ==
QilNodeType
.Eq) {
2266
if (local10.NodeType ==
QilNodeType
.NameOf) {
2269
if (local12.NodeType ==
QilNodeType
.LiteralQName) {
2287
if (local1.NodeType ==
QilNodeType
.For) {
2289
if (local3.NodeType ==
QilNodeType
.Loop) {
2303
if (( !OptimizerPatterns.Read(local1).MatchesPattern(OptimizerPatternName.MaybeSideEffects) ) && (!( ( (QilNode) (local1)[0] ).NodeType ==
QilNodeType
.OptimizeBarrier ))) {
2313
if (local2.NodeType ==
QilNodeType
.Eq) {
2316
if (local3.NodeType ==
QilNodeType
.PositionOf) {
2319
if (local5.NodeType ==
QilNodeType
.LiteralInt32) {
2330
if (local2.NodeType ==
QilNodeType
.Le) {
2333
if (local3.NodeType ==
QilNodeType
.PositionOf) {
2336
if (local5.NodeType ==
QilNodeType
.LiteralInt32) {
2347
if (local2.NodeType ==
QilNodeType
.Lt) {
2350
if (local3.NodeType ==
QilNodeType
.PositionOf) {
2353
if (local5.NodeType ==
QilNodeType
.LiteralInt32) {
2364
if (local1.NodeType ==
QilNodeType
.For) {
2372
if (local1.NodeType ==
QilNodeType
.For) {
2375
if (local2.NodeType ==
QilNodeType
.And) {
2378
if (local4.NodeType ==
QilNodeType
.IsType) {
2382
if (local6.NodeType ==
QilNodeType
.LiteralType) {
2385
if (local8.NodeType ==
QilNodeType
.Eq) {
2388
if (local9.NodeType ==
QilNodeType
.NameOf) {
2391
if (local11.NodeType ==
QilNodeType
.LiteralQName) {
2408
if (local1.NodeType ==
QilNodeType
.For) {
2411
if (local2.NodeType ==
QilNodeType
.IsType) {
2415
if (local5.NodeType ==
QilNodeType
.LiteralType) {
2429
if (local1.NodeType ==
QilNodeType
.For) {
2431
if (local3.NodeType ==
QilNodeType
.Content) {
2432
if (local2.NodeType ==
QilNodeType
.IsType) {
2436
if (local6.NodeType ==
QilNodeType
.LiteralType) {
2467
if (local1.NodeType ==
QilNodeType
.For) {
2484
if (local1.NodeType ==
QilNodeType
.XsltConvert) {
2487
if (local4.NodeType ==
QilNodeType
.LiteralType) {
2520
if (local1.NodeType ==
QilNodeType
.Loop) {
2523
if (local2.NodeType ==
QilNodeType
.For) {
2525
if (local3.NodeType ==
QilNodeType
.Loop) {
2528
if (local5.NodeType ==
QilNodeType
.DescendantOrSelf) {
2530
if (local7.NodeType ==
QilNodeType
.Filter) {
2533
if ((( OptimizerPatterns.Read((QilNode) (local7)).MatchesPattern(OptimizerPatternName.FilterElements) ) || ( OptimizerPatterns.Read((QilNode) (local7)).MatchesPattern(OptimizerPatternName.FilterContentKind) )) && ( IsStepPattern(local7,
QilNodeType
.Content) )) {
2547
if (local1.NodeType ==
QilNodeType
.Loop) {
2550
if (local2.NodeType ==
QilNodeType
.For) {
2552
if (local3.NodeType ==
QilNodeType
.DescendantOrSelf) {
2554
if (local5.NodeType ==
QilNodeType
.Filter) {
2557
if ((( OptimizerPatterns.Read((QilNode) (local5)).MatchesPattern(OptimizerPatternName.FilterElements) ) || ( OptimizerPatterns.Read((QilNode) (local5)).MatchesPattern(OptimizerPatternName.FilterContentKind) )) && ( IsStepPattern(local5,
QilNodeType
.Content) )) {
2570
if (local1.NodeType ==
QilNodeType
.Filter) {
2573
if (local2.NodeType ==
QilNodeType
.For) {
2588
if (local1.NodeType ==
QilNodeType
.Loop) {
2591
if (local3.NodeType ==
QilNodeType
.Filter) {
2594
if (local4.NodeType ==
QilNodeType
.For) {
2612
if (local1.NodeType ==
QilNodeType
.Loop) {
2615
if (local2.NodeType ==
QilNodeType
.For) {
2632
if (local1.NodeType ==
QilNodeType
.Loop) {
2635
if ((!( IsDocOrderDistinct(local3) )) && ( IsStepPattern(local3,
QilNodeType
.PrecedingSibling) )) {
2644
if (local1.NodeType ==
QilNodeType
.Loop) {
2647
if (local3.NodeType ==
QilNodeType
.DocOrderDistinct) {
2649
if (!( IsStepPattern(local4,
QilNodeType
.PrecedingSibling) )) {
2671
if (local1.NodeType ==
QilNodeType
.Loop) {
2674
if (local2.NodeType ==
QilNodeType
.For) {
2687
if (local1.NodeType ==
QilNodeType
.Loop) {
2689
if (local3.NodeType ==
QilNodeType
.Invoke) {
2711
if (local2.NodeType ==
QilNodeType
.Filter) {
2714
if (local5.NodeType ==
QilNodeType
.For) {
2716
if (local7.NodeType ==
QilNodeType
.Not) {
2718
if (local8.NodeType ==
QilNodeType
.IsEmpty) {
2720
if (local9.NodeType ==
QilNodeType
.Filter) {
2723
if (local10.NodeType ==
QilNodeType
.For) {
2725
if (local12.NodeType ==
QilNodeType
.Eq) {
2729
if (local14.NodeType ==
QilNodeType
.Parameter) {
2767
if (local2.NodeType ==
QilNodeType
.Filter) {
2770
if (local5.NodeType ==
QilNodeType
.For) {
2772
if (local7.NodeType ==
QilNodeType
.Eq) {
2775
if (local9.NodeType ==
QilNodeType
.Parameter) {
2806
if (local1.NodeType ==
QilNodeType
.Function) {
2808
if (local4.NodeType ==
QilNodeType
.Sequence) {
2824
if (local1.NodeType ==
QilNodeType
.Function) {
3310
if (local1.NodeType ==
QilNodeType
.TextCtor) {
3393
if (local2.NodeType ==
QilNodeType
.LiteralType) {
3404
if (local2.NodeType ==
QilNodeType
.LiteralType) {
3415
if (local2.NodeType ==
QilNodeType
.LiteralType) {
3441
if (local2.NodeType ==
QilNodeType
.LiteralType) {
3454
if (local2.NodeType ==
QilNodeType
.LiteralType) {
3466
if (local2.NodeType ==
QilNodeType
.LiteralType) {
3478
if (local2.NodeType ==
QilNodeType
.LiteralType) {
3491
if (local2.NodeType ==
QilNodeType
.LiteralType) {
3516
if (local1.NodeType ==
QilNodeType
.Sequence) {
3690
if (local2.NodeType ==
QilNodeType
.LiteralType) {
3702
if (local2.NodeType ==
QilNodeType
.LiteralType) {
3815
return this.parent != null && this.parent.NodeType ==
QilNodeType
.PositionOf;
3901
if (nd.NodeType ==
QilNodeType
.Let)
3904
if (nd.NodeType ==
QilNodeType
.Parameter)
3951
case
QilNodeType
.ElementCtor:
3952
case
QilNodeType
.AttributeCtor:
3953
case
QilNodeType
.CommentCtor:
3954
case
QilNodeType
.PICtor:
3955
case
QilNodeType
.TextCtor:
3956
case
QilNodeType
.RawTextCtor:
3957
case
QilNodeType
.DocumentCtor:
3958
case
QilNodeType
.NamespaceDecl:
3959
case
QilNodeType
.XsltCopy:
3960
case
QilNodeType
.XsltCopyOf:
3961
case
QilNodeType
.Choice:
3964
case
QilNodeType
.Loop:
3968
case
QilNodeType
.Sequence:
3979
case
QilNodeType
.Conditional:
3984
case
QilNodeType
.Invoke:
3998
case
QilNodeType
.True:
3999
case
QilNodeType
.False:
4000
case
QilNodeType
.LiteralString:
4001
case
QilNodeType
.LiteralInt32:
4002
case
QilNodeType
.LiteralInt64:
4003
case
QilNodeType
.LiteralDouble:
4004
case
QilNodeType
.LiteralDecimal:
4005
case
QilNodeType
.LiteralQName:
4026
if (nd.NodeType ==
QilNodeType
.True)
4028
else if (nd.NodeType ==
QilNodeType
.False)
4030
else if (nd.NodeType ==
QilNodeType
.LiteralQName)
4042
if (child.NodeType ==
QilNodeType
.Sequence)
4057
if (IsStepPattern(patt,
QilNodeType
.DescendantOrSelf) || IsStepPattern(patt,
QilNodeType
.Descendant) ||
4058
IsStepPattern(patt,
QilNodeType
.Content) || IsStepPattern(patt,
QilNodeType
.XPathPreceding) ||
4059
IsStepPattern(patt,
QilNodeType
.XPathFollowing) || IsStepPattern(patt,
QilNodeType
.FollowingSibling)) {
4077
if (IsStepPattern(patt,
QilNodeType
.Ancestor) || IsStepPattern(patt,
QilNodeType
.AncestorOrSelf) ||
4078
IsStepPattern(patt,
QilNodeType
.XPathPreceding) || IsStepPattern(patt,
QilNodeType
.PrecedingSibling)) {
4090
return FoldXsltConvert(ndLiteral, typTarget).NodeType !=
QilNodeType
.XsltConvert;
4102
if (ndDest.NodeType ==
QilNodeType
.XsltConvert)
4107
if (ndDest.NodeType ==
QilNodeType
.XsltConvert)
4151
private QilNode FoldComparison(
QilNodeType
opType, QilNode left, QilNode right) {
4160
if (left.NodeType ==
QilNodeType
.LiteralDouble) {
4163
return (opType ==
QilNodeType
.Ne) ? f.True() : f.False();
4166
if (opType ==
QilNodeType
.Eq)
4169
if (opType ==
QilNodeType
.Ne)
4172
if (left.NodeType ==
QilNodeType
.LiteralString) {
4181
case
QilNodeType
.Gt: return cmp > 0 ? f.True() : f.False();
4182
case
QilNodeType
.Ge: return cmp >= 0 ? f.True() : f.False();
4183
case
QilNodeType
.Lt: return cmp < 0 ? f.True() : f.False();
4184
case
QilNodeType
.Le: return cmp <= 0 ? f.True() : f.False();
4195
private bool CanFoldArithmetic(
QilNodeType
opType, QilLiteral left, QilLiteral right) {
4204
private QilNode FoldArithmetic(
QilNodeType
opType, QilLiteral left, QilLiteral right) {
4211
case
QilNodeType
.LiteralInt32: {
4216
case
QilNodeType
.Add: return f.LiteralInt32(intLeft + intRight);
4217
case
QilNodeType
.Subtract: return f.LiteralInt32(intLeft - intRight);
4218
case
QilNodeType
.Multiply: return f.LiteralInt32(intLeft * intRight);
4219
case
QilNodeType
.Divide: return f.LiteralInt32(intLeft / intRight);
4220
case
QilNodeType
.Modulo: return f.LiteralInt32(intLeft % intRight);
4225
case
QilNodeType
.LiteralInt64: {
4230
case
QilNodeType
.Add: return f.LiteralInt64(lngLeft + lngRight);
4231
case
QilNodeType
.Subtract: return f.LiteralInt64(lngLeft - lngRight);
4232
case
QilNodeType
.Multiply: return f.LiteralInt64(lngLeft * lngRight);
4233
case
QilNodeType
.Divide: return f.LiteralInt64(lngLeft / lngRight);
4234
case
QilNodeType
.Modulo: return f.LiteralInt64(lngLeft % lngRight);
4239
case
QilNodeType
.LiteralDecimal: {
4244
case
QilNodeType
.Add: return f.LiteralDecimal(lngLeft + lngRight);
4245
case
QilNodeType
.Subtract: return f.LiteralDecimal(lngLeft - lngRight);
4246
case
QilNodeType
.Multiply: return f.LiteralDecimal(lngLeft * lngRight);
4247
case
QilNodeType
.Divide: return f.LiteralDecimal(lngLeft / lngRight);
4248
case
QilNodeType
.Modulo: return f.LiteralDecimal(lngLeft % lngRight);
4253
case
QilNodeType
.LiteralDouble: {
4258
case
QilNodeType
.Add: return f.LiteralDouble(lngLeft + lngRight);
4259
case
QilNodeType
.Subtract: return f.LiteralDouble(lngLeft - lngRight);
4260
case
QilNodeType
.Multiply: return f.LiteralDouble(lngLeft * lngRight);
4261
case
QilNodeType
.Divide: return f.LiteralDouble(lngLeft / lngRight);
4262
case
QilNodeType
.Modulo: return f.LiteralDouble(lngLeft % lngRight);
4276
case
QilNodeType
.Add: return f.Add(left, right);
4277
case
QilNodeType
.Subtract: return f.Subtract(left, right);
4278
case
QilNodeType
.Multiply: return f.Multiply(left, right);
4279
case
QilNodeType
.Divide: return f.Divide(left, right);
4280
case
QilNodeType
.Modulo: return f.Modulo(left, right);
4307
private bool IsStepPattern(QilNode nd,
QilNodeType
stepType) {
4314
private bool IsStepPattern(OptimizerPatterns patt,
QilNodeType
stepType) {
4328
if (nd.NodeType ==
QilNodeType
.Function) {
4333
Debug.Assert(nd.NodeType ==
QilNodeType
.Let || nd.NodeType ==
QilNodeType
.Parameter, "Unexpected type of a global");
System\Xml\Xsl\IlGen\XmlIlVisitor.cs (144)
85
Debug.Assert(iter.NodeType ==
QilNodeType
.Let || iter.NodeType ==
QilNodeType
.Parameter);
180
Debug.Assert(iter.NodeType ==
QilNodeType
.Parameter, "Only parameters may not have a default value");
208
Debug.Assert(iter.NodeType ==
QilNodeType
.Parameter);
822
if (ndCond.Right.NodeType ==
QilNodeType
.Sequence && ndCond.Right.Count == 0) {
1332
this.helper.CallArithmeticOp(
QilNodeType
.Negate, ndNeg.XmlType.TypeCode);
1404
if (delimiter.NodeType ==
QilNodeType
.LiteralString && ((string) (QilLiteral) delimiter).Length == 0) {
1409
if (listStrings.NodeType ==
QilNodeType
.Sequence && listStrings.Count < 5) {
1443
if (listStrings.NodeType ==
QilNodeType
.Sequence) {
1516
if (ndParsedTagName.Right.NodeType ==
QilNodeType
.Sequence)
1581
QilNodeType
relOp = ndComp.NodeType;
1587
if (relOp ==
QilNodeType
.Eq || relOp ==
QilNodeType
.Ne) {
1611
if (relOp ==
QilNodeType
.Eq || relOp ==
QilNodeType
.Ne) {
1616
ZeroCompare((relOp ==
QilNodeType
.Eq) ?
QilNodeType
.Ne :
QilNodeType
.Eq, true);
1652
ZeroCompare(
QilNodeType
.Ne, true);
1683
ClrCompare(ndComp.NodeType ==
QilNodeType
.Before ?
QilNodeType
.Lt :
QilNodeType
.Gt, XmlTypeCode.String);
1796
case
QilNodeType
.Content:
1829
case
QilNodeType
.Parent:
1834
case
QilNodeType
.Ancestor:
1835
case
QilNodeType
.AncestorOrSelf:
1837
kinds, name, (step.NodeType ==
QilNodeType
.Ancestor) ? TriState.False : TriState.True, null);
1840
case
QilNodeType
.Descendant:
1841
case
QilNodeType
.DescendantOrSelf:
1843
kinds, name, (step.NodeType ==
QilNodeType
.Descendant) ? TriState.False : TriState.True, null);
1846
case
QilNodeType
.Preceding:
1851
case
QilNodeType
.FollowingSibling:
1856
case
QilNodeType
.PrecedingSibling:
1861
case
QilNodeType
.NodeRange:
1866
case
QilNodeType
.XPathFollowing:
1871
case
QilNodeType
.XPathPreceding:
1961
if (ndIter.NodeType ==
QilNodeType
.For || ndIter.XmlType.IsSingleton) {
1965
Debug.Assert(ndIter.NodeType ==
QilNodeType
.Let || ndIter.NodeType ==
QilNodeType
.Parameter);
2081
Debug.Assert(ndIter.NodeType ==
QilNodeType
.For);
2097
Debug.Assert(ndSort.Variable.NodeType ==
QilNodeType
.For);
2165
if (ndKey.Collation.NodeType ==
QilNodeType
.LiteralString) {
2266
case
QilNodeType
.Content:
2271
case
QilNodeType
.Descendant:
2272
case
QilNodeType
.DescendantOrSelf:
2274
kinds, name, (step.NodeType ==
QilNodeType
.Descendant) ? TriState.False : TriState.True);
2277
case
QilNodeType
.XPathFollowing:
2282
case
QilNodeType
.FollowingSibling:
2287
case
QilNodeType
.XPathPreceding:
2300
case
QilNodeType
.Ancestor:
2301
case
QilNodeType
.AncestorOrSelf:
2303
kinds, name, (step.NodeType ==
QilNodeType
.Ancestor) ? TriState.False : TriState.True, null);
2306
case
QilNodeType
.PrecedingSibling:
2311
case
QilNodeType
.XPathPreceding:
2887
case
QilNodeType
.NameOf:
2896
case
QilNodeType
.LocalNameOf:
2902
case
QilNodeType
.NamespaceUriOf:
2908
case
QilNodeType
.PrefixOf:
2964
ZeroCompare(
QilNodeType
.Ne, true);
2986
ZeroCompare(
QilNodeType
.Ne, true);
2996
ZeroCompare(
QilNodeType
.Ne, true);
3082
ZeroCompare(allowKinds ?
QilNodeType
.Ne :
QilNodeType
.Eq, false);
3087
ClrCompare(allowKinds ?
QilNodeType
.Eq :
QilNodeType
.Ne, XmlTypeCode.Int);
3699
Debug.Assert(ndDod.NodeType ==
QilNodeType
.DocOrderDistinct && ndLoop != null);
3819
if (ndName.NodeType ==
QilNodeType
.LiteralQName) {
3861
if (ndName.NodeType ==
QilNodeType
.NameOf) {
3867
else if (ndName.NodeType ==
QilNodeType
.StrParseQName) {
3894
private bool TryZeroCompare(
QilNodeType
relOp, QilNode ndFirst, QilNode ndSecond) {
3895
Debug.Assert(relOp ==
QilNodeType
.Eq || relOp ==
QilNodeType
.Ne);
3898
case
QilNodeType
.LiteralInt64:
3902
case
QilNodeType
.LiteralInt32:
3906
case
QilNodeType
.False:
3909
case
QilNodeType
.True:
3911
relOp = (relOp ==
QilNodeType
.Eq) ?
QilNodeType
.Ne :
QilNodeType
.Eq;
3931
private bool TryNameCompare(
QilNodeType
relOp, QilNode ndFirst, QilNode ndSecond) {
3932
Debug.Assert(relOp ==
QilNodeType
.Eq || relOp ==
QilNodeType
.Ne);
3934
if (ndFirst.NodeType ==
QilNodeType
.NameOf) {
3936
case
QilNodeType
.NameOf:
3937
case
QilNodeType
.LiteralQName: {
3944
if (ndSecond.NodeType ==
QilNodeType
.LiteralQName) {
3954
Debug.Assert(ndSecond.NodeType ==
QilNodeType
.NameOf);
3962
ZeroCompare((relOp ==
QilNodeType
.Eq) ?
QilNodeType
.Ne :
QilNodeType
.Eq, true);
3976
private void ClrCompare(
QilNodeType
relOp, XmlTypeCode code) {
3986
case
QilNodeType
.Gt: opcode = OpCodes.Ble_Un; break;
3987
case
QilNodeType
.Ge: opcode = OpCodes.Blt_Un; break;
3988
case
QilNodeType
.Lt: opcode = OpCodes.Bge_Un; break;
3989
case
QilNodeType
.Le: opcode = OpCodes.Bgt_Un; break;
3990
case
QilNodeType
.Eq: opcode = OpCodes.Bne_Un; break;
3991
case
QilNodeType
.Ne: opcode = OpCodes.Beq; break;
3998
case
QilNodeType
.Gt: opcode = OpCodes.Ble; break;
3999
case
QilNodeType
.Ge: opcode = OpCodes.Blt; break;
4000
case
QilNodeType
.Lt: opcode = OpCodes.Bge; break;
4001
case
QilNodeType
.Le: opcode = OpCodes.Bgt; break;
4002
case
QilNodeType
.Eq: opcode = OpCodes.Bne_Un; break;
4003
case
QilNodeType
.Ne: opcode = OpCodes.Beq; break;
4013
case
QilNodeType
.Gt: opcode = OpCodes.Bgt; break;
4014
case
QilNodeType
.Ge: opcode = OpCodes.Bge; break;
4015
case
QilNodeType
.Lt: opcode = OpCodes.Blt; break;
4016
case
QilNodeType
.Le: opcode = OpCodes.Ble; break;
4017
case
QilNodeType
.Eq: opcode = OpCodes.Beq; break;
4018
case
QilNodeType
.Ne: opcode = OpCodes.Bne_Un; break;
4028
case
QilNodeType
.Gt: this.helper.Emit(OpCodes.Cgt); break;
4029
case
QilNodeType
.Lt: this.helper.Emit(OpCodes.Clt); break;
4030
case
QilNodeType
.Eq: this.helper.Emit(OpCodes.Ceq); break;
4033
case
QilNodeType
.Ge: opcode = OpCodes.Bge_S; break;
4034
case
QilNodeType
.Le: opcode = OpCodes.Ble_S; break;
4035
case
QilNodeType
.Ne: opcode = OpCodes.Bne_Un_S; break;
4054
private void ZeroCompare(
QilNodeType
relOp, bool isBoolVal) {
4056
Debug.Assert(relOp ==
QilNodeType
.Eq || relOp ==
QilNodeType
.Ne);
4063
this.helper.Emit((relOp ==
QilNodeType
.Eq) ? OpCodes.Brfalse : OpCodes.Brtrue, this.iterCurr.LabelBranch);
4070
this.helper.Emit((relOp ==
QilNodeType
.Eq) ? OpCodes.Brtrue : OpCodes.Brfalse, this.iterCurr.LabelBranch);
4078
if (!isBoolVal || relOp ==
QilNodeType
.Eq) {
4082
this.helper.Emit((relOp ==
QilNodeType
.Eq) ? OpCodes.Brfalse : OpCodes.Brtrue, lblTrue);
4177
case
QilNodeType
.ElementCtor:
4178
case
QilNodeType
.TextCtor:
4179
case
QilNodeType
.RawTextCtor:
4180
case
QilNodeType
.PICtor:
4181
case
QilNodeType
.CommentCtor:
4249
private XPathNodeType QilConstructorToNodeType(
QilNodeType
typ) {
4251
case
QilNodeType
.DocumentCtor: return XPathNodeType.Root;
4252
case
QilNodeType
.ElementCtor: return XPathNodeType.Element;
4253
case
QilNodeType
.TextCtor: return XPathNodeType.Text;
4254
case
QilNodeType
.RawTextCtor: return XPathNodeType.Text;
4255
case
QilNodeType
.PICtor: return XPathNodeType.ProcessingInstruction;
4256
case
QilNodeType
.CommentCtor: return XPathNodeType.Comment;
4257
case
QilNodeType
.AttributeCtor: return XPathNodeType.Attribute;
4258
case
QilNodeType
.NamespaceDecl: return XPathNodeType.Namespace;
4551
case
QilNodeType
.Let:
4552
case
QilNodeType
.Parameter:
4553
case
QilNodeType
.Invoke:
4554
case
QilNodeType
.XsltInvokeLateBound:
4555
case
QilNodeType
.XsltInvokeEarlyBound:
4558
case
QilNodeType
.Filter:
4563
case
QilNodeType
.DocOrderDistinct:
4571
case
QilNodeType
.TypeAssert:
System\Xml\Xsl\QIL\QilBinary.cs (1)
30
public QilBinary(
QilNodeType
nodeType, QilNode left, QilNode right) : base(nodeType) {
System\Xml\Xsl\QIL\QilChoice.cs (1)
30
public QilChoice(
QilNodeType
nodeType, QilNode expression, QilNode branches) : base(nodeType, expression, branches) {
System\Xml\Xsl\QIL\QilDataSource.cs (1)
29
public QilDataSource(
QilNodeType
nodeType, QilNode name, QilNode baseUri) : base(nodeType, name, baseUri) {
System\Xml\Xsl\QIL\QilExpression.cs (3)
41
public QilExpression(
QilNodeType
nodeType, QilNode root) : this(nodeType, root, new QilFactory()) {
47
public QilExpression(
QilNodeType
nodeType, QilNode root, QilFactory factory) : base(nodeType) {
118
get { return this.isDebug.NodeType ==
QilNodeType
.True; }
System\Xml\Xsl\QIL\QilFactory.cs (108)
34
QilExpression n = new QilExpression(
QilNodeType
.QilExpression, root, factory);
123
QilExpression n = new QilExpression(
QilNodeType
.QilExpression, root);
130
QilList n = new QilList(
QilNodeType
.FunctionList);
137
QilList n = new QilList(
QilNodeType
.GlobalVariableList);
144
QilList n = new QilList(
QilNodeType
.GlobalParameterList);
151
QilList n = new QilList(
QilNodeType
.ActualParameterList);
158
QilList n = new QilList(
QilNodeType
.FormalParameterList);
165
QilList n = new QilList(
QilNodeType
.SortKeyList);
172
QilList n = new QilList(
QilNodeType
.BranchList);
179
QilUnary n = new QilUnary(
QilNodeType
.OptimizeBarrier, child);
186
QilNode n = new QilNode(
QilNodeType
.Unknown, xmlType);
199
QilDataSource n = new QilDataSource(
QilNodeType
.DataSource, name, baseUri);
206
QilUnary n = new QilUnary(
QilNodeType
.Nop, child);
213
QilUnary n = new QilUnary(
QilNodeType
.Error, child);
220
QilUnary n = new QilUnary(
QilNodeType
.Warning, child);
233
QilIterator n = new QilIterator(
QilNodeType
.For, binding);
240
QilIterator n = new QilIterator(
QilNodeType
.Let, binding);
247
QilParameter n = new QilParameter(
QilNodeType
.Parameter, defaultValue, name, xmlType);
254
QilUnary n = new QilUnary(
QilNodeType
.PositionOf, child);
267
QilNode n = new QilNode(
QilNodeType
.True);
274
QilNode n = new QilNode(
QilNodeType
.False);
281
QilLiteral n = new QilLiteral(
QilNodeType
.LiteralString, value);
288
QilLiteral n = new QilLiteral(
QilNodeType
.LiteralInt32, value);
295
QilLiteral n = new QilLiteral(
QilNodeType
.LiteralInt64, value);
302
QilLiteral n = new QilLiteral(
QilNodeType
.LiteralDouble, value);
309
QilLiteral n = new QilLiteral(
QilNodeType
.LiteralDecimal, value);
316
QilName n = new QilName(
QilNodeType
.LiteralQName, localName, namespaceUri, prefix);
323
QilLiteral n = new QilLiteral(
QilNodeType
.LiteralType, value);
330
QilLiteral n = new QilLiteral(
QilNodeType
.LiteralObject, value);
343
QilBinary n = new QilBinary(
QilNodeType
.And, left, right);
350
QilBinary n = new QilBinary(
QilNodeType
.Or, left, right);
357
QilUnary n = new QilUnary(
QilNodeType
.Not, child);
370
QilTernary n = new QilTernary(
QilNodeType
.Conditional, left, center, right);
377
QilChoice n = new QilChoice(
QilNodeType
.Choice, expression, branches);
390
QilUnary n = new QilUnary(
QilNodeType
.Length, child);
397
QilList n = new QilList(
QilNodeType
.Sequence);
404
QilBinary n = new QilBinary(
QilNodeType
.Union, left, right);
411
QilBinary n = new QilBinary(
QilNodeType
.Intersection, left, right);
418
QilBinary n = new QilBinary(
QilNodeType
.Difference, left, right);
425
QilUnary n = new QilUnary(
QilNodeType
.Average, child);
432
QilUnary n = new QilUnary(
QilNodeType
.Sum, child);
439
QilUnary n = new QilUnary(
QilNodeType
.Minimum, child);
446
QilUnary n = new QilUnary(
QilNodeType
.Maximum, child);
459
QilUnary n = new QilUnary(
QilNodeType
.Negate, child);
466
QilBinary n = new QilBinary(
QilNodeType
.Add, left, right);
473
QilBinary n = new QilBinary(
QilNodeType
.Subtract, left, right);
480
QilBinary n = new QilBinary(
QilNodeType
.Multiply, left, right);
487
QilBinary n = new QilBinary(
QilNodeType
.Divide, left, right);
494
QilBinary n = new QilBinary(
QilNodeType
.Modulo, left, right);
507
QilUnary n = new QilUnary(
QilNodeType
.StrLength, child);
514
QilStrConcat n = new QilStrConcat(
QilNodeType
.StrConcat, delimiter, values);
521
QilBinary n = new QilBinary(
QilNodeType
.StrParseQName, left, right);
534
QilBinary n = new QilBinary(
QilNodeType
.Ne, left, right);
541
QilBinary n = new QilBinary(
QilNodeType
.Eq, left, right);
548
QilBinary n = new QilBinary(
QilNodeType
.Gt, left, right);
555
QilBinary n = new QilBinary(
QilNodeType
.Ge, left, right);
562
QilBinary n = new QilBinary(
QilNodeType
.Lt, left, right);
569
QilBinary n = new QilBinary(
QilNodeType
.Le, left, right);
582
QilBinary n = new QilBinary(
QilNodeType
.Is, left, right);
589
QilBinary n = new QilBinary(
QilNodeType
.After, left, right);
596
QilBinary n = new QilBinary(
QilNodeType
.Before, left, right);
609
QilLoop n = new QilLoop(
QilNodeType
.Loop, variable, body);
616
QilLoop n = new QilLoop(
QilNodeType
.Filter, variable, body);
629
QilLoop n = new QilLoop(
QilNodeType
.Sort, variable, body);
636
QilSortKey n = new QilSortKey(
QilNodeType
.SortKey, key, collation);
643
QilUnary n = new QilUnary(
QilNodeType
.DocOrderDistinct, child);
656
QilFunction n = new QilFunction(
QilNodeType
.Function, arguments, definition, sideEffects, xmlType);
663
QilInvoke n = new QilInvoke(
QilNodeType
.Invoke, function, arguments);
676
QilUnary n = new QilUnary(
QilNodeType
.Content, child);
683
QilBinary n = new QilBinary(
QilNodeType
.Attribute, left, right);
690
QilUnary n = new QilUnary(
QilNodeType
.Parent, child);
697
QilUnary n = new QilUnary(
QilNodeType
.Root, child);
704
QilNode n = new QilNode(
QilNodeType
.XmlContext);
711
QilUnary n = new QilUnary(
QilNodeType
.Descendant, child);
718
QilUnary n = new QilUnary(
QilNodeType
.DescendantOrSelf, child);
725
QilUnary n = new QilUnary(
QilNodeType
.Ancestor, child);
732
QilUnary n = new QilUnary(
QilNodeType
.AncestorOrSelf, child);
739
QilUnary n = new QilUnary(
QilNodeType
.Preceding, child);
746
QilUnary n = new QilUnary(
QilNodeType
.FollowingSibling, child);
753
QilUnary n = new QilUnary(
QilNodeType
.PrecedingSibling, child);
760
QilBinary n = new QilBinary(
QilNodeType
.NodeRange, left, right);
767
QilBinary n = new QilBinary(
QilNodeType
.Deref, left, right);
780
QilBinary n = new QilBinary(
QilNodeType
.ElementCtor, left, right);
787
QilBinary n = new QilBinary(
QilNodeType
.AttributeCtor, left, right);
794
QilUnary n = new QilUnary(
QilNodeType
.CommentCtor, child);
801
QilBinary n = new QilBinary(
QilNodeType
.PICtor, left, right);
808
QilUnary n = new QilUnary(
QilNodeType
.TextCtor, child);
815
QilUnary n = new QilUnary(
QilNodeType
.RawTextCtor, child);
822
QilUnary n = new QilUnary(
QilNodeType
.DocumentCtor, child);
829
QilBinary n = new QilBinary(
QilNodeType
.NamespaceDecl, left, right);
836
QilBinary n = new QilBinary(
QilNodeType
.RtfCtor, left, right);
849
QilUnary n = new QilUnary(
QilNodeType
.NameOf, child);
856
QilUnary n = new QilUnary(
QilNodeType
.LocalNameOf, child);
863
QilUnary n = new QilUnary(
QilNodeType
.NamespaceUriOf, child);
870
QilUnary n = new QilUnary(
QilNodeType
.PrefixOf, child);
883
QilTargetType n = new QilTargetType(
QilNodeType
.TypeAssert, source, targetType);
890
QilTargetType n = new QilTargetType(
QilNodeType
.IsType, source, targetType);
897
QilUnary n = new QilUnary(
QilNodeType
.IsEmpty, child);
910
QilUnary n = new QilUnary(
QilNodeType
.XPathNodeValue, child);
917
QilUnary n = new QilUnary(
QilNodeType
.XPathFollowing, child);
924
QilUnary n = new QilUnary(
QilNodeType
.XPathPreceding, child);
931
QilUnary n = new QilUnary(
QilNodeType
.XPathNamespace, child);
944
QilUnary n = new QilUnary(
QilNodeType
.XsltGenerateId, child);
951
QilInvokeLateBound n = new QilInvokeLateBound(
QilNodeType
.XsltInvokeLateBound, name, arguments);
958
QilInvokeEarlyBound n = new QilInvokeEarlyBound(
QilNodeType
.XsltInvokeEarlyBound, name, clrMethod, arguments, xmlType);
965
QilBinary n = new QilBinary(
QilNodeType
.XsltCopy, left, right);
972
QilUnary n = new QilUnary(
QilNodeType
.XsltCopyOf, child);
979
QilTargetType n = new QilTargetType(
QilNodeType
.XsltConvert, source, targetType);
System\Xml\Xsl\QIL\QilFunction.cs (4)
36
public QilFunction(
QilNodeType
nodeType, QilNode arguments, QilNode definition, QilNode sideEffects, XmlQueryType resultType)
97
get { return this.sideEffects.NodeType ==
QilNodeType
.True; }
98
set { this.sideEffects.NodeType = value ?
QilNodeType
.True :
QilNodeType
.False; }
System\Xml\Xsl\QIL\QilInvoke.cs (1)
26
public QilInvoke(
QilNodeType
nodeType, QilNode function, QilNode arguments) : base(nodeType, function, arguments) {
System\Xml\Xsl\QIL\QilInvokeEarlyBound.cs (1)
26
public QilInvokeEarlyBound(
QilNodeType
nodeType, QilNode name, QilNode method, QilNode arguments, XmlQueryType resultType)
System\Xml\Xsl\QIL\QilInvokeLateBound.cs (1)
24
public QilInvokeLateBound(
QilNodeType
nodeType, QilNode name, QilNode arguments) : base(nodeType, name, arguments) {
System\Xml\Xsl\QIL\QilIterator.cs (1)
25
public QilIterator(
QilNodeType
nodeType, QilNode binding) : base(nodeType) {
System\Xml\Xsl\QIL\QilList.cs (3)
31
public QilList(
QilNodeType
nodeType) : base(nodeType) {
50
if (this.nodeType ==
QilNodeType
.Sequence) {
56
else if (this.nodeType ==
QilNodeType
.BranchList) {
System\Xml\Xsl\QIL\QilLiteral.cs (1)
29
public QilLiteral(
QilNodeType
nodeType, object value) : base(nodeType) {
System\Xml\Xsl\QIL\QilLoop.cs (1)
30
public QilLoop(
QilNodeType
nodeType, QilNode variable, QilNode body) : base(nodeType, variable, body) {
System\Xml\Xsl\QIL\QilName.cs (1)
31
public QilName(
QilNodeType
nodeType, string local, string uri, string prefix) : base(nodeType, null) {
System\Xml\Xsl\QIL\QilNode.cs (4)
26
protected
QilNodeType
nodeType;
38
public QilNode(
QilNodeType
nodeType) {
45
public QilNode(
QilNodeType
nodeType, XmlQueryType xmlType) {
58
public
QilNodeType
NodeType {
System\Xml\Xsl\QIL\QilParameter.cs (1)
25
public QilParameter(
QilNodeType
nodeType, QilNode defaultValue, QilNode name, XmlQueryType xmlType) : base(nodeType, defaultValue) {
System\Xml\Xsl\QIL\QilPatternFactory.cs (19)
236
if (left.NodeType ==
QilNodeType
.True || right.NodeType ==
QilNodeType
.False) {
239
if (left.NodeType ==
QilNodeType
.False || right.NodeType ==
QilNodeType
.True) {
254
if (left.NodeType ==
QilNodeType
.True || right.NodeType ==
QilNodeType
.False) {
257
if (left.NodeType ==
QilNodeType
.False || right.NodeType ==
QilNodeType
.True) {
267
case
QilNodeType
.True:
269
case
QilNodeType
.False:
271
case
QilNodeType
.Not:
288
case
QilNodeType
.True:
290
case
QilNodeType
.False:
292
case
QilNodeType
.Not:
496
if (expr.NodeType ==
QilNodeType
.True) {
520
if (collection.NodeType ==
QilNodeType
.DocOrderDistinct) {
533
Debug.Assert(args.NodeType ==
QilNodeType
.FormalParameterList);
537
Debug.Assert(args.NodeType ==
QilNodeType
.FormalParameterList);
542
Debug.Assert(args.NodeType ==
QilNodeType
.ActualParameterList);
System\Xml\Xsl\QIL\QilReference.cs (1)
31
public QilReference(
QilNodeType
nodeType) : base(nodeType) {
System\Xml\Xsl\QIL\QilScopedVisitor.cs (10)
40
case
QilNodeType
.QilExpression:
48
case
QilNodeType
.Function:
53
case
QilNodeType
.Loop:
54
case
QilNodeType
.Filter:
55
case
QilNodeType
.Sort:
69
case
QilNodeType
.QilExpression:
77
case
QilNodeType
.Function:
82
case
QilNodeType
.Loop:
83
case
QilNodeType
.Filter:
84
case
QilNodeType
.Sort:
System\Xml\Xsl\QIL\QilSortKey.cs (1)
27
public QilSortKey(
QilNodeType
nodeType, QilNode key, QilNode collation) : base(nodeType, key, collation) {
System\Xml\Xsl\QIL\QilStrConcat.cs (1)
27
public QilStrConcat(
QilNodeType
nodeType, QilNode delimiter, QilNode values) : base(nodeType, delimiter, values) {
System\Xml\Xsl\QIL\QilTargetType.cs (1)
29
public QilTargetType(
QilNodeType
nodeType, QilNode expr, QilNode targetType) : base(nodeType, expr, targetType) {
System\Xml\Xsl\QIL\QilTernary.cs (1)
30
public QilTernary(
QilNodeType
nodeType, QilNode left, QilNode center, QilNode right) : base(nodeType) {
System\Xml\Xsl\QIL\QilTypeChecker.cs (139)
32
case
QilNodeType
.QilExpression: return CheckQilExpression((QilExpression)n);
33
case
QilNodeType
.FunctionList: return CheckFunctionList((QilList)n);
34
case
QilNodeType
.GlobalVariableList: return CheckGlobalVariableList((QilList)n);
35
case
QilNodeType
.GlobalParameterList: return CheckGlobalParameterList((QilList)n);
36
case
QilNodeType
.ActualParameterList: return CheckActualParameterList((QilList)n);
37
case
QilNodeType
.FormalParameterList: return CheckFormalParameterList((QilList)n);
38
case
QilNodeType
.SortKeyList: return CheckSortKeyList((QilList)n);
39
case
QilNodeType
.BranchList: return CheckBranchList((QilList)n);
40
case
QilNodeType
.OptimizeBarrier: return CheckOptimizeBarrier((QilUnary)n);
41
case
QilNodeType
.Unknown: return CheckUnknown(n);
43
case
QilNodeType
.DataSource: return CheckDataSource((QilDataSource)n);
44
case
QilNodeType
.Nop: return CheckNop((QilUnary)n);
45
case
QilNodeType
.Error: return CheckError((QilUnary)n);
46
case
QilNodeType
.Warning: return CheckWarning((QilUnary)n);
48
case
QilNodeType
.For: return CheckFor((QilIterator)n);
49
case
QilNodeType
.Let: return CheckLet((QilIterator)n);
50
case
QilNodeType
.Parameter: return CheckParameter((QilParameter)n);
51
case
QilNodeType
.PositionOf: return CheckPositionOf((QilUnary)n);
53
case
QilNodeType
.True: return CheckTrue(n);
54
case
QilNodeType
.False: return CheckFalse(n);
55
case
QilNodeType
.LiteralString: return CheckLiteralString((QilLiteral)n);
56
case
QilNodeType
.LiteralInt32: return CheckLiteralInt32((QilLiteral)n);
57
case
QilNodeType
.LiteralInt64: return CheckLiteralInt64((QilLiteral)n);
58
case
QilNodeType
.LiteralDouble: return CheckLiteralDouble((QilLiteral)n);
59
case
QilNodeType
.LiteralDecimal: return CheckLiteralDecimal((QilLiteral)n);
60
case
QilNodeType
.LiteralQName: return CheckLiteralQName((QilName)n);
61
case
QilNodeType
.LiteralType: return CheckLiteralType((QilLiteral)n);
62
case
QilNodeType
.LiteralObject: return CheckLiteralObject((QilLiteral)n);
64
case
QilNodeType
.And: return CheckAnd((QilBinary)n);
65
case
QilNodeType
.Or: return CheckOr((QilBinary)n);
66
case
QilNodeType
.Not: return CheckNot((QilUnary)n);
68
case
QilNodeType
.Conditional: return CheckConditional((QilTernary)n);
69
case
QilNodeType
.Choice: return CheckChoice((QilChoice)n);
71
case
QilNodeType
.Length: return CheckLength((QilUnary)n);
72
case
QilNodeType
.Sequence: return CheckSequence((QilList)n);
73
case
QilNodeType
.Union: return CheckUnion((QilBinary)n);
74
case
QilNodeType
.Intersection: return CheckIntersection((QilBinary)n);
75
case
QilNodeType
.Difference: return CheckDifference((QilBinary)n);
76
case
QilNodeType
.Average: return CheckAverage((QilUnary)n);
77
case
QilNodeType
.Sum: return CheckSum((QilUnary)n);
78
case
QilNodeType
.Minimum: return CheckMinimum((QilUnary)n);
79
case
QilNodeType
.Maximum: return CheckMaximum((QilUnary)n);
81
case
QilNodeType
.Negate: return CheckNegate((QilUnary)n);
82
case
QilNodeType
.Add: return CheckAdd((QilBinary)n);
83
case
QilNodeType
.Subtract: return CheckSubtract((QilBinary)n);
84
case
QilNodeType
.Multiply: return CheckMultiply((QilBinary)n);
85
case
QilNodeType
.Divide: return CheckDivide((QilBinary)n);
86
case
QilNodeType
.Modulo: return CheckModulo((QilBinary)n);
88
case
QilNodeType
.StrLength: return CheckStrLength((QilUnary)n);
89
case
QilNodeType
.StrConcat: return CheckStrConcat((QilStrConcat)n);
90
case
QilNodeType
.StrParseQName: return CheckStrParseQName((QilBinary)n);
92
case
QilNodeType
.Ne: return CheckNe((QilBinary)n);
93
case
QilNodeType
.Eq: return CheckEq((QilBinary)n);
94
case
QilNodeType
.Gt: return CheckGt((QilBinary)n);
95
case
QilNodeType
.Ge: return CheckGe((QilBinary)n);
96
case
QilNodeType
.Lt: return CheckLt((QilBinary)n);
97
case
QilNodeType
.Le: return CheckLe((QilBinary)n);
99
case
QilNodeType
.Is: return CheckIs((QilBinary)n);
100
case
QilNodeType
.After: return CheckAfter((QilBinary)n);
101
case
QilNodeType
.Before: return CheckBefore((QilBinary)n);
103
case
QilNodeType
.Loop: return CheckLoop((QilLoop)n);
104
case
QilNodeType
.Filter: return CheckFilter((QilLoop)n);
106
case
QilNodeType
.Sort: return CheckSort((QilLoop)n);
107
case
QilNodeType
.SortKey: return CheckSortKey((QilSortKey)n);
108
case
QilNodeType
.DocOrderDistinct: return CheckDocOrderDistinct((QilUnary)n);
110
case
QilNodeType
.Function: return CheckFunction((QilFunction)n);
111
case
QilNodeType
.Invoke: return CheckInvoke((QilInvoke)n);
113
case
QilNodeType
.Content: return CheckContent((QilUnary)n);
114
case
QilNodeType
.Attribute: return CheckAttribute((QilBinary)n);
115
case
QilNodeType
.Parent: return CheckParent((QilUnary)n);
116
case
QilNodeType
.Root: return CheckRoot((QilUnary)n);
117
case
QilNodeType
.XmlContext: return CheckXmlContext(n);
118
case
QilNodeType
.Descendant: return CheckDescendant((QilUnary)n);
119
case
QilNodeType
.DescendantOrSelf: return CheckDescendantOrSelf((QilUnary)n);
120
case
QilNodeType
.Ancestor: return CheckAncestor((QilUnary)n);
121
case
QilNodeType
.AncestorOrSelf: return CheckAncestorOrSelf((QilUnary)n);
122
case
QilNodeType
.Preceding: return CheckPreceding((QilUnary)n);
123
case
QilNodeType
.FollowingSibling: return CheckFollowingSibling((QilUnary)n);
124
case
QilNodeType
.PrecedingSibling: return CheckPrecedingSibling((QilUnary)n);
125
case
QilNodeType
.NodeRange: return CheckNodeRange((QilBinary)n);
126
case
QilNodeType
.Deref: return CheckDeref((QilBinary)n);
128
case
QilNodeType
.ElementCtor: return CheckElementCtor((QilBinary)n);
129
case
QilNodeType
.AttributeCtor: return CheckAttributeCtor((QilBinary)n);
130
case
QilNodeType
.CommentCtor: return CheckCommentCtor((QilUnary)n);
131
case
QilNodeType
.PICtor: return CheckPICtor((QilBinary)n);
132
case
QilNodeType
.TextCtor: return CheckTextCtor((QilUnary)n);
133
case
QilNodeType
.RawTextCtor: return CheckRawTextCtor((QilUnary)n);
134
case
QilNodeType
.DocumentCtor: return CheckDocumentCtor((QilUnary)n);
135
case
QilNodeType
.NamespaceDecl: return CheckNamespaceDecl((QilBinary)n);
136
case
QilNodeType
.RtfCtor: return CheckRtfCtor((QilBinary)n);
138
case
QilNodeType
.NameOf: return CheckNameOf((QilUnary)n);
139
case
QilNodeType
.LocalNameOf: return CheckLocalNameOf((QilUnary)n);
140
case
QilNodeType
.NamespaceUriOf: return CheckNamespaceUriOf((QilUnary)n);
141
case
QilNodeType
.PrefixOf: return CheckPrefixOf((QilUnary)n);
143
case
QilNodeType
.TypeAssert: return CheckTypeAssert((QilTargetType)n);
144
case
QilNodeType
.IsType: return CheckIsType((QilTargetType)n);
145
case
QilNodeType
.IsEmpty: return CheckIsEmpty((QilUnary)n);
147
case
QilNodeType
.XPathNodeValue: return CheckXPathNodeValue((QilUnary)n);
148
case
QilNodeType
.XPathFollowing: return CheckXPathFollowing((QilUnary)n);
149
case
QilNodeType
.XPathPreceding: return CheckXPathPreceding((QilUnary)n);
150
case
QilNodeType
.XPathNamespace: return CheckXPathNamespace((QilUnary)n);
152
case
QilNodeType
.XsltGenerateId: return CheckXsltGenerateId((QilUnary)n);
153
case
QilNodeType
.XsltInvokeLateBound: return CheckXsltInvokeLateBound((QilInvokeLateBound)n);
154
case
QilNodeType
.XsltInvokeEarlyBound: return CheckXsltInvokeEarlyBound((QilInvokeEarlyBound)n);
155
case
QilNodeType
.XsltCopy: return CheckXsltCopy((QilBinary)n);
156
case
QilNodeType
.XsltCopyOf: return CheckXsltCopyOf((QilUnary)n);
157
case
QilNodeType
.XsltConvert: return CheckXsltConvert((QilTargetType)n);
169
Check(node[0].NodeType ==
QilNodeType
.False || node[0].NodeType ==
QilNodeType
.True, node, "IsDebug must either be True or False");
172
CheckClassAndNodeType(node[3], typeof(QilList),
QilNodeType
.GlobalParameterList);
173
CheckClassAndNodeType(node[4], typeof(QilList),
QilNodeType
.GlobalVariableList);
175
CheckClassAndNodeType(node[6], typeof(QilList),
QilNodeType
.FunctionList);
181
CheckClassAndNodeType(child, typeof(QilFunction),
QilNodeType
.Function);
187
CheckClassAndNodeType(child, typeof(QilIterator),
QilNodeType
.Let);
193
CheckClassAndNodeType(child, typeof(QilParameter),
QilNodeType
.Parameter);
205
CheckClassAndNodeType(child, typeof(QilParameter),
QilNodeType
.Parameter);
211
CheckClassAndNodeType(child, typeof(QilSortKey),
QilNodeType
.SortKey);
366
CheckClassAndNodeType(node.Branches, typeof(QilList),
QilNodeType
.BranchList);
538
Check(node.Variable.NodeType ==
QilNodeType
.For || node.Variable.NodeType ==
QilNodeType
.Let, node, "Loop variable must be a For or Let iterator");
541
XmlQueryCardinality variableCard = node.Variable.NodeType ==
QilNodeType
.Let ? XmlQueryCardinality.One : node.Variable.Binding.XmlType.Cardinality;
549
Check(node.Variable.NodeType ==
QilNodeType
.For || node.Variable.NodeType ==
QilNodeType
.Let, node, "Filter variable must be a For or Let iterator");
569
CheckClassAndNodeType(node[0], typeof(QilIterator),
QilNodeType
.For);
570
CheckClassAndNodeType(node[1], typeof(QilList),
QilNodeType
.SortKeyList);
594
CheckClassAndNodeType(node[0], typeof(QilList),
QilNodeType
.FormalParameterList);
595
Check(node[2].NodeType ==
QilNodeType
.False || node[2].NodeType ==
QilNodeType
.True, node, "SideEffects must either be True or False");
745
CheckClassAndNodeType(node.Right, typeof(QilLiteral),
QilNodeType
.LiteralString);
793
CheckClassAndNodeType(node[1], typeof(QilLiteral),
QilNodeType
.LiteralType);
798
CheckClassAndNodeType(node[1], typeof(QilLiteral),
QilNodeType
.LiteralType);
845
CheckClassAndNodeType(node[1], typeof(QilList),
QilNodeType
.ActualParameterList);
883
CheckClassAndNodeType(node[1], typeof(QilLiteral),
QilNodeType
.LiteralType);
913
private void CheckClassAndNodeType(QilNode node, Type clrTypeClass,
QilNodeType
nodeType) {
962
case
QilNodeType
.False:
965
case
QilNodeType
.IsType:
971
case
QilNodeType
.And:
979
case
QilNodeType
.Eq:
982
if (binary.Left.NodeType ==
QilNodeType
.PositionOf) {
System\Xml\Xsl\QIL\QilUnary.cs (1)
30
public QilUnary(
QilNodeType
nodeType, QilNode child) : base(nodeType) {
System\Xml\Xsl\QIL\QilVisitor.cs (122)
62
case
QilNodeType
.For:
63
case
QilNodeType
.Let:
64
case
QilNodeType
.Parameter:
67
case
QilNodeType
.Loop:
68
case
QilNodeType
.Filter:
69
case
QilNodeType
.Sort:
73
case
QilNodeType
.GlobalVariableList:
74
case
QilNodeType
.GlobalParameterList:
75
case
QilNodeType
.FormalParameterList:
83
case
QilNodeType
.Function:
85
return parent.NodeType ==
QilNodeType
.Invoke;
104
case
QilNodeType
.QilExpression: return VisitQilExpression((QilExpression)n);
105
case
QilNodeType
.FunctionList: return VisitFunctionList((QilList)n);
106
case
QilNodeType
.GlobalVariableList: return VisitGlobalVariableList((QilList)n);
107
case
QilNodeType
.GlobalParameterList: return VisitGlobalParameterList((QilList)n);
108
case
QilNodeType
.ActualParameterList: return VisitActualParameterList((QilList)n);
109
case
QilNodeType
.FormalParameterList: return VisitFormalParameterList((QilList)n);
110
case
QilNodeType
.SortKeyList: return VisitSortKeyList((QilList)n);
111
case
QilNodeType
.BranchList: return VisitBranchList((QilList)n);
112
case
QilNodeType
.OptimizeBarrier: return VisitOptimizeBarrier((QilUnary)n);
113
case
QilNodeType
.Unknown: return VisitUnknown(n);
115
case
QilNodeType
.DataSource: return VisitDataSource((QilDataSource)n);
116
case
QilNodeType
.Nop: return VisitNop((QilUnary)n);
117
case
QilNodeType
.Error: return VisitError((QilUnary)n);
118
case
QilNodeType
.Warning: return VisitWarning((QilUnary)n);
120
case
QilNodeType
.For: return VisitFor((QilIterator)n);
121
case
QilNodeType
.Let: return VisitLet((QilIterator)n);
122
case
QilNodeType
.Parameter: return VisitParameter((QilParameter)n);
123
case
QilNodeType
.PositionOf: return VisitPositionOf((QilUnary)n);
125
case
QilNodeType
.True: return VisitTrue(n);
126
case
QilNodeType
.False: return VisitFalse(n);
127
case
QilNodeType
.LiteralString: return VisitLiteralString((QilLiteral)n);
128
case
QilNodeType
.LiteralInt32: return VisitLiteralInt32((QilLiteral)n);
129
case
QilNodeType
.LiteralInt64: return VisitLiteralInt64((QilLiteral)n);
130
case
QilNodeType
.LiteralDouble: return VisitLiteralDouble((QilLiteral)n);
131
case
QilNodeType
.LiteralDecimal: return VisitLiteralDecimal((QilLiteral)n);
132
case
QilNodeType
.LiteralQName: return VisitLiteralQName((QilName)n);
133
case
QilNodeType
.LiteralType: return VisitLiteralType((QilLiteral)n);
134
case
QilNodeType
.LiteralObject: return VisitLiteralObject((QilLiteral)n);
136
case
QilNodeType
.And: return VisitAnd((QilBinary)n);
137
case
QilNodeType
.Or: return VisitOr((QilBinary)n);
138
case
QilNodeType
.Not: return VisitNot((QilUnary)n);
140
case
QilNodeType
.Conditional: return VisitConditional((QilTernary)n);
141
case
QilNodeType
.Choice: return VisitChoice((QilChoice)n);
143
case
QilNodeType
.Length: return VisitLength((QilUnary)n);
144
case
QilNodeType
.Sequence: return VisitSequence((QilList)n);
145
case
QilNodeType
.Union: return VisitUnion((QilBinary)n);
146
case
QilNodeType
.Intersection: return VisitIntersection((QilBinary)n);
147
case
QilNodeType
.Difference: return VisitDifference((QilBinary)n);
148
case
QilNodeType
.Average: return VisitAverage((QilUnary)n);
149
case
QilNodeType
.Sum: return VisitSum((QilUnary)n);
150
case
QilNodeType
.Minimum: return VisitMinimum((QilUnary)n);
151
case
QilNodeType
.Maximum: return VisitMaximum((QilUnary)n);
153
case
QilNodeType
.Negate: return VisitNegate((QilUnary)n);
154
case
QilNodeType
.Add: return VisitAdd((QilBinary)n);
155
case
QilNodeType
.Subtract: return VisitSubtract((QilBinary)n);
156
case
QilNodeType
.Multiply: return VisitMultiply((QilBinary)n);
157
case
QilNodeType
.Divide: return VisitDivide((QilBinary)n);
158
case
QilNodeType
.Modulo: return VisitModulo((QilBinary)n);
160
case
QilNodeType
.StrLength: return VisitStrLength((QilUnary)n);
161
case
QilNodeType
.StrConcat: return VisitStrConcat((QilStrConcat)n);
162
case
QilNodeType
.StrParseQName: return VisitStrParseQName((QilBinary)n);
164
case
QilNodeType
.Ne: return VisitNe((QilBinary)n);
165
case
QilNodeType
.Eq: return VisitEq((QilBinary)n);
166
case
QilNodeType
.Gt: return VisitGt((QilBinary)n);
167
case
QilNodeType
.Ge: return VisitGe((QilBinary)n);
168
case
QilNodeType
.Lt: return VisitLt((QilBinary)n);
169
case
QilNodeType
.Le: return VisitLe((QilBinary)n);
171
case
QilNodeType
.Is: return VisitIs((QilBinary)n);
172
case
QilNodeType
.After: return VisitAfter((QilBinary)n);
173
case
QilNodeType
.Before: return VisitBefore((QilBinary)n);
175
case
QilNodeType
.Loop: return VisitLoop((QilLoop)n);
176
case
QilNodeType
.Filter: return VisitFilter((QilLoop)n);
178
case
QilNodeType
.Sort: return VisitSort((QilLoop)n);
179
case
QilNodeType
.SortKey: return VisitSortKey((QilSortKey)n);
180
case
QilNodeType
.DocOrderDistinct: return VisitDocOrderDistinct((QilUnary)n);
182
case
QilNodeType
.Function: return VisitFunction((QilFunction)n);
183
case
QilNodeType
.Invoke: return VisitInvoke((QilInvoke)n);
185
case
QilNodeType
.Content: return VisitContent((QilUnary)n);
186
case
QilNodeType
.Attribute: return VisitAttribute((QilBinary)n);
187
case
QilNodeType
.Parent: return VisitParent((QilUnary)n);
188
case
QilNodeType
.Root: return VisitRoot((QilUnary)n);
189
case
QilNodeType
.XmlContext: return VisitXmlContext(n);
190
case
QilNodeType
.Descendant: return VisitDescendant((QilUnary)n);
191
case
QilNodeType
.DescendantOrSelf: return VisitDescendantOrSelf((QilUnary)n);
192
case
QilNodeType
.Ancestor: return VisitAncestor((QilUnary)n);
193
case
QilNodeType
.AncestorOrSelf: return VisitAncestorOrSelf((QilUnary)n);
194
case
QilNodeType
.Preceding: return VisitPreceding((QilUnary)n);
195
case
QilNodeType
.FollowingSibling: return VisitFollowingSibling((QilUnary)n);
196
case
QilNodeType
.PrecedingSibling: return VisitPrecedingSibling((QilUnary)n);
197
case
QilNodeType
.NodeRange: return VisitNodeRange((QilBinary)n);
198
case
QilNodeType
.Deref: return VisitDeref((QilBinary)n);
200
case
QilNodeType
.ElementCtor: return VisitElementCtor((QilBinary)n);
201
case
QilNodeType
.AttributeCtor: return VisitAttributeCtor((QilBinary)n);
202
case
QilNodeType
.CommentCtor: return VisitCommentCtor((QilUnary)n);
203
case
QilNodeType
.PICtor: return VisitPICtor((QilBinary)n);
204
case
QilNodeType
.TextCtor: return VisitTextCtor((QilUnary)n);
205
case
QilNodeType
.RawTextCtor: return VisitRawTextCtor((QilUnary)n);
206
case
QilNodeType
.DocumentCtor: return VisitDocumentCtor((QilUnary)n);
207
case
QilNodeType
.NamespaceDecl: return VisitNamespaceDecl((QilBinary)n);
208
case
QilNodeType
.RtfCtor: return VisitRtfCtor((QilBinary)n);
210
case
QilNodeType
.NameOf: return VisitNameOf((QilUnary)n);
211
case
QilNodeType
.LocalNameOf: return VisitLocalNameOf((QilUnary)n);
212
case
QilNodeType
.NamespaceUriOf: return VisitNamespaceUriOf((QilUnary)n);
213
case
QilNodeType
.PrefixOf: return VisitPrefixOf((QilUnary)n);
215
case
QilNodeType
.TypeAssert: return VisitTypeAssert((QilTargetType)n);
216
case
QilNodeType
.IsType: return VisitIsType((QilTargetType)n);
217
case
QilNodeType
.IsEmpty: return VisitIsEmpty((QilUnary)n);
219
case
QilNodeType
.XPathNodeValue: return VisitXPathNodeValue((QilUnary)n);
220
case
QilNodeType
.XPathFollowing: return VisitXPathFollowing((QilUnary)n);
221
case
QilNodeType
.XPathPreceding: return VisitXPathPreceding((QilUnary)n);
222
case
QilNodeType
.XPathNamespace: return VisitXPathNamespace((QilUnary)n);
224
case
QilNodeType
.XsltGenerateId: return VisitXsltGenerateId((QilUnary)n);
225
case
QilNodeType
.XsltInvokeLateBound: return VisitXsltInvokeLateBound((QilInvokeLateBound)n);
226
case
QilNodeType
.XsltInvokeEarlyBound: return VisitXsltInvokeEarlyBound((QilInvokeEarlyBound)n);
227
case
QilNodeType
.XsltCopy: return VisitXsltCopy((QilBinary)n);
228
case
QilNodeType
.XsltCopyOf: return VisitXsltCopyOf((QilUnary)n);
229
case
QilNodeType
.XsltConvert: return VisitXsltConvert((QilTargetType)n);
240
case
QilNodeType
.For: return VisitForReference((QilIterator)n);
241
case
QilNodeType
.Let: return VisitLetReference((QilIterator)n);
242
case
QilNodeType
.Parameter: return VisitParameterReference((QilParameter)n);
244
case
QilNodeType
.Function: return VisitFunctionReference((QilFunction)n);
System\Xml\Xsl\QIL\QilXmlReader.cs (8)
101
Debug.Assert(this.stk.Peek()[0].NodeType ==
QilNodeType
.QilExpression, "Serialized qil tree did not contain a QilExpression node");
202
case
QilNodeType
.True:
203
case
QilNodeType
.False:
204
qil.IsDebug = list[i].NodeType ==
QilNodeType
.True;
207
case
QilNodeType
.FunctionList:
211
case
QilNodeType
.GlobalVariableList:
215
case
QilNodeType
.GlobalParameterList:
282
Debug.Assert(r.LocalName == Enum.GetName(typeof(
QilNodeType
), nd.NodeType), "Id '" + id + "' is not not bound to a " + r.LocalName + " forward decl");
System\Xml\Xsl\QIL\QilXmlWriter.cs (4)
157
if (node.NodeType ==
QilNodeType
.Parameter) {
198
this.writer.WriteStartElement(Enum.GetName(typeof(
QilNodeType
), n.NodeType));
202
if (n.NodeType ==
QilNodeType
.Function) {
263
this.writer.WriteStartElement("", Enum.GetName(typeof(
QilNodeType
), node.NodeType), "");
System\Xml\Xsl\XmlIlGenerator.cs (1)
200
Debug.Assert(ndParam.NodeType ==
QilNodeType
.Parameter);
System\Xml\Xsl\XPath\XPathBuilder.cs (21)
259
if (left.NodeType ==
QilNodeType
.Sequence) {
298
if (qilAxis.NodeType ==
QilNodeType
.Filter) {
392
Debug.Assert(nodeset.NodeType ==
QilNodeType
.DocOrderDistinct,
609
static
QilNodeType
[] QilOperator = {
610
/*Unknown */
QilNodeType
.Unknown ,
611
/*Or */
QilNodeType
.Or ,
612
/*And */
QilNodeType
.And ,
613
/*Eq */
QilNodeType
.Eq ,
614
/*Ne */
QilNodeType
.Ne ,
615
/*Lt */
QilNodeType
.Lt ,
616
/*Le */
QilNodeType
.Le ,
617
/*Gt */
QilNodeType
.Gt ,
618
/*Ge */
QilNodeType
.Ge ,
619
/*Plus */
QilNodeType
.Add ,
620
/*Minus */
QilNodeType
.Subtract,
621
/*Multiply */
QilNodeType
.Multiply,
622
/*Divide */
QilNodeType
.Divide ,
623
/*Modulo */
QilNodeType
.Modulo ,
624
/*UnaryMinus */
QilNodeType
.Negate ,
625
/*Union */
QilNodeType
.Sequence,
781
Debug.Assert(unknown.NodeType ==
QilNodeType
.Unknown);
System\Xml\Xsl\XPath\XPathQilFactory.cs (19)
122
public QilNode InvokeEqualityOperator(
QilNodeType
op, QilNode left, QilNode right) {
123
Debug.Assert(op ==
QilNodeType
.Eq || op ==
QilNodeType
.Ne);
129
case
QilNodeType
.Eq: opCode = (double)XsltLibrary.ComparisonOperator.Eq; break;
137
public QilNode InvokeRelationalOperator(
QilNodeType
op, QilNode left, QilNode right) {
138
Debug.Assert(op ==
QilNodeType
.Lt || op ==
QilNodeType
.Le || op ==
QilNodeType
.Gt || op ==
QilNodeType
.Ge);
144
case
QilNodeType
.Lt: opCode = (double)XsltLibrary.ComparisonOperator.Lt; break;
145
case
QilNodeType
.Le: opCode = (double)XsltLibrary.ComparisonOperator.Le; break;
146
case
QilNodeType
.Gt: opCode = (double)XsltLibrary.ComparisonOperator.Gt; break;
177
n.NodeType ==
QilNodeType
.True ? (QilNode) String("true") :
178
n.NodeType ==
QilNodeType
.False ? (QilNode) String("false") :
182
return (n.NodeType ==
QilNodeType
.LiteralDouble
206
return (n.NodeType ==
QilNodeType
.LiteralDouble
211
return (n.NodeType ==
QilNodeType
.LiteralString
230
n.NodeType ==
QilNodeType
.True ? (QilNode) Double(1) :
231
n.NodeType ==
QilNodeType
.False ? (QilNode) Double(0) :
System\Xml\Xsl\Xslt\KeyMatchBuilder.cs (7)
77
n.NodeType ==
QilNodeType
.Union ||
78
n.NodeType ==
QilNodeType
.DocOrderDistinct ||
79
n.NodeType ==
QilNodeType
.Filter ||
80
n.NodeType ==
QilNodeType
.Loop
89
if (n.Variable.Binding.NodeType ==
QilNodeType
.Root || n.Variable.Binding.NodeType ==
QilNodeType
.Deref) {
93
if (n.Variable.Binding.NodeType ==
QilNodeType
.Content) {
System\Xml\Xsl\Xslt\MatcherBuilder.cs (7)
159
while (node.NodeType ==
QilNodeType
.And) {
164
if (!(node.NodeType ==
QilNodeType
.IsType)) {
169
if (!(isType.Left == iterator && isType.Right.NodeType ==
QilNodeType
.LiteralType)) {
183
if (lastAnd != null && lastAnd.Right.NodeType ==
QilNodeType
.Eq) {
187
if (eq.Left.NodeType ==
QilNodeType
.NameOf &&
188
((QilUnary)eq.Left).Child == iterator && eq.Right.NodeType ==
QilNodeType
.LiteralQName
375
if (matcher.NodeType ==
QilNodeType
.LiteralInt32) {
System\Xml\Xsl\Xslt\QilGenerator.cs (22)
245
if (init.NodeType ==
QilNodeType
.Add) {
388
Debug.Assert(nsList[i].NodeType ==
QilNodeType
.NamespaceDecl);
389
Debug.Assert(varList[i].NodeType ==
QilNodeType
.NamespaceDecl);
556
Debug.Assert(tmpl != null && tmpl.Function != null && tmpl.Function.Definition.NodeType ==
QilNodeType
.Unknown);
648
if (result.NodeType ==
QilNodeType
.Sequence && result.Count == 0) {
754
if (qilName.NodeType ==
QilNodeType
.LiteralString && (qilNs == null || qilNs.NodeType ==
QilNodeType
.LiteralString)) {
802
if (qilName.NodeType ==
QilNodeType
.LiteralString && (qilNs == null || qilNs.NodeType ==
QilNodeType
.LiteralString)) {
914
if (avtParts.NodeType ==
QilNodeType
.Sequence) {
934
if (qilName.NodeType ==
QilNodeType
.LiteralString) {
1308
} else if (result.NodeType ==
QilNodeType
.LiteralString) {
1334
} else if (lang.NodeType ==
QilNodeType
.LiteralString) {
1346
if (result.NodeType ==
QilNodeType
.LiteralString) {
1416
if (result.NodeType ==
QilNodeType
.LiteralString) {
1520
if (pattern.NodeType ==
QilNodeType
.Error) {
1523
} else if (pattern.NodeType ==
QilNodeType
.Sequence) {
1682
if (result.NodeType ==
QilNodeType
.LiteralString) {
1714
} else if (result.NodeType ==
QilNodeType
.LiteralString) {
1739
} else if (result.NodeType ==
QilNodeType
.LiteralString) {
1802
if (result.NodeType ==
QilNodeType
.Sequence) {
2394
Debug.Assert(let.NodeType ==
QilNodeType
.Let);
System\Xml\Xsl\Xslt\QilGeneratorEnv.cs (7)
85
if (var.NodeType ==
QilNodeType
.Parameter && varType.IsNode && varType.IsNotRtf && varType.MaybeMany && !varType.IsDod) {
346
if (name.NodeType ==
QilNodeType
.LiteralString) {
479
if (formatName.NodeType ==
QilNodeType
.LiteralString) {
501
if (formatPicture.NodeType ==
QilNodeType
.LiteralString) {
546
if (name.NodeType ==
QilNodeType
.LiteralString) {
566
if (name.NodeType ==
QilNodeType
.LiteralString) {
580
if (name.NodeType ==
QilNodeType
.LiteralString) {
System\Xml\Xsl\Xslt\QilStrConcatenator.cs (1)
58
if (value.NodeType ==
QilNodeType
.LiteralString) {
System\Xml\Xsl\Xslt\XPathPatternBuilder.cs (14)
50
Debug.Assert(filter.NodeType ==
QilNodeType
.Filter, "XPathPatternBuilder expected to generate list of Filters on top level");
52
Debug.Assert(filter.Variable.Binding.NodeType ==
QilNodeType
.Unknown); // fixupNode
81
Debug.Assert(right.NodeType ==
QilNodeType
.Filter, "LocationPathPattern must be compiled into a filter");
82
if (left.NodeType ==
QilNodeType
.Sequence) {
86
Debug.Assert(left.NodeType ==
QilNodeType
.Filter, "LocationPathPattern must be compiled into a filter");
175
if (left.NodeType ==
QilNodeType
.Nop) {
182
Debug.Assert(left.NodeType ==
QilNodeType
.Filter);
186
if (right.NodeType ==
QilNodeType
.Nop) {
193
Debug.Assert(right.NodeType ==
QilNodeType
.Filter);
267
args.Count == 1 && args[0].NodeType ==
QilNodeType
.LiteralString,
275
args[0].NodeType ==
QilNodeType
.LiteralString && args[1].NodeType ==
QilNodeType
.LiteralString,
316
Debug.Assert(parent.NodeType ==
QilNodeType
.Filter);
335
Debug.Assert(context.Variable.NodeType ==
QilNodeType
.For, "It shouldn't be Let, becaus predicates in PatternBuilder don't produce cached tuples.");