1091 references to QilNodeType
System.Private.Xml (1091)
System\Xml\Xsl\IlGen\GenerateHelper.cs (13)
949
public void CallArithmeticOp(
QilNodeType
opType, XmlTypeCode code)
961
case
QilNodeType
.Add: Emit(OpCodes.Add); break;
962
case
QilNodeType
.Subtract: Emit(OpCodes.Sub); break;
963
case
QilNodeType
.Multiply: Emit(OpCodes.Mul); break;
964
case
QilNodeType
.Divide: Emit(OpCodes.Div); break;
965
case
QilNodeType
.Modulo: Emit(OpCodes.Rem); break;
966
case
QilNodeType
.Negate: Emit(OpCodes.Neg); break;
974
case
QilNodeType
.Add: meth = XmlILMethods.DecAdd; break;
975
case
QilNodeType
.Subtract: meth = XmlILMethods.DecSub; break;
976
case
QilNodeType
.Multiply: meth = XmlILMethods.DecMul; break;
977
case
QilNodeType
.Divide: meth = XmlILMethods.DecDiv; break;
978
case
QilNodeType
.Modulo: meth = XmlILMethods.DecRem; break;
979
case
QilNodeType
.Negate: meth = XmlILMethods.DecNeg; break;
System\Xml\Xsl\IlGen\TailCallAnalyzer.cs (7)
41
case
QilNodeType
.Invoke:
49
case
QilNodeType
.Loop:
53
if (ndLoop.Variable.NodeType ==
QilNodeType
.Let || !ndLoop.Variable.Binding!.XmlType!.MaybeMany)
58
case
QilNodeType
.Sequence:
67
case
QilNodeType
.Choice:
76
case
QilNodeType
.Conditional:
85
case
QilNodeType
.Nop:
System\Xml\Xsl\IlGen\XmlILConstructAnalyzer.cs (53)
52
private readonly
QilNodeType
_nodeType;
74
constrInfo = new XmlILConstructInfo(
QilNodeType
.Unknown);
108
private XmlILConstructInfo(
QilNodeType
nodeType)
281
if (_parentInfo != null && _parentInfo._nodeType ==
QilNodeType
.ElementCtor)
449
if (ndConstr.NodeType ==
QilNodeType
.Function)
475
if (ndConstr.NodeType !=
QilNodeType
.Choice)
479
if (ndConstr.NodeType !=
QilNodeType
.RtfCtor)
484
this.withinElem = (ndConstr.NodeType ==
QilNodeType
.ElementCtor);
488
case
QilNodeType
.DocumentCtor: this.xstates = PossibleXmlStates.WithinContent; break;
489
case
QilNodeType
.ElementCtor: this.xstates = PossibleXmlStates.EnumAttrs; break;
490
case
QilNodeType
.AttributeCtor: this.xstates = PossibleXmlStates.WithinAttr; break;
491
case
QilNodeType
.NamespaceDecl: Debug.Assert(ndContent == null); break;
492
case
QilNodeType
.TextCtor: Debug.Assert(ndContent == null); break;
493
case
QilNodeType
.RawTextCtor: Debug.Assert(ndContent == null); break;
494
case
QilNodeType
.CommentCtor: this.xstates = PossibleXmlStates.WithinComment; break;
495
case
QilNodeType
.PICtor: this.xstates = PossibleXmlStates.WithinPI; break;
496
case
QilNodeType
.XsltCopy: this.xstates = PossibleXmlStates.Any; break;
497
case
QilNodeType
.XsltCopyOf: Debug.Assert(ndContent == null); break;
498
case
QilNodeType
.Function: this.xstates = this.parentInfo.InitialStates; break;
499
case
QilNodeType
.RtfCtor: this.xstates = PossibleXmlStates.WithinContent; break;
500
case
QilNodeType
.Choice: this.xstates = PossibleXmlStates.Any; break;
507
if (ndConstr.NodeType ==
QilNodeType
.Choice)
511
if (ndConstr.NodeType ==
QilNodeType
.Function)
529
case
QilNodeType
.For:
530
case
QilNodeType
.Let:
531
case
QilNodeType
.Parameter:
552
case
QilNodeType
.Loop: AnalyzeLoop((nd as QilLoop)!, info); break;
553
case
QilNodeType
.Sequence: AnalyzeSequence((nd as QilList)!, info); break;
554
case
QilNodeType
.Conditional: AnalyzeConditional((nd as QilTernary)!, info); break;
555
case
QilNodeType
.Choice: AnalyzeChoice((nd as QilChoice)!, info); break;
557
case
QilNodeType
.Error:
558
case
QilNodeType
.Warning:
563
case
QilNodeType
.Nop:
567
case
QilNodeType
.For:
568
case
QilNodeType
.Let:
569
case
QilNodeType
.Parameter:
801
Debug.Assert(ndElem!.NodeType ==
QilNodeType
.ElementCtor);
836
if (ndCopy.NodeType ==
QilNodeType
.AttributeCtor)
855
if (ndAttr.Left.NodeType ==
QilNodeType
.LiteralQName)
973
case
QilNodeType
.Loop:
978
case
QilNodeType
.Sequence:
983
case
QilNodeType
.Conditional:
989
case
QilNodeType
.Choice:
997
case
QilNodeType
.ElementCtor:
1011
case
QilNodeType
.AttributeCtor:
1016
case
QilNodeType
.NamespaceDecl:
1020
case
QilNodeType
.Nop:
1044
case
QilNodeType
.ElementCtor:
1045
case
QilNodeType
.AttributeCtor:
1051
nodeType = (nd.NodeType ==
QilNodeType
.ElementCtor) ? XPathNodeType.Element : XPathNodeType.Attribute;
1059
Debug.Assert(nd.NodeType ==
QilNodeType
.NamespaceDecl);
1067
if (nd.NodeType ==
QilNodeType
.AttributeCtor && ns.Length == 0 ||
1095
Debug.Assert(nd.NodeType !=
QilNodeType
.NamespaceDecl || !_nsmgr.HasNamespace(prefix) || _nsmgr.LookupNamespace(prefix) == ns,
System\Xml\Xsl\IlGen\XmlILOptimizerVisitor.cs (344)
100
case
QilNodeType
.QilExpression:
105
case
QilNodeType
.ElementCtor:
110
case
QilNodeType
.DocumentCtor:
132
if (newNode.NodeType ==
QilNodeType
.Let || newNode.NodeType ==
QilNodeType
.For)
177
case
QilNodeType
.Error:
178
case
QilNodeType
.Warning:
179
case
QilNodeType
.XsltInvokeLateBound:
184
case
QilNodeType
.XsltInvokeEarlyBound:
187
goto case
QilNodeType
.XsltInvokeLateBound;
190
case
QilNodeType
.Invoke:
193
goto case
QilNodeType
.XsltInvokeLateBound;
205
goto case
QilNodeType
.XsltInvokeLateBound;
220
if (node.NodeType !=
QilNodeType
.Let || !_qil.GlobalVariableList.Contains(node))
372
local0.NodeType =
QilNodeType
.For;
392
if (!((local1).NodeType ==
QilNodeType
.For))
403
if (local1.NodeType ==
QilNodeType
.For)
461
if (local1.NodeType ==
QilNodeType
.True)
472
if (local1.NodeType ==
QilNodeType
.False)
483
if (local2.NodeType ==
QilNodeType
.True)
494
if (local2.NodeType ==
QilNodeType
.False)
534
if (local1.NodeType ==
QilNodeType
.True)
545
if (local1.NodeType ==
QilNodeType
.False)
556
if (local2.NodeType ==
QilNodeType
.True)
567
if (local2.NodeType ==
QilNodeType
.False)
595
if (local1.NodeType ==
QilNodeType
.True)
606
if (local1.NodeType ==
QilNodeType
.False)
639
if (local1.NodeType ==
QilNodeType
.True)
650
if (local1.NodeType ==
QilNodeType
.False)
661
if (local2.NodeType ==
QilNodeType
.True)
663
if (local3.NodeType ==
QilNodeType
.False)
675
if (local2.NodeType ==
QilNodeType
.False)
677
if (local3.NodeType ==
QilNodeType
.True)
689
if (local1.NodeType ==
QilNodeType
.Not)
701
if (local2.NodeType ==
QilNodeType
.TextCtor)
704
if (local3.NodeType ==
QilNodeType
.TextCtor)
750
if (local1.NodeType ==
QilNodeType
.Sequence)
775
if ((!(IsDocOrderDistinct(local1))) && ((IsStepPattern(local1,
QilNodeType
.XPathPreceding)) || (IsStepPattern(local1,
QilNodeType
.PrecedingSibling))))
805
if (nd.NodeType ==
QilNodeType
.Sequence)
858
if (local1.NodeType ==
QilNodeType
.Sequence)
872
if (local2.NodeType ==
QilNodeType
.Sequence)
886
if (local1.NodeType ==
QilNodeType
.XmlContext)
888
if (local2.NodeType ==
QilNodeType
.XmlContext)
919
if ((IsStepPattern(local1,
QilNodeType
.Content)) || (IsStepPattern(local1,
QilNodeType
.Union)))
921
if (((IsStepPattern(local2,
QilNodeType
.Content)) || (IsStepPattern(local2,
QilNodeType
.Union))) && ((OptimizerPatterns.Read((QilNode)(local1)).GetArgument(OptimizerPatternArgument.StepInput)) == (OptimizerPatterns.Read((QilNode)(local2)).GetArgument(OptimizerPatternArgument.StepInput))))
973
if (local1.NodeType ==
QilNodeType
.Sequence)
987
if (local2.NodeType ==
QilNodeType
.Sequence)
1001
if (local1.NodeType ==
QilNodeType
.XmlContext)
1003
if (local2.NodeType ==
QilNodeType
.XmlContext)
1063
if (local1.NodeType ==
QilNodeType
.Sequence)
1077
if (local2.NodeType ==
QilNodeType
.Sequence)
1102
if (local1.NodeType ==
QilNodeType
.XmlContext)
1104
if (local2.NodeType ==
QilNodeType
.XmlContext)
1267
if (local1.NodeType ==
QilNodeType
.LiteralDecimal)
1279
if (local1.NodeType ==
QilNodeType
.LiteralDouble)
1291
if (local1.NodeType ==
QilNodeType
.LiteralInt32)
1303
if (local1.NodeType ==
QilNodeType
.LiteralInt64)
1346
if ((IsLiteral((local2))) && (CanFoldArithmetic(
QilNodeType
.Add, (QilLiteral)local1, (QilLiteral)local2)))
1351
return Replace(XmlILOptimization.EliminateAdd, local0, FoldArithmetic(
QilNodeType
.Add, (QilLiteral)local1, (QilLiteral)local2));
1403
if ((IsLiteral((local2))) && (CanFoldArithmetic(
QilNodeType
.Subtract, (QilLiteral)local1, (QilLiteral)local2)))
1408
return Replace(XmlILOptimization.EliminateSubtract, local0, FoldArithmetic(
QilNodeType
.Subtract, (QilLiteral)local1, (QilLiteral)local2));
1446
if ((IsLiteral((local2))) && (CanFoldArithmetic(
QilNodeType
.Multiply, (QilLiteral)local1, (QilLiteral)local2)))
1451
return Replace(XmlILOptimization.EliminateMultiply, local0, FoldArithmetic(
QilNodeType
.Multiply, (QilLiteral)local1, (QilLiteral)local2));
1503
if ((IsLiteral((local2))) && (CanFoldArithmetic(
QilNodeType
.Divide, (QilLiteral)local1, (QilLiteral)local2)))
1508
return Replace(XmlILOptimization.EliminateDivide, local0, FoldArithmetic(
QilNodeType
.Divide, (QilLiteral)local1, (QilLiteral)local2));
1546
if ((IsLiteral((local2))) && (CanFoldArithmetic(
QilNodeType
.Modulo, (QilLiteral)local1, (QilLiteral)local2)))
1551
return Replace(XmlILOptimization.EliminateModulo, local0, FoldArithmetic(
QilNodeType
.Modulo, (QilLiteral)local1, (QilLiteral)local2));
1578
if (local1.NodeType ==
QilNodeType
.LiteralString)
1627
if (local1.NodeType ==
QilNodeType
.LiteralString)
1630
if (local2.NodeType ==
QilNodeType
.Sequence)
1719
return Replace(XmlILOptimization.EliminateNe, local0, FoldComparison(
QilNodeType
.Ne, local1, local2));
1740
if (local1.NodeType ==
QilNodeType
.XsltConvert)
1744
if (local4.NodeType ==
QilNodeType
.LiteralType)
1763
if (local1.NodeType ==
QilNodeType
.XsltGenerateId)
1768
if (local2.NodeType ==
QilNodeType
.XsltGenerateId)
1785
if (local1.NodeType ==
QilNodeType
.Length)
1788
if (local2.NodeType ==
QilNodeType
.LiteralInt32)
1804
if (local1.NodeType ==
QilNodeType
.Length)
1806
if (local2.NodeType ==
QilNodeType
.LiteralInt32)
1855
return Replace(XmlILOptimization.EliminateEq, local0, FoldComparison(
QilNodeType
.Eq, local1, local2));
1876
if (local1.NodeType ==
QilNodeType
.XsltConvert)
1880
if (local4.NodeType ==
QilNodeType
.LiteralType)
1899
if (local1.NodeType ==
QilNodeType
.Add)
1905
if ((IsLiteral((local2))) && (CanFoldArithmetic(
QilNodeType
.Subtract, (QilLiteral)local2, (QilLiteral)local4)))
1910
return Replace(XmlILOptimization.NormalizeAddEq, local0, VisitEq(f.Eq(local3, FoldArithmetic(
QilNodeType
.Subtract, (QilLiteral)local2, (QilLiteral)local4))));
1918
if (local1.NodeType ==
QilNodeType
.XsltGenerateId)
1923
if (local2.NodeType ==
QilNodeType
.XsltGenerateId)
1940
if (local1.NodeType ==
QilNodeType
.XsltGenerateId)
1945
if (local2.NodeType ==
QilNodeType
.StrConcat)
1948
if (local5.NodeType ==
QilNodeType
.Loop)
1952
if (local6.NodeType ==
QilNodeType
.For)
1957
if (local8.NodeType ==
QilNodeType
.XsltGenerateId)
1979
if (local1.NodeType ==
QilNodeType
.StrConcat)
1982
if (local4.NodeType ==
QilNodeType
.Loop)
1986
if (local5.NodeType ==
QilNodeType
.For)
1991
if (local7.NodeType ==
QilNodeType
.XsltGenerateId)
1996
if (local2.NodeType ==
QilNodeType
.XsltGenerateId)
2018
if (local1.NodeType ==
QilNodeType
.Length)
2021
if (local3.NodeType ==
QilNodeType
.Union)
2027
if (local2.NodeType ==
QilNodeType
.LiteralInt32)
2046
if (local1.NodeType ==
QilNodeType
.Length)
2049
if (local3.NodeType ==
QilNodeType
.Union)
2055
if (local2.NodeType ==
QilNodeType
.LiteralInt32)
2074
if (local1.NodeType ==
QilNodeType
.Length)
2076
if (local2.NodeType ==
QilNodeType
.LiteralInt32)
2125
return Replace(XmlILOptimization.EliminateGt, local0, FoldComparison(
QilNodeType
.Gt, local1, local2));
2146
if (local1.NodeType ==
QilNodeType
.XsltConvert)
2150
if (local4.NodeType ==
QilNodeType
.LiteralType)
2169
if (local1.NodeType ==
QilNodeType
.Length)
2172
if (local2.NodeType ==
QilNodeType
.LiteralInt32)
2188
if (local1.NodeType ==
QilNodeType
.Length)
2190
if (local2.NodeType ==
QilNodeType
.LiteralInt32)
2239
return Replace(XmlILOptimization.EliminateGe, local0, FoldComparison(
QilNodeType
.Ge, local1, local2));
2260
if (local1.NodeType ==
QilNodeType
.XsltConvert)
2264
if (local4.NodeType ==
QilNodeType
.LiteralType)
2283
if (local1.NodeType ==
QilNodeType
.Length)
2285
if (local2.NodeType ==
QilNodeType
.LiteralInt32)
2334
return Replace(XmlILOptimization.EliminateLt, local0, FoldComparison(
QilNodeType
.Lt, local1, local2));
2355
if (local1.NodeType ==
QilNodeType
.XsltConvert)
2359
if (local4.NodeType ==
QilNodeType
.LiteralType)
2378
if (local1.NodeType ==
QilNodeType
.Length)
2380
if (local2.NodeType ==
QilNodeType
.LiteralInt32)
2429
return Replace(XmlILOptimization.EliminateLe, local0, FoldComparison(
QilNodeType
.Le, local1, local2));
2450
if (local1.NodeType ==
QilNodeType
.XsltConvert)
2454
if (local4.NodeType ==
QilNodeType
.LiteralType)
2473
if (local1.NodeType ==
QilNodeType
.Length)
2475
if (local2.NodeType ==
QilNodeType
.LiteralInt32)
2632
if (local1.NodeType ==
QilNodeType
.For)
2635
if (local3.NodeType ==
QilNodeType
.For)
2650
if (local1.NodeType ==
QilNodeType
.For)
2653
if (local3.NodeType ==
QilNodeType
.Sequence)
2670
if (local2.NodeType ==
QilNodeType
.Sequence)
2696
if (local1.NodeType ==
QilNodeType
.For)
2701
if (local2.NodeType ==
QilNodeType
.TextCtor)
2715
if ((((local1).NodeType ==
QilNodeType
.Let) || ((((QilNode)(local1)[0]).XmlType!).IsSingleton)) && (!OptimizerPatterns.Read(local1).MatchesPattern(OptimizerPatternName.MaybeSideEffects)))
2729
if (local2.NodeType ==
QilNodeType
.Conditional)
2734
if (local4.NodeType ==
QilNodeType
.Sequence)
2752
if (local2.NodeType ==
QilNodeType
.Conditional)
2759
if (local5.NodeType ==
QilNodeType
.Sequence)
2775
if (local1.NodeType ==
QilNodeType
.For)
2777
if (local2.NodeType ==
QilNodeType
.Conditional)
2782
if (local5.NodeType ==
QilNodeType
.Sequence)
2802
if (local1.NodeType ==
QilNodeType
.For)
2804
if (local2.NodeType ==
QilNodeType
.Conditional)
2811
if (local6.NodeType ==
QilNodeType
.Sequence)
2829
if (local2.NodeType ==
QilNodeType
.Loop)
2833
if (local3.NodeType ==
QilNodeType
.For)
2850
if (local1.NodeType ==
QilNodeType
.For)
2865
if (IsStepPattern(local2,
QilNodeType
.Root))
2876
if (local1.NodeType ==
QilNodeType
.For)
2881
if (((IsStepPattern(local2,
QilNodeType
.Content)) || (IsStepPattern(local2,
QilNodeType
.Union))) && ((local1) == (OptimizerPatterns.Read((QilNode)(local2)).GetArgument(OptimizerPatternArgument.StepInput))))
2894
if (local1.NodeType ==
QilNodeType
.For)
2897
if ((((IsStepPattern(local2,
QilNodeType
.Attribute)) || (IsStepPattern(local2,
QilNodeType
.XPathNamespace))) || (OptimizerPatterns.Read((QilNode)(local2)).MatchesPattern(OptimizerPatternName.FilterAttributeKind))) && ((local1) == (OptimizerPatterns.Read((QilNode)(local2)).GetArgument(OptimizerPatternArgument.StepInput))))
2909
if (local1.NodeType ==
QilNodeType
.For)
2914
if (((IsStepPattern(local2,
QilNodeType
.Descendant)) || (IsStepPattern(local2,
QilNodeType
.DescendantOrSelf))) && ((local1) == (OptimizerPatterns.Read((QilNode)(local2)).GetArgument(OptimizerPatternArgument.StepInput))))
2958
if (local2.NodeType ==
QilNodeType
.False)
2970
if (local2.NodeType ==
QilNodeType
.True)
2981
if (local1.NodeType ==
QilNodeType
.For)
2984
if (local3.NodeType ==
QilNodeType
.Content)
2987
if (local2.NodeType ==
QilNodeType
.And)
2991
if (local5.NodeType ==
QilNodeType
.IsType)
2997
if (local7.NodeType ==
QilNodeType
.LiteralType)
3002
if (local9.NodeType ==
QilNodeType
.Eq)
3006
if (local10.NodeType ==
QilNodeType
.NameOf)
3011
if (local12.NodeType ==
QilNodeType
.LiteralQName)
3032
if (local1.NodeType ==
QilNodeType
.For)
3035
if (local3.NodeType ==
QilNodeType
.Loop)
3053
if ((!OptimizerPatterns.Read(local1).MatchesPattern(OptimizerPatternName.MaybeSideEffects)) && (!(((QilNode)(local1)[0]).NodeType ==
QilNodeType
.OptimizeBarrier)))
3067
if (local2.NodeType ==
QilNodeType
.Eq)
3071
if (local3.NodeType ==
QilNodeType
.PositionOf)
3076
if (local5.NodeType ==
QilNodeType
.LiteralInt32)
3091
if (local2.NodeType ==
QilNodeType
.Le)
3095
if (local3.NodeType ==
QilNodeType
.PositionOf)
3100
if (local5.NodeType ==
QilNodeType
.LiteralInt32)
3115
if (local2.NodeType ==
QilNodeType
.Lt)
3119
if (local3.NodeType ==
QilNodeType
.PositionOf)
3124
if (local5.NodeType ==
QilNodeType
.LiteralInt32)
3139
if (local1.NodeType ==
QilNodeType
.For)
3151
if (local1.NodeType ==
QilNodeType
.For)
3156
if (local2.NodeType ==
QilNodeType
.And)
3160
if (local4.NodeType ==
QilNodeType
.IsType)
3166
if (local6.NodeType ==
QilNodeType
.LiteralType)
3171
if (local8.NodeType ==
QilNodeType
.Eq)
3175
if (local9.NodeType ==
QilNodeType
.NameOf)
3180
if (local11.NodeType ==
QilNodeType
.LiteralQName)
3201
if (local1.NodeType ==
QilNodeType
.For)
3206
if (local2.NodeType ==
QilNodeType
.IsType)
3212
if (local5.NodeType ==
QilNodeType
.LiteralType)
3231
if (local1.NodeType ==
QilNodeType
.For)
3234
if (local3.NodeType ==
QilNodeType
.Content)
3236
if (local2.NodeType ==
QilNodeType
.IsType)
3242
if (local6.NodeType ==
QilNodeType
.LiteralType)
3281
if (local1.NodeType ==
QilNodeType
.For)
3303
if (local1.NodeType ==
QilNodeType
.XsltConvert)
3307
if (local4.NodeType ==
QilNodeType
.LiteralType)
3351
if (local1.NodeType ==
QilNodeType
.Loop)
3355
if (local2.NodeType ==
QilNodeType
.For)
3358
if (local3.NodeType ==
QilNodeType
.Loop)
3362
if (local5.NodeType ==
QilNodeType
.DescendantOrSelf)
3365
if (local7.NodeType ==
QilNodeType
.Filter)
3369
if (((OptimizerPatterns.Read((QilNode)(local7)).MatchesPattern(OptimizerPatternName.FilterElements)) || (OptimizerPatterns.Read((QilNode)(local7)).MatchesPattern(OptimizerPatternName.FilterContentKind))) && (IsStepPattern(local7,
QilNodeType
.Content)))
3386
if (local1.NodeType ==
QilNodeType
.Loop)
3390
if (local2.NodeType ==
QilNodeType
.For)
3393
if (local3.NodeType ==
QilNodeType
.DescendantOrSelf)
3396
if (local5.NodeType ==
QilNodeType
.Filter)
3400
if (((OptimizerPatterns.Read((QilNode)(local5)).MatchesPattern(OptimizerPatternName.FilterElements)) || (OptimizerPatterns.Read((QilNode)(local5)).MatchesPattern(OptimizerPatternName.FilterContentKind))) && (IsStepPattern(local5,
QilNodeType
.Content)))
3416
if (local1.NodeType ==
QilNodeType
.Filter)
3420
if (local2.NodeType ==
QilNodeType
.For)
3440
if (local1.NodeType ==
QilNodeType
.Loop)
3444
if (local3.NodeType ==
QilNodeType
.Filter)
3448
if (local4.NodeType ==
QilNodeType
.For)
3472
if (local1.NodeType ==
QilNodeType
.Loop)
3476
if (local2.NodeType ==
QilNodeType
.For)
3499
if (local1.NodeType ==
QilNodeType
.Loop)
3503
if ((!(IsDocOrderDistinct(local3))) && (IsStepPattern(local3,
QilNodeType
.PrecedingSibling)))
3515
if (local1.NodeType ==
QilNodeType
.Loop)
3519
if (local3.NodeType ==
QilNodeType
.DocOrderDistinct)
3522
if (!(IsStepPattern(local4,
QilNodeType
.PrecedingSibling)))
3554
if (local1.NodeType ==
QilNodeType
.Loop)
3558
if (local2.NodeType ==
QilNodeType
.For)
3577
if (local1.NodeType ==
QilNodeType
.Loop)
3580
if (local3.NodeType ==
QilNodeType
.Invoke)
3607
if (local2.NodeType ==
QilNodeType
.Filter)
3611
if (local5.NodeType ==
QilNodeType
.For)
3614
if (local7.NodeType ==
QilNodeType
.Not)
3617
if (local8.NodeType ==
QilNodeType
.IsEmpty)
3620
if (local9.NodeType ==
QilNodeType
.Filter)
3624
if (local10.NodeType ==
QilNodeType
.For)
3627
if (local12.NodeType ==
QilNodeType
.Eq)
3633
if (local14.NodeType ==
QilNodeType
.Parameter)
3678
if (local2.NodeType ==
QilNodeType
.Filter)
3682
if (local5.NodeType ==
QilNodeType
.For)
3685
if (local7.NodeType ==
QilNodeType
.Eq)
3689
if (local9.NodeType ==
QilNodeType
.Parameter)
3726
if (local1.NodeType ==
QilNodeType
.Function)
3729
if (local4.NodeType ==
QilNodeType
.Sequence)
3752
if (local1.NodeType ==
QilNodeType
.Function)
4406
if (local1.NodeType ==
QilNodeType
.TextCtor)
4512
if (local2.NodeType ==
QilNodeType
.LiteralType)
4527
if (local2.NodeType ==
QilNodeType
.LiteralType)
4542
if (local2.NodeType ==
QilNodeType
.LiteralType)
4577
if (local2.NodeType ==
QilNodeType
.LiteralType)
4595
if (local2.NodeType ==
QilNodeType
.LiteralType)
4611
if (local2.NodeType ==
QilNodeType
.LiteralType)
4628
if (local2.NodeType ==
QilNodeType
.LiteralType)
4646
if (local2.NodeType ==
QilNodeType
.LiteralType)
4679
if (local1.NodeType ==
QilNodeType
.Sequence)
4912
if (local2.NodeType ==
QilNodeType
.LiteralType)
4928
if (local2.NodeType ==
QilNodeType
.LiteralType)
5058
return this.parent != null && this.parent.NodeType ==
QilNodeType
.PositionOf;
5155
if (nd.NodeType ==
QilNodeType
.Let)
5158
if (nd.NodeType ==
QilNodeType
.Parameter)
5210
case
QilNodeType
.ElementCtor:
5211
case
QilNodeType
.AttributeCtor:
5212
case
QilNodeType
.CommentCtor:
5213
case
QilNodeType
.PICtor:
5214
case
QilNodeType
.TextCtor:
5215
case
QilNodeType
.RawTextCtor:
5216
case
QilNodeType
.DocumentCtor:
5217
case
QilNodeType
.NamespaceDecl:
5218
case
QilNodeType
.XsltCopy:
5219
case
QilNodeType
.XsltCopyOf:
5220
case
QilNodeType
.Choice:
5223
case
QilNodeType
.Loop:
5227
case
QilNodeType
.Sequence:
5239
case
QilNodeType
.Conditional:
5244
case
QilNodeType
.Invoke:
5260
case
QilNodeType
.True:
5261
case
QilNodeType
.False:
5262
case
QilNodeType
.LiteralString:
5263
case
QilNodeType
.LiteralInt32:
5264
case
QilNodeType
.LiteralInt64:
5265
case
QilNodeType
.LiteralDouble:
5266
case
QilNodeType
.LiteralDecimal:
5267
case
QilNodeType
.LiteralQName:
5290
if (nd.NodeType ==
QilNodeType
.True)
5292
else if (nd.NodeType ==
QilNodeType
.False)
5294
else if (nd.NodeType ==
QilNodeType
.LiteralQName)
5308
if (child.NodeType ==
QilNodeType
.Sequence)
5325
if (IsStepPattern(patt,
QilNodeType
.DescendantOrSelf) || IsStepPattern(patt,
QilNodeType
.Descendant) ||
5326
IsStepPattern(patt,
QilNodeType
.Content) || IsStepPattern(patt,
QilNodeType
.XPathPreceding) ||
5327
IsStepPattern(patt,
QilNodeType
.XPathFollowing) || IsStepPattern(patt,
QilNodeType
.FollowingSibling))
5348
if (IsStepPattern(patt,
QilNodeType
.Ancestor) || IsStepPattern(patt,
QilNodeType
.AncestorOrSelf) ||
5349
IsStepPattern(patt,
QilNodeType
.XPathPreceding) || IsStepPattern(patt,
QilNodeType
.PrecedingSibling))
5363
return FoldXsltConvert(ndLiteral, typTarget).NodeType !=
QilNodeType
.XsltConvert;
5376
if (ndDest.NodeType ==
QilNodeType
.XsltConvert)
5381
if (ndDest.NodeType ==
QilNodeType
.XsltConvert)
5428
private QilNode FoldComparison(
QilNodeType
opType, QilNode left, QilNode right)
5438
if (left.NodeType ==
QilNodeType
.LiteralDouble)
5442
return (opType ==
QilNodeType
.Ne) ? f.True() : f.False();
5445
if (opType ==
QilNodeType
.Eq)
5448
if (opType ==
QilNodeType
.Ne)
5451
if (left.NodeType ==
QilNodeType
.LiteralString)
5463
case
QilNodeType
.Gt: return cmp > 0 ? f.True() : f.False();
5464
case
QilNodeType
.Ge: return cmp >= 0 ? f.True() : f.False();
5465
case
QilNodeType
.Lt: return cmp < 0 ? f.True() : f.False();
5466
case
QilNodeType
.Le: return cmp <= 0 ? f.True() : f.False();
5477
private bool CanFoldArithmetic(
QilNodeType
opType, QilLiteral left, QilLiteral right)
5487
private QilNode FoldArithmetic(
QilNodeType
opType, QilLiteral left, QilLiteral right)
5498
case
QilNodeType
.LiteralInt32:
5505
case
QilNodeType
.Add: return f.LiteralInt32(intLeft + intRight);
5506
case
QilNodeType
.Subtract: return f.LiteralInt32(intLeft - intRight);
5507
case
QilNodeType
.Multiply: return f.LiteralInt32(intLeft * intRight);
5508
case
QilNodeType
.Divide: return f.LiteralInt32(intLeft / intRight);
5509
case
QilNodeType
.Modulo: return f.LiteralInt32(intLeft % intRight);
5514
case
QilNodeType
.LiteralInt64:
5521
case
QilNodeType
.Add: return f.LiteralInt64(lngLeft + lngRight);
5522
case
QilNodeType
.Subtract: return f.LiteralInt64(lngLeft - lngRight);
5523
case
QilNodeType
.Multiply: return f.LiteralInt64(lngLeft * lngRight);
5524
case
QilNodeType
.Divide: return f.LiteralInt64(lngLeft / lngRight);
5525
case
QilNodeType
.Modulo: return f.LiteralInt64(lngLeft % lngRight);
5530
case
QilNodeType
.LiteralDecimal:
5537
case
QilNodeType
.Add: return f.LiteralDecimal(lngLeft + lngRight);
5538
case
QilNodeType
.Subtract: return f.LiteralDecimal(lngLeft - lngRight);
5539
case
QilNodeType
.Multiply: return f.LiteralDecimal(lngLeft * lngRight);
5540
case
QilNodeType
.Divide: return f.LiteralDecimal(lngLeft / lngRight);
5541
case
QilNodeType
.Modulo: return f.LiteralDecimal(lngLeft % lngRight);
5546
case
QilNodeType
.LiteralDouble:
5553
case
QilNodeType
.Add: return f.LiteralDouble(lngLeft + lngRight);
5554
case
QilNodeType
.Subtract: return f.LiteralDouble(lngLeft - lngRight);
5555
case
QilNodeType
.Multiply: return f.LiteralDouble(lngLeft * lngRight);
5556
case
QilNodeType
.Divide: return f.LiteralDouble(lngLeft / lngRight);
5557
case
QilNodeType
.Modulo: return f.LiteralDouble(lngLeft % lngRight);
5574
case
QilNodeType
.Add: return f.Add(left, right);
5575
case
QilNodeType
.Subtract: return f.Subtract(left, right);
5576
case
QilNodeType
.Multiply: return f.Multiply(left, right);
5577
case
QilNodeType
.Divide: return f.Divide(left, right);
5578
case
QilNodeType
.Modulo: return f.Modulo(left, right);
5607
private static bool IsStepPattern(QilNode nd,
QilNodeType
stepType)
5615
private static bool IsStepPattern(OptimizerPatterns patt,
QilNodeType
stepType)
5632
if (nd.NodeType ==
QilNodeType
.Function)
5639
Debug.Assert(nd.NodeType ==
QilNodeType
.Let || nd.NodeType ==
QilNodeType
.Parameter, "Unexpected type of a global");
System\Xml\Xsl\IlGen\XmlIlVisitor.cs (144)
93
Debug.Assert(iter.NodeType ==
QilNodeType
.Let || iter.NodeType ==
QilNodeType
.Parameter);
193
Debug.Assert(iter.NodeType ==
QilNodeType
.Parameter, "Only parameters may not have a default value");
223
Debug.Assert(iter.NodeType ==
QilNodeType
.Parameter);
882
if (ndCond.Right.NodeType ==
QilNodeType
.Sequence && ndCond.Right.Count == 0)
1433
_helper.CallArithmeticOp(
QilNodeType
.Negate, ndNeg.XmlType!.TypeCode);
1513
if (delimiter.NodeType ==
QilNodeType
.LiteralString && ((string)(QilLiteral)delimiter).Length == 0)
1519
if (listStrings.NodeType ==
QilNodeType
.Sequence && listStrings.Count < 5)
1559
if (listStrings.NodeType ==
QilNodeType
.Sequence)
1639
if (ndParsedTagName.Right.NodeType ==
QilNodeType
.Sequence)
1711
QilNodeType
relOp = ndComp.NodeType;
1717
if (relOp ==
QilNodeType
.Eq || relOp ==
QilNodeType
.Ne)
1743
if (relOp ==
QilNodeType
.Eq || relOp ==
QilNodeType
.Ne)
1749
ZeroCompare((relOp ==
QilNodeType
.Eq) ?
QilNodeType
.Ne :
QilNodeType
.Eq, true);
1787
ZeroCompare(
QilNodeType
.Ne, true);
1821
ClrCompare(ndComp.NodeType ==
QilNodeType
.Before ?
QilNodeType
.Lt :
QilNodeType
.Gt, XmlTypeCode.String);
1945
case
QilNodeType
.Content:
1982
case
QilNodeType
.Parent:
1987
case
QilNodeType
.Ancestor:
1988
case
QilNodeType
.AncestorOrSelf:
1990
kinds, name, (step.NodeType ==
QilNodeType
.Ancestor) ? TriState.False : TriState.True, null);
1993
case
QilNodeType
.Descendant:
1994
case
QilNodeType
.DescendantOrSelf:
1996
kinds, name, (step.NodeType ==
QilNodeType
.Descendant) ? TriState.False : TriState.True, null);
1999
case
QilNodeType
.Preceding:
2004
case
QilNodeType
.FollowingSibling:
2009
case
QilNodeType
.PrecedingSibling:
2014
case
QilNodeType
.NodeRange:
2019
case
QilNodeType
.XPathFollowing:
2024
case
QilNodeType
.XPathPreceding:
2117
if (ndIter.NodeType ==
QilNodeType
.For || ndIter.XmlType!.IsSingleton)
2123
Debug.Assert(ndIter.NodeType ==
QilNodeType
.Let || ndIter.NodeType ==
QilNodeType
.Parameter);
2248
Debug.Assert(ndIter.NodeType ==
QilNodeType
.For);
2265
Debug.Assert(ndSort.Variable.NodeType ==
QilNodeType
.For);
2334
if (ndKey.Collation.NodeType ==
QilNodeType
.LiteralString)
2447
case
QilNodeType
.Content:
2452
case
QilNodeType
.Descendant:
2453
case
QilNodeType
.DescendantOrSelf:
2455
kinds, name, (step.NodeType ==
QilNodeType
.Descendant) ? TriState.False : TriState.True);
2458
case
QilNodeType
.XPathFollowing:
2463
case
QilNodeType
.FollowingSibling:
2468
case
QilNodeType
.XPathPreceding:
2483
case
QilNodeType
.Ancestor:
2484
case
QilNodeType
.AncestorOrSelf:
2486
kinds, name, (step.NodeType ==
QilNodeType
.Ancestor) ? TriState.False : TriState.True, null);
2489
case
QilNodeType
.PrecedingSibling:
2494
case
QilNodeType
.XPathPreceding:
3109
case
QilNodeType
.NameOf:
3118
case
QilNodeType
.LocalNameOf:
3124
case
QilNodeType
.NamespaceUriOf:
3130
case
QilNodeType
.PrefixOf:
3191
ZeroCompare(
QilNodeType
.Ne, true);
3214
ZeroCompare(
QilNodeType
.Ne, true);
3224
ZeroCompare(
QilNodeType
.Ne, true);
3316
ZeroCompare(allowKinds ?
QilNodeType
.Ne :
QilNodeType
.Eq, false);
3322
ClrCompare(allowKinds ?
QilNodeType
.Eq :
QilNodeType
.Ne, XmlTypeCode.Int);
3988
Debug.Assert(ndDod.NodeType ==
QilNodeType
.DocOrderDistinct && ndLoop != null);
4113
if (ndName.NodeType ==
QilNodeType
.LiteralQName)
4163
if (ndName.NodeType ==
QilNodeType
.NameOf)
4170
else if (ndName.NodeType ==
QilNodeType
.StrParseQName)
4199
private bool TryZeroCompare(
QilNodeType
relOp, QilNode ndFirst, QilNode ndSecond)
4201
Debug.Assert(relOp ==
QilNodeType
.Eq || relOp ==
QilNodeType
.Ne);
4205
case
QilNodeType
.LiteralInt64:
4209
case
QilNodeType
.LiteralInt32:
4213
case
QilNodeType
.False:
4216
case
QilNodeType
.True:
4218
relOp = (relOp ==
QilNodeType
.Eq) ?
QilNodeType
.Ne :
QilNodeType
.Eq;
4238
private bool TryNameCompare(
QilNodeType
relOp, QilNode ndFirst, QilNode ndSecond)
4240
Debug.Assert(relOp ==
QilNodeType
.Eq || relOp ==
QilNodeType
.Ne);
4242
if (ndFirst.NodeType ==
QilNodeType
.NameOf)
4246
case
QilNodeType
.NameOf:
4247
case
QilNodeType
.LiteralQName:
4255
if (ndSecond.NodeType ==
QilNodeType
.LiteralQName)
4267
Debug.Assert(ndSecond.NodeType ==
QilNodeType
.NameOf);
4275
ZeroCompare((relOp ==
QilNodeType
.Eq) ?
QilNodeType
.Ne :
QilNodeType
.Eq, true);
4289
private void ClrCompare(
QilNodeType
relOp, XmlTypeCode code)
4303
case
QilNodeType
.Gt: opcode = OpCodes.Ble_Un; break;
4304
case
QilNodeType
.Ge: opcode = OpCodes.Blt_Un; break;
4305
case
QilNodeType
.Lt: opcode = OpCodes.Bge_Un; break;
4306
case
QilNodeType
.Le: opcode = OpCodes.Bgt_Un; break;
4307
case
QilNodeType
.Eq: opcode = OpCodes.Bne_Un; break;
4308
case
QilNodeType
.Ne: opcode = OpCodes.Beq; break;
4316
case
QilNodeType
.Gt: opcode = OpCodes.Ble; break;
4317
case
QilNodeType
.Ge: opcode = OpCodes.Blt; break;
4318
case
QilNodeType
.Lt: opcode = OpCodes.Bge; break;
4319
case
QilNodeType
.Le: opcode = OpCodes.Bgt; break;
4320
case
QilNodeType
.Eq: opcode = OpCodes.Bne_Un; break;
4321
case
QilNodeType
.Ne: opcode = OpCodes.Beq; break;
4332
case
QilNodeType
.Gt: opcode = OpCodes.Bgt; break;
4333
case
QilNodeType
.Ge: opcode = OpCodes.Bge; break;
4334
case
QilNodeType
.Lt: opcode = OpCodes.Blt; break;
4335
case
QilNodeType
.Le: opcode = OpCodes.Ble; break;
4336
case
QilNodeType
.Eq: opcode = OpCodes.Beq; break;
4337
case
QilNodeType
.Ne: opcode = OpCodes.Bne_Un; break;
4348
case
QilNodeType
.Gt: _helper.Emit(OpCodes.Cgt); break;
4349
case
QilNodeType
.Lt: _helper.Emit(OpCodes.Clt); break;
4350
case
QilNodeType
.Eq: _helper.Emit(OpCodes.Ceq); break;
4354
case
QilNodeType
.Ge: opcode = OpCodes.Bge_S; break;
4355
case
QilNodeType
.Le: opcode = OpCodes.Ble_S; break;
4356
case
QilNodeType
.Ne: opcode = OpCodes.Bne_Un_S; break;
4375
private void ZeroCompare(
QilNodeType
relOp, bool isBoolVal)
4378
Debug.Assert(relOp ==
QilNodeType
.Eq || relOp ==
QilNodeType
.Ne);
4386
_helper.Emit((relOp ==
QilNodeType
.Eq) ? OpCodes.Brfalse : OpCodes.Brtrue, _iterCurr.LabelBranch);
4393
_helper.Emit((relOp ==
QilNodeType
.Eq) ? OpCodes.Brtrue : OpCodes.Brfalse, _iterCurr.LabelBranch);
4401
if (!isBoolVal || relOp ==
QilNodeType
.Eq)
4406
_helper.Emit((relOp ==
QilNodeType
.Eq) ? OpCodes.Brfalse : OpCodes.Brtrue, lblTrue);
4510
case
QilNodeType
.ElementCtor:
4511
case
QilNodeType
.TextCtor:
4512
case
QilNodeType
.RawTextCtor:
4513
case
QilNodeType
.PICtor:
4514
case
QilNodeType
.CommentCtor:
4590
private static XPathNodeType QilConstructorToNodeType(
QilNodeType
typ)
4594
case
QilNodeType
.DocumentCtor: return XPathNodeType.Root;
4595
case
QilNodeType
.ElementCtor: return XPathNodeType.Element;
4596
case
QilNodeType
.TextCtor: return XPathNodeType.Text;
4597
case
QilNodeType
.RawTextCtor: return XPathNodeType.Text;
4598
case
QilNodeType
.PICtor: return XPathNodeType.ProcessingInstruction;
4599
case
QilNodeType
.CommentCtor: return XPathNodeType.Comment;
4600
case
QilNodeType
.AttributeCtor: return XPathNodeType.Attribute;
4601
case
QilNodeType
.NamespaceDecl: return XPathNodeType.Namespace;
4929
case
QilNodeType
.Let:
4930
case
QilNodeType
.Parameter:
4931
case
QilNodeType
.Invoke:
4932
case
QilNodeType
.XsltInvokeLateBound:
4933
case
QilNodeType
.XsltInvokeEarlyBound:
4936
case
QilNodeType
.Filter:
4941
case
QilNodeType
.DocOrderDistinct:
4949
case
QilNodeType
.TypeAssert:
System\Xml\Xsl\QIL\QilBinary.cs (1)
28
public QilBinary(
QilNodeType
nodeType, QilNode left, QilNode right) : base(nodeType)
System\Xml\Xsl\QIL\QilChoice.cs (1)
27
public QilChoice(
QilNodeType
nodeType, QilNode expression, QilNode branches) : base(nodeType, expression, branches)
System\Xml\Xsl\QIL\QilDataSource.cs (1)
26
public QilDataSource(
QilNodeType
nodeType, QilNode name, QilNode baseUri) : base(nodeType, name, baseUri)
System\Xml\Xsl\QIL\QilExpression.cs (2)
33
public QilExpression(
QilNodeType
nodeType, QilNode root, QilFactory factory) : base(nodeType)
113
get { return _isDebug.NodeType ==
QilNodeType
.True; }
System\Xml\Xsl\QIL\QilFactory.cs (103)
26
QilExpression n = new QilExpression(
QilNodeType
.QilExpression, root, factory);
100
QilList n = new QilList(
QilNodeType
.FunctionList);
108
QilList n = new QilList(
QilNodeType
.GlobalVariableList);
116
QilList n = new QilList(
QilNodeType
.GlobalParameterList);
124
QilList n = new QilList(
QilNodeType
.ActualParameterList);
132
QilList n = new QilList(
QilNodeType
.FormalParameterList);
140
QilList n = new QilList(
QilNodeType
.SortKeyList);
148
QilList n = new QilList(
QilNodeType
.BranchList);
156
QilUnary n = new QilUnary(
QilNodeType
.OptimizeBarrier, child);
164
QilNode n = new QilNode(
QilNodeType
.Unknown, xmlType);
178
QilDataSource n = new QilDataSource(
QilNodeType
.DataSource, name, baseUri);
186
QilUnary n = new QilUnary(
QilNodeType
.Nop, child);
194
QilUnary n = new QilUnary(
QilNodeType
.Error, child);
202
QilUnary n = new QilUnary(
QilNodeType
.Warning, child);
216
QilIterator n = new QilIterator(
QilNodeType
.For, binding);
224
QilIterator n = new QilIterator(
QilNodeType
.Let, binding);
232
QilParameter n = new QilParameter(
QilNodeType
.Parameter, defaultValue, name, xmlType);
240
QilUnary n = new QilUnary(
QilNodeType
.PositionOf, child);
254
QilNode n = new QilNode(
QilNodeType
.True);
262
QilNode n = new QilNode(
QilNodeType
.False);
270
QilLiteral n = new QilLiteral(
QilNodeType
.LiteralString, value);
278
QilLiteral n = new QilLiteral(
QilNodeType
.LiteralInt32, value);
286
QilLiteral n = new QilLiteral(
QilNodeType
.LiteralInt64, value);
294
QilLiteral n = new QilLiteral(
QilNodeType
.LiteralDouble, value);
302
QilLiteral n = new QilLiteral(
QilNodeType
.LiteralDecimal, value);
310
QilName n = new QilName(
QilNodeType
.LiteralQName, localName, namespaceUri, prefix);
318
QilLiteral n = new QilLiteral(
QilNodeType
.LiteralType, value);
326
QilLiteral n = new QilLiteral(
QilNodeType
.LiteralObject, value);
340
QilBinary n = new QilBinary(
QilNodeType
.And, left, right);
348
QilBinary n = new QilBinary(
QilNodeType
.Or, left, right);
356
QilUnary n = new QilUnary(
QilNodeType
.Not, child);
370
QilTernary n = new QilTernary(
QilNodeType
.Conditional, left, center, right);
378
QilChoice n = new QilChoice(
QilNodeType
.Choice, expression, branches);
392
QilUnary n = new QilUnary(
QilNodeType
.Length, child);
400
QilList n = new QilList(
QilNodeType
.Sequence);
408
QilBinary n = new QilBinary(
QilNodeType
.Union, left, right);
416
QilBinary n = new QilBinary(
QilNodeType
.Intersection, left, right);
424
QilBinary n = new QilBinary(
QilNodeType
.Difference, left, right);
432
QilUnary n = new QilUnary(
QilNodeType
.Sum, child);
446
QilUnary n = new QilUnary(
QilNodeType
.Negate, child);
454
QilBinary n = new QilBinary(
QilNodeType
.Add, left, right);
462
QilBinary n = new QilBinary(
QilNodeType
.Subtract, left, right);
470
QilBinary n = new QilBinary(
QilNodeType
.Multiply, left, right);
478
QilBinary n = new QilBinary(
QilNodeType
.Divide, left, right);
486
QilBinary n = new QilBinary(
QilNodeType
.Modulo, left, right);
500
QilUnary n = new QilUnary(
QilNodeType
.StrLength, child);
508
QilStrConcat n = new QilStrConcat(
QilNodeType
.StrConcat, delimiter, values);
516
QilBinary n = new QilBinary(
QilNodeType
.StrParseQName, left, right);
530
QilBinary n = new QilBinary(
QilNodeType
.Ne, left, right);
538
QilBinary n = new QilBinary(
QilNodeType
.Eq, left, right);
546
QilBinary n = new QilBinary(
QilNodeType
.Gt, left, right);
554
QilBinary n = new QilBinary(
QilNodeType
.Ge, left, right);
562
QilBinary n = new QilBinary(
QilNodeType
.Lt, left, right);
570
QilBinary n = new QilBinary(
QilNodeType
.Le, left, right);
584
QilBinary n = new QilBinary(
QilNodeType
.Is, left, right);
592
QilBinary n = new QilBinary(
QilNodeType
.Before, left, right);
606
QilLoop n = new QilLoop(
QilNodeType
.Loop, variable, body);
614
QilLoop n = new QilLoop(
QilNodeType
.Filter, variable, body);
628
QilLoop n = new QilLoop(
QilNodeType
.Sort, variable, body);
636
QilSortKey n = new QilSortKey(
QilNodeType
.SortKey, key, collation);
644
QilUnary n = new QilUnary(
QilNodeType
.DocOrderDistinct, child);
658
QilFunction n = new QilFunction(
QilNodeType
.Function, arguments, definition, sideEffects, xmlType);
666
QilInvoke n = new QilInvoke(
QilNodeType
.Invoke, function, arguments);
680
QilUnary n = new QilUnary(
QilNodeType
.Content, child);
688
QilBinary n = new QilBinary(
QilNodeType
.Attribute, left, right);
696
QilUnary n = new QilUnary(
QilNodeType
.Parent, child);
704
QilUnary n = new QilUnary(
QilNodeType
.Root, child);
712
QilNode n = new QilNode(
QilNodeType
.XmlContext);
720
QilUnary n = new QilUnary(
QilNodeType
.Descendant, child);
728
QilUnary n = new QilUnary(
QilNodeType
.DescendantOrSelf, child);
736
QilUnary n = new QilUnary(
QilNodeType
.Ancestor, child);
744
QilUnary n = new QilUnary(
QilNodeType
.AncestorOrSelf, child);
752
QilUnary n = new QilUnary(
QilNodeType
.Preceding, child);
760
QilUnary n = new QilUnary(
QilNodeType
.FollowingSibling, child);
768
QilUnary n = new QilUnary(
QilNodeType
.PrecedingSibling, child);
776
QilBinary n = new QilBinary(
QilNodeType
.NodeRange, left, right);
784
QilBinary n = new QilBinary(
QilNodeType
.Deref, left, right);
798
QilBinary n = new QilBinary(
QilNodeType
.ElementCtor, left, right);
806
QilBinary n = new QilBinary(
QilNodeType
.AttributeCtor, left, right);
814
QilUnary n = new QilUnary(
QilNodeType
.CommentCtor, child);
822
QilBinary n = new QilBinary(
QilNodeType
.PICtor, left, right);
830
QilUnary n = new QilUnary(
QilNodeType
.TextCtor, child);
838
QilUnary n = new QilUnary(
QilNodeType
.RawTextCtor, child);
846
QilUnary n = new QilUnary(
QilNodeType
.DocumentCtor, child);
854
QilBinary n = new QilBinary(
QilNodeType
.NamespaceDecl, left, right);
862
QilBinary n = new QilBinary(
QilNodeType
.RtfCtor, left, right);
876
QilUnary n = new QilUnary(
QilNodeType
.NameOf, child);
884
QilUnary n = new QilUnary(
QilNodeType
.LocalNameOf, child);
892
QilUnary n = new QilUnary(
QilNodeType
.NamespaceUriOf, child);
900
QilUnary n = new QilUnary(
QilNodeType
.PrefixOf, child);
914
QilTargetType n = new QilTargetType(
QilNodeType
.TypeAssert, source, targetType);
922
QilTargetType n = new QilTargetType(
QilNodeType
.IsType, source, targetType);
930
QilUnary n = new QilUnary(
QilNodeType
.IsEmpty, child);
944
QilUnary n = new QilUnary(
QilNodeType
.XPathNodeValue, child);
952
QilUnary n = new QilUnary(
QilNodeType
.XPathFollowing, child);
960
QilUnary n = new QilUnary(
QilNodeType
.XPathPreceding, child);
968
QilUnary n = new QilUnary(
QilNodeType
.XPathNamespace, child);
982
QilUnary n = new QilUnary(
QilNodeType
.XsltGenerateId, child);
990
QilInvokeLateBound n = new QilInvokeLateBound(
QilNodeType
.XsltInvokeLateBound, name, arguments);
998
QilInvokeEarlyBound n = new QilInvokeEarlyBound(
QilNodeType
.XsltInvokeEarlyBound, name, clrMethod, arguments, xmlType);
1006
QilBinary n = new QilBinary(
QilNodeType
.XsltCopy, left, right);
1014
QilUnary n = new QilUnary(
QilNodeType
.XsltCopyOf, child);
1022
QilTargetType n = new QilTargetType(
QilNodeType
.XsltConvert, source, targetType);
System\Xml\Xsl\QIL\QilFunction.cs (4)
34
public QilFunction(
QilNodeType
nodeType, QilNode arguments, QilNode definition, QilNode sideEffects, XmlQueryType resultType)
105
get { return _sideEffects.NodeType ==
QilNodeType
.True; }
106
set { _sideEffects.NodeType = value ?
QilNodeType
.True :
QilNodeType
.False; }
System\Xml\Xsl\QIL\QilInvoke.cs (1)
23
public QilInvoke(
QilNodeType
nodeType, QilNode function, QilNode arguments) : base(nodeType, function, arguments)
System\Xml\Xsl\QIL\QilInvokeEarlyBound.cs (1)
22
public QilInvokeEarlyBound(
QilNodeType
nodeType, QilNode name, QilNode method, QilNode arguments, XmlQueryType resultType)
System\Xml\Xsl\QIL\QilInvokeLateBound.cs (1)
21
public QilInvokeLateBound(
QilNodeType
nodeType, QilNode name, QilNode arguments) : base(nodeType, name, arguments)
System\Xml\Xsl\QIL\QilIterator.cs (1)
23
public QilIterator(
QilNodeType
nodeType, QilNode? binding) : base(nodeType)
System\Xml\Xsl\QIL\QilList.cs (3)
29
public QilList(
QilNodeType
nodeType) : base(nodeType)
53
if (this.nodeType ==
QilNodeType
.Sequence)
60
else if (this.nodeType ==
QilNodeType
.BranchList)
System\Xml\Xsl\QIL\QilLiteral.cs (1)
28
public QilLiteral(
QilNodeType
nodeType, object? value) : base(nodeType)
System\Xml\Xsl\QIL\QilLoop.cs (1)
27
public QilLoop(
QilNodeType
nodeType, QilNode variable, QilNode body) : base(nodeType, variable, body)
System\Xml\Xsl\QIL\QilName.cs (1)
30
public QilName(
QilNodeType
nodeType, string local, string uri, string prefix) : base(nodeType, null)
System\Xml\Xsl\QIL\QilNode.cs (4)
24
protected
QilNodeType
nodeType;
36
public QilNode(
QilNodeType
nodeType)
44
public QilNode(
QilNodeType
nodeType, XmlQueryType xmlType)
58
public
QilNodeType
NodeType
System\Xml\Xsl\QIL\QilParameter.cs (1)
23
public QilParameter(
QilNodeType
nodeType, QilNode? defaultValue, QilNode? name, XmlQueryType xmlType) : base(nodeType, defaultValue)
System\Xml\Xsl\QIL\QilPatternFactory.cs (19)
244
if (left.NodeType ==
QilNodeType
.True || right.NodeType ==
QilNodeType
.False)
248
if (left.NodeType ==
QilNodeType
.False || right.NodeType ==
QilNodeType
.True)
266
if (left.NodeType ==
QilNodeType
.True || right.NodeType ==
QilNodeType
.False)
270
if (left.NodeType ==
QilNodeType
.False || right.NodeType ==
QilNodeType
.True)
284
case
QilNodeType
.True:
286
case
QilNodeType
.False:
288
case
QilNodeType
.Not:
308
case
QilNodeType
.True:
310
case
QilNodeType
.False:
312
case
QilNodeType
.Not:
552
if (expr.NodeType ==
QilNodeType
.True)
580
if (collection.NodeType ==
QilNodeType
.DocOrderDistinct)
595
Debug.Assert(args.NodeType ==
QilNodeType
.FormalParameterList);
600
Debug.Assert(args.NodeType ==
QilNodeType
.FormalParameterList);
606
Debug.Assert(args.NodeType ==
QilNodeType
.ActualParameterList);
System\Xml\Xsl\QIL\QilReference.cs (1)
30
public QilReference(
QilNodeType
nodeType) : base(nodeType)
System\Xml\Xsl\QIL\QilScopedVisitor.cs (10)
41
case
QilNodeType
.QilExpression:
49
case
QilNodeType
.Function:
54
case
QilNodeType
.Loop:
55
case
QilNodeType
.Filter:
56
case
QilNodeType
.Sort:
72
case
QilNodeType
.QilExpression:
80
case
QilNodeType
.Function:
85
case
QilNodeType
.Loop:
86
case
QilNodeType
.Filter:
87
case
QilNodeType
.Sort:
System\Xml\Xsl\QIL\QilSortKey.cs (1)
24
public QilSortKey(
QilNodeType
nodeType, QilNode key, QilNode collation) : base(nodeType, key, collation)
System\Xml\Xsl\QIL\QilStrConcat.cs (1)
24
public QilStrConcat(
QilNodeType
nodeType, QilNode delimiter, QilNode values) : base(nodeType, delimiter, values)
System\Xml\Xsl\QIL\QilTargetType.cs (1)
26
public QilTargetType(
QilNodeType
nodeType, QilNode expr, QilNode targetType) : base(nodeType, expr, targetType)
System\Xml\Xsl\QIL\QilTernary.cs (1)
28
public QilTernary(
QilNodeType
nodeType, QilNode left, QilNode center, QilNode right) : base(nodeType)
System\Xml\Xsl\QIL\QilTypeChecker.cs (141)
28
QilNodeType
.QilExpression => CheckQilExpression((QilExpression)n),
29
QilNodeType
.FunctionList => CheckFunctionList((QilList)n),
30
QilNodeType
.GlobalVariableList => CheckGlobalVariableList((QilList)n),
31
QilNodeType
.GlobalParameterList => CheckGlobalParameterList((QilList)n),
32
QilNodeType
.ActualParameterList => CheckActualParameterList((QilList)n),
33
QilNodeType
.FormalParameterList => CheckFormalParameterList((QilList)n),
34
QilNodeType
.SortKeyList => CheckSortKeyList((QilList)n),
35
QilNodeType
.BranchList => CheckBranchList((QilList)n),
36
QilNodeType
.OptimizeBarrier => CheckOptimizeBarrier((QilUnary)n),
37
QilNodeType
.Unknown => CheckUnknown(n),
39
QilNodeType
.DataSource => CheckDataSource((QilDataSource)n),
40
QilNodeType
.Nop => CheckNop((QilUnary)n),
41
QilNodeType
.Error => CheckError((QilUnary)n),
42
QilNodeType
.Warning => CheckWarning((QilUnary)n),
44
QilNodeType
.For => CheckFor((QilIterator)n),
45
QilNodeType
.Let => CheckLet((QilIterator)n),
46
QilNodeType
.Parameter => CheckParameter((QilParameter)n),
47
QilNodeType
.PositionOf => CheckPositionOf(),
49
QilNodeType
.True => CheckTrue(),
50
QilNodeType
.False => CheckFalse(),
51
QilNodeType
.LiteralString => CheckLiteralString((QilLiteral)n),
52
QilNodeType
.LiteralInt32 => CheckLiteralInt32((QilLiteral)n),
53
QilNodeType
.LiteralInt64 => CheckLiteralInt64((QilLiteral)n),
54
QilNodeType
.LiteralDouble => CheckLiteralDouble((QilLiteral)n),
55
QilNodeType
.LiteralDecimal => CheckLiteralDecimal((QilLiteral)n),
56
QilNodeType
.LiteralQName => CheckLiteralQName((QilName)n),
57
QilNodeType
.LiteralType => CheckLiteralType((QilLiteral)n),
58
QilNodeType
.LiteralObject => CheckLiteralObject((QilLiteral)n),
60
QilNodeType
.And => CheckAnd((QilBinary)n),
61
QilNodeType
.Or => CheckOr((QilBinary)n),
62
QilNodeType
.Not => CheckNot((QilUnary)n),
64
QilNodeType
.Conditional => CheckConditional((QilTernary)n),
65
QilNodeType
.Choice => CheckChoice((QilChoice)n),
67
QilNodeType
.Length => CheckLength(),
68
QilNodeType
.Sequence => CheckSequence((QilList)n),
69
QilNodeType
.Union => CheckUnion((QilBinary)n),
70
QilNodeType
.Intersection => CheckIntersection((QilBinary)n),
71
QilNodeType
.Difference => CheckDifference((QilBinary)n),
72
QilNodeType
.Average => CheckAverage((QilUnary)n),
73
QilNodeType
.Sum => CheckSum((QilUnary)n),
74
QilNodeType
.Minimum => CheckMinimum((QilUnary)n),
75
QilNodeType
.Maximum => CheckMaximum((QilUnary)n),
77
QilNodeType
.Negate => CheckNegate((QilUnary)n),
78
QilNodeType
.Add => CheckAdd((QilBinary)n),
79
QilNodeType
.Subtract => CheckSubtract((QilBinary)n),
80
QilNodeType
.Multiply => CheckMultiply((QilBinary)n),
81
QilNodeType
.Divide => CheckDivide((QilBinary)n),
82
QilNodeType
.Modulo => CheckModulo((QilBinary)n),
84
QilNodeType
.StrLength => CheckStrLength((QilUnary)n),
85
QilNodeType
.StrConcat => CheckStrConcat((QilStrConcat)n),
86
QilNodeType
.StrParseQName => CheckStrParseQName((QilBinary)n),
88
QilNodeType
.Ne => CheckNe((QilBinary)n),
89
QilNodeType
.Eq => CheckEq((QilBinary)n),
90
QilNodeType
.Gt => CheckGt((QilBinary)n),
91
QilNodeType
.Ge => CheckGe((QilBinary)n),
92
QilNodeType
.Lt => CheckLt((QilBinary)n),
93
QilNodeType
.Le => CheckLe((QilBinary)n),
95
QilNodeType
.Is => CheckIs((QilBinary)n),
96
QilNodeType
.After => CheckAfter((QilBinary)n),
97
QilNodeType
.Before => CheckBefore((QilBinary)n),
99
QilNodeType
.Loop => CheckLoop((QilLoop)n),
100
QilNodeType
.Filter => CheckFilter((QilLoop)n),
102
QilNodeType
.Sort => CheckSort((QilLoop)n),
103
QilNodeType
.SortKey => CheckSortKey((QilSortKey)n),
104
QilNodeType
.DocOrderDistinct => CheckDocOrderDistinct((QilUnary)n),
106
QilNodeType
.Function => CheckFunction((QilFunction)n),
107
QilNodeType
.Invoke => CheckInvoke((QilInvoke)n),
109
QilNodeType
.Content => CheckContent((QilUnary)n),
110
QilNodeType
.Attribute => CheckAttribute((QilBinary)n),
111
QilNodeType
.Parent => CheckParent((QilUnary)n),
112
QilNodeType
.Root => CheckRoot((QilUnary)n),
113
QilNodeType
.XmlContext => CheckXmlContext(),
114
QilNodeType
.Descendant => CheckDescendant((QilUnary)n),
115
QilNodeType
.DescendantOrSelf => CheckDescendantOrSelf((QilUnary)n),
116
QilNodeType
.Ancestor => CheckAncestor((QilUnary)n),
117
QilNodeType
.AncestorOrSelf => CheckAncestorOrSelf((QilUnary)n),
118
QilNodeType
.Preceding => CheckPreceding((QilUnary)n),
119
QilNodeType
.FollowingSibling => CheckFollowingSibling((QilUnary)n),
120
QilNodeType
.PrecedingSibling => CheckPrecedingSibling((QilUnary)n),
121
QilNodeType
.NodeRange => CheckNodeRange((QilBinary)n),
122
QilNodeType
.Deref => CheckDeref((QilBinary)n),
124
QilNodeType
.ElementCtor => CheckElementCtor((QilBinary)n),
125
QilNodeType
.AttributeCtor => CheckAttributeCtor((QilBinary)n),
126
QilNodeType
.CommentCtor => CheckCommentCtor((QilUnary)n),
127
QilNodeType
.PICtor => CheckPICtor((QilBinary)n),
128
QilNodeType
.TextCtor => CheckTextCtor((QilUnary)n),
129
QilNodeType
.RawTextCtor => CheckRawTextCtor((QilUnary)n),
130
QilNodeType
.DocumentCtor => CheckDocumentCtor((QilUnary)n),
131
QilNodeType
.NamespaceDecl => CheckNamespaceDecl((QilBinary)n),
132
QilNodeType
.RtfCtor => CheckRtfCtor((QilBinary)n),
134
QilNodeType
.NameOf => CheckNameOf((QilUnary)n),
135
QilNodeType
.LocalNameOf => CheckLocalNameOf((QilUnary)n),
136
QilNodeType
.NamespaceUriOf => CheckNamespaceUriOf((QilUnary)n),
137
QilNodeType
.PrefixOf => CheckPrefixOf((QilUnary)n),
139
QilNodeType
.TypeAssert => CheckTypeAssert((QilTargetType)n),
140
QilNodeType
.IsType => CheckIsType((QilTargetType)n),
141
QilNodeType
.IsEmpty => CheckIsEmpty(),
143
QilNodeType
.XPathNodeValue => CheckXPathNodeValue((QilUnary)n),
144
QilNodeType
.XPathFollowing => CheckXPathFollowing((QilUnary)n),
145
QilNodeType
.XPathPreceding => CheckXPathPreceding((QilUnary)n),
146
QilNodeType
.XPathNamespace => CheckXPathNamespace((QilUnary)n),
148
QilNodeType
.XsltGenerateId => CheckXsltGenerateId((QilUnary)n),
149
QilNodeType
.XsltInvokeLateBound => CheckXsltInvokeLateBound((QilInvokeLateBound)n),
150
QilNodeType
.XsltInvokeEarlyBound => CheckXsltInvokeEarlyBound((QilInvokeEarlyBound)n),
151
QilNodeType
.XsltCopy => CheckXsltCopy((QilBinary)n),
152
QilNodeType
.XsltCopyOf => CheckXsltCopyOf((QilUnary)n),
153
QilNodeType
.XsltConvert => CheckXsltConvert((QilTargetType)n),
166
Check(node[0].NodeType ==
QilNodeType
.False || node[0].NodeType ==
QilNodeType
.True, node, "IsDebug must either be True or False");
169
CheckClassAndNodeType(node[3], typeof(QilList),
QilNodeType
.GlobalParameterList);
170
CheckClassAndNodeType(node[4], typeof(QilList),
QilNodeType
.GlobalVariableList);
172
CheckClassAndNodeType(node[6], typeof(QilList),
QilNodeType
.FunctionList);
179
CheckClassAndNodeType(child, typeof(QilFunction),
QilNodeType
.Function);
186
CheckClassAndNodeType(child, typeof(QilIterator),
QilNodeType
.Let);
194
CheckClassAndNodeType(child, typeof(QilParameter),
QilNodeType
.Parameter);
208
CheckClassAndNodeType(child, typeof(QilParameter),
QilNodeType
.Parameter);
215
CheckClassAndNodeType(child, typeof(QilSortKey),
QilNodeType
.SortKey);
396
CheckClassAndNodeType(node.Branches, typeof(QilList),
QilNodeType
.BranchList);
596
Check(node.Variable.NodeType ==
QilNodeType
.For || node.Variable.NodeType ==
QilNodeType
.Let, node, "Loop variable must be a For or Let iterator");
599
XmlQueryCardinality variableCard = node.Variable.NodeType ==
QilNodeType
.Let ? XmlQueryCardinality.One : node.Variable.Binding!.XmlType!.Cardinality;
608
Check(node.Variable.NodeType ==
QilNodeType
.For || node.Variable.NodeType ==
QilNodeType
.Let, node, "Filter variable must be a For or Let iterator");
629
CheckClassAndNodeType(node[0], typeof(QilIterator),
QilNodeType
.For);
630
CheckClassAndNodeType(node[1], typeof(QilList),
QilNodeType
.SortKeyList);
657
CheckClassAndNodeType(node[0], typeof(QilList),
QilNodeType
.FormalParameterList);
658
Check(node[2].NodeType ==
QilNodeType
.False || node[2].NodeType ==
QilNodeType
.True, node, "SideEffects must either be True or False");
666
CheckClassAndNodeType(node[1], typeof(QilList),
QilNodeType
.ActualParameterList);
832
CheckClassAndNodeType(node.Right, typeof(QilLiteral),
QilNodeType
.LiteralString);
877
CheckClassAndNodeType(node[1], typeof(QilLiteral),
QilNodeType
.LiteralType);
883
CheckClassAndNodeType(node[1], typeof(QilLiteral),
QilNodeType
.LiteralType);
937
CheckClassAndNodeType(node[1], typeof(QilList),
QilNodeType
.ActualParameterList);
946
CheckClassAndNodeType(node[2], typeof(QilList),
QilNodeType
.ActualParameterList);
980
CheckClassAndNodeType(node[1], typeof(QilLiteral),
QilNodeType
.LiteralType);
1013
private static void CheckClassAndNodeType(QilNode node, Type clrTypeClass,
QilNodeType
nodeType)
1071
case
QilNodeType
.False:
1074
case
QilNodeType
.IsType:
1080
case
QilNodeType
.And:
1088
case
QilNodeType
.Eq:
1091
if (binary.Left.NodeType ==
QilNodeType
.PositionOf)
System\Xml\Xsl\QIL\QilUnary.cs (1)
28
public QilUnary(
QilNodeType
nodeType, QilNode child) : base(nodeType)
System\Xml\Xsl\QIL\QilValidationVisitor.cs (4)
81
if (parent.NodeType ==
QilNodeType
.Parameter)
88
if (parent.NodeType ==
QilNodeType
.GlobalVariableList ||
89
parent.NodeType ==
QilNodeType
.GlobalParameterList ||
90
parent.NodeType ==
QilNodeType
.FunctionList)
System\Xml\Xsl\QIL\QilVisitor.cs (122)
66
case
QilNodeType
.For:
67
case
QilNodeType
.Let:
68
case
QilNodeType
.Parameter:
72
case
QilNodeType
.Loop:
73
case
QilNodeType
.Filter:
74
case
QilNodeType
.Sort:
78
case
QilNodeType
.GlobalVariableList:
79
case
QilNodeType
.GlobalParameterList:
80
case
QilNodeType
.FormalParameterList:
88
case
QilNodeType
.Function:
90
return parent.NodeType ==
QilNodeType
.Invoke;
111
QilNodeType
.QilExpression => VisitQilExpression((QilExpression)n),
112
QilNodeType
.FunctionList => VisitFunctionList((QilList)n),
113
QilNodeType
.GlobalVariableList => VisitGlobalVariableList((QilList)n),
114
QilNodeType
.GlobalParameterList => VisitGlobalParameterList((QilList)n),
115
QilNodeType
.ActualParameterList => VisitActualParameterList((QilList)n),
116
QilNodeType
.FormalParameterList => VisitFormalParameterList((QilList)n),
117
QilNodeType
.SortKeyList => VisitSortKeyList((QilList)n),
118
QilNodeType
.BranchList => VisitBranchList((QilList)n),
119
QilNodeType
.OptimizeBarrier => VisitOptimizeBarrier((QilUnary)n),
120
QilNodeType
.Unknown => VisitUnknown(n),
122
QilNodeType
.DataSource => VisitDataSource((QilDataSource)n),
123
QilNodeType
.Nop => VisitNop((QilUnary)n),
124
QilNodeType
.Error => VisitError((QilUnary)n),
125
QilNodeType
.Warning => VisitWarning((QilUnary)n),
127
QilNodeType
.For => VisitFor((QilIterator)n),
128
QilNodeType
.Let => VisitLet((QilIterator)n),
129
QilNodeType
.Parameter => VisitParameter((QilParameter)n),
130
QilNodeType
.PositionOf => VisitPositionOf((QilUnary)n),
132
QilNodeType
.True => VisitTrue(n),
133
QilNodeType
.False => VisitFalse(n),
134
QilNodeType
.LiteralString => VisitLiteralString((QilLiteral)n),
135
QilNodeType
.LiteralInt32 => VisitLiteralInt32((QilLiteral)n),
136
QilNodeType
.LiteralInt64 => VisitLiteralInt64((QilLiteral)n),
137
QilNodeType
.LiteralDouble => VisitLiteralDouble((QilLiteral)n),
138
QilNodeType
.LiteralDecimal => VisitLiteralDecimal((QilLiteral)n),
139
QilNodeType
.LiteralQName => VisitLiteralQName((QilName)n),
140
QilNodeType
.LiteralType => VisitLiteralType((QilLiteral)n),
141
QilNodeType
.LiteralObject => VisitLiteralObject((QilLiteral)n),
143
QilNodeType
.And => VisitAnd((QilBinary)n),
144
QilNodeType
.Or => VisitOr((QilBinary)n),
145
QilNodeType
.Not => VisitNot((QilUnary)n),
147
QilNodeType
.Conditional => VisitConditional((QilTernary)n),
148
QilNodeType
.Choice => VisitChoice((QilChoice)n),
150
QilNodeType
.Length => VisitLength((QilUnary)n),
151
QilNodeType
.Sequence => VisitSequence((QilList)n),
152
QilNodeType
.Union => VisitUnion((QilBinary)n),
153
QilNodeType
.Intersection => VisitIntersection((QilBinary)n),
154
QilNodeType
.Difference => VisitDifference((QilBinary)n),
155
QilNodeType
.Average => VisitAverage((QilUnary)n),
156
QilNodeType
.Sum => VisitSum((QilUnary)n),
157
QilNodeType
.Minimum => VisitMinimum((QilUnary)n),
158
QilNodeType
.Maximum => VisitMaximum((QilUnary)n),
160
QilNodeType
.Negate => VisitNegate((QilUnary)n),
161
QilNodeType
.Add => VisitAdd((QilBinary)n),
162
QilNodeType
.Subtract => VisitSubtract((QilBinary)n),
163
QilNodeType
.Multiply => VisitMultiply((QilBinary)n),
164
QilNodeType
.Divide => VisitDivide((QilBinary)n),
165
QilNodeType
.Modulo => VisitModulo((QilBinary)n),
167
QilNodeType
.StrLength => VisitStrLength((QilUnary)n),
168
QilNodeType
.StrConcat => VisitStrConcat((QilStrConcat)n),
169
QilNodeType
.StrParseQName => VisitStrParseQName((QilBinary)n),
171
QilNodeType
.Ne => VisitNe((QilBinary)n),
172
QilNodeType
.Eq => VisitEq((QilBinary)n),
173
QilNodeType
.Gt => VisitGt((QilBinary)n),
174
QilNodeType
.Ge => VisitGe((QilBinary)n),
175
QilNodeType
.Lt => VisitLt((QilBinary)n),
176
QilNodeType
.Le => VisitLe((QilBinary)n),
178
QilNodeType
.Is => VisitIs((QilBinary)n),
179
QilNodeType
.After => VisitAfter((QilBinary)n),
180
QilNodeType
.Before => VisitBefore((QilBinary)n),
182
QilNodeType
.Loop => VisitLoop((QilLoop)n),
183
QilNodeType
.Filter => VisitFilter((QilLoop)n),
185
QilNodeType
.Sort => VisitSort((QilLoop)n),
186
QilNodeType
.SortKey => VisitSortKey((QilSortKey)n),
187
QilNodeType
.DocOrderDistinct => VisitDocOrderDistinct((QilUnary)n),
189
QilNodeType
.Function => VisitFunction((QilFunction)n),
190
QilNodeType
.Invoke => VisitInvoke((QilInvoke)n),
192
QilNodeType
.Content => VisitContent((QilUnary)n),
193
QilNodeType
.Attribute => VisitAttribute((QilBinary)n),
194
QilNodeType
.Parent => VisitParent((QilUnary)n),
195
QilNodeType
.Root => VisitRoot((QilUnary)n),
196
QilNodeType
.XmlContext => VisitXmlContext(n),
197
QilNodeType
.Descendant => VisitDescendant((QilUnary)n),
198
QilNodeType
.DescendantOrSelf => VisitDescendantOrSelf((QilUnary)n),
199
QilNodeType
.Ancestor => VisitAncestor((QilUnary)n),
200
QilNodeType
.AncestorOrSelf => VisitAncestorOrSelf((QilUnary)n),
201
QilNodeType
.Preceding => VisitPreceding((QilUnary)n),
202
QilNodeType
.FollowingSibling => VisitFollowingSibling((QilUnary)n),
203
QilNodeType
.PrecedingSibling => VisitPrecedingSibling((QilUnary)n),
204
QilNodeType
.NodeRange => VisitNodeRange((QilBinary)n),
205
QilNodeType
.Deref => VisitDeref((QilBinary)n),
207
QilNodeType
.ElementCtor => VisitElementCtor((QilBinary)n),
208
QilNodeType
.AttributeCtor => VisitAttributeCtor((QilBinary)n),
209
QilNodeType
.CommentCtor => VisitCommentCtor((QilUnary)n),
210
QilNodeType
.PICtor => VisitPICtor((QilBinary)n),
211
QilNodeType
.TextCtor => VisitTextCtor((QilUnary)n),
212
QilNodeType
.RawTextCtor => VisitRawTextCtor((QilUnary)n),
213
QilNodeType
.DocumentCtor => VisitDocumentCtor((QilUnary)n),
214
QilNodeType
.NamespaceDecl => VisitNamespaceDecl((QilBinary)n),
215
QilNodeType
.RtfCtor => VisitRtfCtor((QilBinary)n),
217
QilNodeType
.NameOf => VisitNameOf((QilUnary)n),
218
QilNodeType
.LocalNameOf => VisitLocalNameOf((QilUnary)n),
219
QilNodeType
.NamespaceUriOf => VisitNamespaceUriOf((QilUnary)n),
220
QilNodeType
.PrefixOf => VisitPrefixOf((QilUnary)n),
222
QilNodeType
.TypeAssert => VisitTypeAssert((QilTargetType)n),
223
QilNodeType
.IsType => VisitIsType((QilTargetType)n),
224
QilNodeType
.IsEmpty => VisitIsEmpty((QilUnary)n),
226
QilNodeType
.XPathNodeValue => VisitXPathNodeValue((QilUnary)n),
227
QilNodeType
.XPathFollowing => VisitXPathFollowing((QilUnary)n),
228
QilNodeType
.XPathPreceding => VisitXPathPreceding((QilUnary)n),
229
QilNodeType
.XPathNamespace => VisitXPathNamespace((QilUnary)n),
231
QilNodeType
.XsltGenerateId => VisitXsltGenerateId((QilUnary)n),
232
QilNodeType
.XsltInvokeLateBound => VisitXsltInvokeLateBound((QilInvokeLateBound)n),
233
QilNodeType
.XsltInvokeEarlyBound => VisitXsltInvokeEarlyBound((QilInvokeEarlyBound)n),
234
QilNodeType
.XsltCopy => VisitXsltCopy((QilBinary)n),
235
QilNodeType
.XsltCopyOf => VisitXsltCopyOf((QilUnary)n),
236
QilNodeType
.XsltConvert => VisitXsltConvert((QilTargetType)n),
249
QilNodeType
.For => VisitForReference((QilIterator)n),
250
QilNodeType
.Let => VisitLetReference((QilIterator)n),
251
QilNodeType
.Parameter => VisitParameterReference((QilParameter)n),
253
QilNodeType
.Function => VisitFunctionReference((QilFunction)n),
System\Xml\Xsl\QIL\QilXmlWriter.cs (2)
165
if (node.NodeType ==
QilNodeType
.Parameter)
213
if (n.NodeType ==
QilNodeType
.Function)
System\Xml\Xsl\XmlIlGenerator.cs (1)
210
Debug.Assert(ndParam.NodeType ==
QilNodeType
.Parameter);
System\Xml\Xsl\XPath\XPathBuilder.cs (21)
308
if (left.NodeType ==
QilNodeType
.Sequence)
355
if (qilAxis.NodeType ==
QilNodeType
.Filter)
457
Debug.Assert(nodeset.NodeType ==
QilNodeType
.DocOrderDistinct,
708
private static readonly
QilNodeType
[] s_qilOperator = {
709
/*Unknown */
QilNodeType
.Unknown,
710
/*Or */
QilNodeType
.Or,
711
/*And */
QilNodeType
.And,
712
/*Eq */
QilNodeType
.Eq,
713
/*Ne */
QilNodeType
.Ne,
714
/*Lt */
QilNodeType
.Lt,
715
/*Le */
QilNodeType
.Le,
716
/*Gt */
QilNodeType
.Gt,
717
/*Ge */
QilNodeType
.Ge,
718
/*Plus */
QilNodeType
.Add,
719
/*Minus */
QilNodeType
.Subtract,
720
/*Multiply */
QilNodeType
.Multiply,
721
/*Divide */
QilNodeType
.Divide,
722
/*Modulo */
QilNodeType
.Modulo,
723
/*UnaryMinus */
QilNodeType
.Negate,
724
/*Union */
QilNodeType
.Sequence,
890
Debug.Assert(unknown.NodeType ==
QilNodeType
.Unknown);
System\Xml\Xsl\XPath\XPathQilFactory.cs (19)
131
public QilNode InvokeEqualityOperator(
QilNodeType
op, QilNode left, QilNode right)
133
Debug.Assert(op ==
QilNodeType
.Eq || op ==
QilNodeType
.Ne);
139
QilNodeType
.Eq => (double)XsltLibrary.ComparisonOperator.Eq,
147
public QilNode InvokeRelationalOperator(
QilNodeType
op, QilNode left, QilNode right)
149
Debug.Assert(op ==
QilNodeType
.Lt || op ==
QilNodeType
.Le || op ==
QilNodeType
.Gt || op ==
QilNodeType
.Ge);
155
QilNodeType
.Lt => (double)XsltLibrary.ComparisonOperator.Lt,
156
QilNodeType
.Le => (double)XsltLibrary.ComparisonOperator.Le,
157
QilNodeType
.Gt => (double)XsltLibrary.ComparisonOperator.Gt,
193
n.NodeType ==
QilNodeType
.True ? (QilNode)String("true") :
194
n.NodeType ==
QilNodeType
.False ? (QilNode)String("false") :
198
return (n.NodeType ==
QilNodeType
.LiteralDouble
225
return (n.NodeType ==
QilNodeType
.LiteralDouble
230
return (n.NodeType ==
QilNodeType
.LiteralString
252
n.NodeType ==
QilNodeType
.True ? (QilNode)Double(1) :
253
n.NodeType ==
QilNodeType
.False ? (QilNode)Double(0) :
System\Xml\Xsl\Xslt\KeyMatchBuilder.cs (7)
87
n.NodeType ==
QilNodeType
.Union ||
88
n.NodeType ==
QilNodeType
.DocOrderDistinct ||
89
n.NodeType ==
QilNodeType
.Filter ||
90
n.NodeType ==
QilNodeType
.Loop
101
if (n.Variable.Binding!.NodeType ==
QilNodeType
.Root || n.Variable.Binding.NodeType ==
QilNodeType
.Deref)
106
if (n.Variable.Binding.NodeType ==
QilNodeType
.Content)
System\Xml\Xsl\Xslt\MatcherBuilder.cs (7)
165
while (node.NodeType ==
QilNodeType
.And)
171
if (!(node.NodeType ==
QilNodeType
.IsType))
177
if (!(isType.Left == _iterator && isType.Right.NodeType ==
QilNodeType
.LiteralType))
192
if (lastAnd != null && lastAnd.Right.NodeType ==
QilNodeType
.Eq)
197
if (eq.Left.NodeType ==
QilNodeType
.NameOf &&
198
((QilUnary)eq.Left).Child == _iterator && eq.Right.NodeType ==
QilNodeType
.LiteralQName
421
if (matcher.NodeType ==
QilNodeType
.LiteralInt32)
System\Xml\Xsl\Xslt\QilGenerator.cs (22)
269
if (init.NodeType ==
QilNodeType
.Add)
446
Debug.Assert(nsList[i].NodeType ==
QilNodeType
.NamespaceDecl);
447
Debug.Assert(varList[i].NodeType ==
QilNodeType
.NamespaceDecl);
643
Debug.Assert(tmpl != null && tmpl.Function != null && tmpl.Function.Definition.NodeType ==
QilNodeType
.Unknown);
748
if (result.NodeType ==
QilNodeType
.Sequence && result.Count == 0)
876
if (qilName.NodeType ==
QilNodeType
.LiteralString && (qilNs == null || qilNs.NodeType ==
QilNodeType
.LiteralString))
935
if (qilName.NodeType ==
QilNodeType
.LiteralString && (qilNs == null || qilNs.NodeType ==
QilNodeType
.LiteralString))
1079
if (avtParts.NodeType ==
QilNodeType
.Sequence)
1105
if (qilName.NodeType ==
QilNodeType
.LiteralString)
1553
else if (result.NodeType ==
QilNodeType
.LiteralString)
1587
else if (lang.NodeType ==
QilNodeType
.LiteralString)
1604
if (result.NodeType ==
QilNodeType
.LiteralString)
1690
if (result.NodeType ==
QilNodeType
.LiteralString)
1810
if (pattern.NodeType ==
QilNodeType
.Error)
1815
else if (pattern.NodeType ==
QilNodeType
.Sequence)
1998
if (result.NodeType ==
QilNodeType
.LiteralString)
2039
else if (result.NodeType ==
QilNodeType
.LiteralString)
2072
else if (result.NodeType ==
QilNodeType
.LiteralString)
2147
if (result.NodeType ==
QilNodeType
.Sequence)
2869
Debug.Assert(let.NodeType ==
QilNodeType
.Let);
System\Xml\Xsl\Xslt\QilGeneratorEnv.cs (7)
89
if (var.NodeType ==
QilNodeType
.Parameter && varType.IsNode && varType.IsNotRtf && varType.MaybeMany && !varType.IsDod)
412
if (name.NodeType ==
QilNodeType
.LiteralString)
572
if (formatName.NodeType ==
QilNodeType
.LiteralString)
602
if (formatPicture.NodeType ==
QilNodeType
.LiteralString)
655
if (name.NodeType ==
QilNodeType
.LiteralString)
683
if (name.NodeType ==
QilNodeType
.LiteralString)
702
if (name.NodeType ==
QilNodeType
.LiteralString)
System\Xml\Xsl\Xslt\QilStrConcatenator.cs (1)
62
if (value.NodeType ==
QilNodeType
.LiteralString)
System\Xml\Xsl\Xslt\XPathPatternBuilder.cs (14)
52
Debug.Assert(filter.NodeType ==
QilNodeType
.Filter, "XPathPatternBuilder expected to generate list of Filters on top level");
54
Debug.Assert(filter.Variable.Binding!.NodeType ==
QilNodeType
.Unknown); // fixupNode
84
Debug.Assert(right.NodeType ==
QilNodeType
.Filter, "LocationPathPattern must be compiled into a filter");
85
if (left.NodeType ==
QilNodeType
.Sequence)
92
Debug.Assert(left.NodeType ==
QilNodeType
.Filter, "LocationPathPattern must be compiled into a filter");
192
if (left.NodeType ==
QilNodeType
.Nop)
200
Debug.Assert(left.NodeType ==
QilNodeType
.Filter);
205
if (right.NodeType ==
QilNodeType
.Nop)
213
Debug.Assert(right.NodeType ==
QilNodeType
.Filter);
298
args.Count == 1 && args[0].NodeType ==
QilNodeType
.LiteralString,
308
args[0].NodeType ==
QilNodeType
.LiteralString && args[1].NodeType ==
QilNodeType
.LiteralString,
355
Debug.Assert(parent.NodeType ==
QilNodeType
.Filter);
377
Debug.Assert(context.Variable.NodeType ==
QilNodeType
.For, "It shouldn't be Let, becaus predicates in PatternBuilder don't produce cached tuples.");