7 types derived from QilNode
System.Private.Xml (7)
System\Xml\Xsl\QIL\QilBinary.cs (1)
16
internal class QilBinary :
QilNode
System\Xml\Xsl\QIL\QilExpression.cs (1)
18
internal sealed class QilExpression :
QilNode
System\Xml\Xsl\QIL\QilList.cs (1)
16
internal sealed class QilList :
QilNode
System\Xml\Xsl\QIL\QilLiteral.cs (1)
16
internal class QilLiteral :
QilNode
System\Xml\Xsl\QIL\QilReference.cs (1)
13
internal class QilReference :
QilNode
System\Xml\Xsl\QIL\QilTernary.cs (1)
16
internal class QilTernary :
QilNode
System\Xml\Xsl\QIL\QilUnary.cs (1)
16
internal sealed class QilUnary :
QilNode
4 instantiations of QilNode
System.Private.Xml (4)
System\Xml\Xsl\QIL\QilFactory.cs (4)
164
QilNode n = new
QilNode
(QilNodeType.Unknown, xmlType);
254
QilNode n = new
QilNode
(QilNodeType.True);
262
QilNode n = new
QilNode
(QilNodeType.False);
712
QilNode n = new
QilNode
(QilNodeType.XmlContext);
2234 references to QilNode
System.Private.Xml (2234)
System\Xml\Xsl\IlGen\OptimizerPatterns.cs (4)
70
public static OptimizerPatterns Read(
QilNode
nd)
131
public static OptimizerPatterns Write(
QilNode
nd)
158
public static void Inherit(
QilNode
ndSrc,
QilNode
ndDst, OptimizerPatternName pattern)
System\Xml\Xsl\IlGen\StaticDataManager.cs (1)
109
public int DeclarePrefixMappings(IList<
QilNode
> list)
System\Xml\Xsl\IlGen\TailCallAnalyzer.cs (1)
34
private static void AnalyzeDefinition(
QilNode
nd)
System\Xml\Xsl\IlGen\XmlILAnnotation.cs (1)
30
public static XmlILAnnotation Write(
QilNode
nd)
System\Xml\Xsl\IlGen\XmlILConstructAnalyzer.cs (16)
65
public static XmlILConstructInfo Read(
QilNode
nd)
91
public static XmlILConstructInfo Write(
QilNode
nd)
433
public virtual
QilNode
? Analyze(
QilNode
? ndConstr,
QilNode
? ndContent)
521
protected virtual
QilNode
AnalyzeContent(
QilNode
nd)
524
QilNode
ndChild;
680
protected virtual void AnalyzeCopy(
QilNode
ndCopy, XmlILConstructInfo info)
799
public override
QilNode
? Analyze(
QilNode
? ndElem,
QilNode
? ndContent)
834
protected override void AnalyzeCopy(
QilNode
ndCopy, XmlILConstructInfo info)
945
public void Analyze(
QilNode
nd, bool defaultNmspInScope)
967
private void AnalyzeContent(
QilNode
nd)
979
foreach (
QilNode
ndContent in nd)
System\Xml\Xsl\IlGen\XmlILOptimizerVisitor.cs (625)
90
protected override
QilNode
Visit(
QilNode
nd)
124
protected override
QilNode
VisitReference(
QilNode
oldNode)
126
QilNode
? newNode = _subs.FindReplacement(oldNode) ?? oldNode;
134
QilNode
binding = ((QilIterator)oldNode).Binding!;
152
private bool AllowReplace(XmlILOptimization pattern,
QilNode
original)
160
private
QilNode
Replace(XmlILOptimization pattern,
QilNode
original,
QilNode
replacement)
169
protected override
QilNode
? NoReplace(
QilNode
? node)
218
protected override void RecalculateType(
QilNode
node, XmlQueryType oldType)
229
protected override
QilNode
VisitQilExpression(QilExpression local0)
267
protected override
QilNode
VisitOptimizeBarrier(QilUnary local0)
269
QilNode
local1 = local0[0];
275
OptimizerPatterns.Inherit((
QilNode
)(local1), (
QilNode
)(local0), OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Inherit((
QilNode
)(local1), (
QilNode
)(local0), OptimizerPatternName.SameDepth);
284
protected override
QilNode
VisitDataSource(QilDataSource local0)
286
QilNode
local1 = local0[0];
287
QilNode
local2 = local0[1];
313
protected override
QilNode
VisitNop(QilUnary local0)
315
QilNode
local1 = local0[0];
327
protected override
QilNode
VisitError(QilUnary local0)
329
QilNode
local1 = local0[0];
344
protected override
QilNode
VisitWarning(QilUnary local0)
346
QilNode
local1 = local0[0];
364
protected override
QilNode
VisitLet(QilIterator local0)
366
QilNode
local1 = local0[0];
381
OptimizerPatterns.Inherit((
QilNode
)(local1), (
QilNode
)(local0), OptimizerPatternName.Step); OptimizerPatterns.Inherit((
QilNode
)(local1), (
QilNode
)(local0), OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Inherit((
QilNode
)(local1), (
QilNode
)(local0), OptimizerPatternName.SameDepth);
387
protected override
QilNode
VisitPositionOf(QilUnary local0)
389
QilNode
local1 = local0[0];
405
QilNode
local2 = local1[0];
421
OptimizerPatterns.Write((
QilNode
)(local1)).AddPattern(OptimizerPatternName.IsPositional);
433
protected override
QilNode
VisitAnd(QilBinary local0)
435
QilNode
local1 = local0[0];
436
QilNode
local2 = local0[1];
506
protected override
QilNode
VisitOr(QilBinary local0)
508
QilNode
local1 = local0[0];
509
QilNode
local2 = local0[1];
579
protected override
QilNode
VisitNot(QilUnary local0)
581
QilNode
local1 = local0[0];
621
protected override
QilNode
VisitConditional(QilTernary local0)
623
QilNode
local1 = local0[0];
624
QilNode
local2 = local0[1];
625
QilNode
local3 = local0[2];
691
QilNode
local4 = local1[0];
703
QilNode
local4 = local2[0];
706
QilNode
local5 = local3[0];
718
protected override
QilNode
VisitChoice(QilChoice local0)
734
protected override
QilNode
VisitLength(QilUnary local0)
736
QilNode
local1 = local0[0];
787
protected override
QilNode
VisitSequence(QilList local0)
794
return Replace(XmlILOptimization.EliminateSequence, local0, (
QilNode
)(local0)[0]);
802
QilNode
local1 = VisitSequence(f.Sequence());
803
foreach (
QilNode
nd in local0)
806
local1.Add((IList<
QilNode
>)nd);
819
protected override
QilNode
VisitUnion(QilBinary local0)
821
QilNode
local1 = local0[0];
822
QilNode
local2 = local0[1];
914
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct);
921
if (((IsStepPattern(local2, QilNodeType.Content)) || (IsStepPattern(local2, QilNodeType.Union))) && ((OptimizerPatterns.Read((
QilNode
)(local1)).GetArgument(OptimizerPatternArgument.StepInput)) == (OptimizerPatterns.Read((
QilNode
)(local2)).GetArgument(OptimizerPatternArgument.StepInput))))
926
AddStepPattern((
QilNode
)(local0), (
QilNode
)(OptimizerPatterns.Read((
QilNode
)(local1)).GetArgument(OptimizerPatternArgument.StepInput))); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.SameDepth);
934
protected override
QilNode
VisitIntersection(QilBinary local0)
936
QilNode
local1 = local0[0];
937
QilNode
local2 = local0[1];
1029
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct);
1035
protected override
QilNode
VisitDifference(QilBinary local0)
1037
QilNode
local1 = local0[0];
1038
QilNode
local2 = local0[1];
1130
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct);
1136
protected override
QilNode
VisitAverage(QilUnary local0)
1138
QilNode
local1 = local0[0];
1164
protected override
QilNode
VisitSum(QilUnary local0)
1166
QilNode
local1 = local0[0];
1192
protected override
QilNode
VisitMinimum(QilUnary local0)
1194
QilNode
local1 = local0[0];
1220
protected override
QilNode
VisitMaximum(QilUnary local0)
1222
QilNode
local1 = local0[0];
1251
protected override
QilNode
VisitNegate(QilUnary local0)
1253
QilNode
local1 = local0[0];
1316
protected override
QilNode
VisitAdd(QilBinary local0)
1318
QilNode
local1 = local0[0];
1319
QilNode
local2 = local0[1];
1373
protected override
QilNode
VisitSubtract(QilBinary local0)
1375
QilNode
local1 = local0[0];
1376
QilNode
local2 = local0[1];
1416
protected override
QilNode
VisitMultiply(QilBinary local0)
1418
QilNode
local1 = local0[0];
1419
QilNode
local2 = local0[1];
1473
protected override
QilNode
VisitDivide(QilBinary local0)
1475
QilNode
local1 = local0[0];
1476
QilNode
local2 = local0[1];
1516
protected override
QilNode
VisitModulo(QilBinary local0)
1518
QilNode
local1 = local0[0];
1519
QilNode
local2 = local0[1];
1562
protected override
QilNode
VisitStrLength(QilUnary local0)
1564
QilNode
local1 = local0[0];
1591
protected override
QilNode
VisitStrConcat(QilStrConcat local0)
1593
QilNode
local1 = local0[0];
1594
QilNode
local2 = local0[1];
1652
protected override
QilNode
VisitStrParseQName(QilBinary local0)
1654
QilNode
local1 = local0[0];
1655
QilNode
local2 = local0[1];
1684
protected override
QilNode
VisitNe(QilBinary local0)
1686
QilNode
local1 = local0[0];
1687
QilNode
local2 = local0[1];
1742
QilNode
local3 = local1[0];
1743
QilNode
local4 = local1[1];
1765
QilNode
local3 = local1[0];
1770
QilNode
local4 = local2[0];
1787
QilNode
local3 = local1[0];
1812
OptimizerPatterns.Write((
QilNode
)(local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
)(local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local4);
1820
protected override
QilNode
VisitEq(QilBinary local0)
1822
QilNode
local1 = local0[0];
1823
QilNode
local2 = local0[1];
1878
QilNode
local3 = local1[0];
1879
QilNode
local4 = local1[1];
1901
QilNode
local3 = local1[0];
1902
QilNode
local4 = local1[1];
1920
QilNode
local3 = local1[0];
1925
QilNode
local4 = local2[0];
1942
QilNode
local3 = local1[0];
1947
QilNode
local5 = local2[1];
1950
QilNode
local6 = local5[0];
1951
QilNode
local8 = local5[1];
1954
QilNode
local7 = local6[0];
1959
QilNode
local9 = local8[0];
1965
QilNode
local10 = VisitFor(f.For(local7));
1981
QilNode
local4 = local1[1];
1984
QilNode
local5 = local4[0];
1985
QilNode
local7 = local4[1];
1988
QilNode
local6 = local5[0];
1993
QilNode
local8 = local7[0];
1998
QilNode
local9 = local2[0];
2004
QilNode
local10 = VisitFor(f.For(local6));
2020
QilNode
local3 = local1[0];
2023
QilNode
local4 = local3[0];
2024
QilNode
local5 = local3[1];
2035
QilNode
local7 = VisitFor(f.For(local5));
2048
QilNode
local3 = local1[0];
2051
QilNode
local4 = local3[0];
2052
QilNode
local5 = local3[1];
2063
QilNode
local7 = VisitFor(f.For(local4));
2082
OptimizerPatterns.Write((
QilNode
)(local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
)(local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local4);
2090
protected override
QilNode
VisitGt(QilBinary local0)
2092
QilNode
local1 = local0[0];
2093
QilNode
local2 = local0[1];
2148
QilNode
local3 = local1[0];
2149
QilNode
local4 = local1[1];
2171
QilNode
local3 = local1[0];
2196
OptimizerPatterns.Write((
QilNode
)(local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
)(local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local4);
2204
protected override
QilNode
VisitGe(QilBinary local0)
2206
QilNode
local1 = local0[0];
2207
QilNode
local2 = local0[1];
2262
QilNode
local3 = local1[0];
2263
QilNode
local4 = local1[1];
2291
OptimizerPatterns.Write((
QilNode
)(local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
)(local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local4);
2299
protected override
QilNode
VisitLt(QilBinary local0)
2301
QilNode
local1 = local0[0];
2302
QilNode
local2 = local0[1];
2357
QilNode
local3 = local1[0];
2358
QilNode
local4 = local1[1];
2386
OptimizerPatterns.Write((
QilNode
)(local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
)(local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local4);
2394
protected override
QilNode
VisitLe(QilBinary local0)
2396
QilNode
local1 = local0[0];
2397
QilNode
local2 = local0[1];
2452
QilNode
local3 = local1[0];
2453
QilNode
local4 = local1[1];
2481
OptimizerPatterns.Write((
QilNode
)(local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
)(local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local4);
2492
protected override
QilNode
VisitIs(QilBinary local0)
2494
QilNode
local1 = local0[0];
2495
QilNode
local2 = local0[1];
2532
protected override
QilNode
VisitAfter(QilBinary local0)
2534
QilNode
local1 = local0[0];
2535
QilNode
local2 = local0[1];
2572
protected override
QilNode
VisitBefore(QilBinary local0)
2574
QilNode
local1 = local0[0];
2575
QilNode
local2 = local0[1];
2615
protected override
QilNode
VisitLoop(QilLoop local0)
2617
QilNode
local1 = local0[0];
2618
QilNode
local2 = local0[1];
2626
return Replace(XmlILOptimization.FoldNone, local0, VisitNop(f.Nop((
QilNode
)(local1)[0])));
2634
QilNode
local3 = local1[0];
2652
QilNode
local3 = local1[0];
2690
return Replace(XmlILOptimization.EliminateLoop, local0, (
QilNode
)(local1)[0]);
2698
QilNode
local3 = local1[0];
2703
QilNode
local4 = local2[0];
2715
if ((((local1).NodeType == QilNodeType.Let) || ((((
QilNode
)(local1)[0]).XmlType!).IsSingleton)) && (!OptimizerPatterns.Read(local1).MatchesPattern(OptimizerPatternName.MaybeSideEffects)))
2722
return Replace(XmlILOptimization.EliminateIteratorUsedAtMostOnce, local0, Subs(local2, local1, (
QilNode
)(local1)[0]));
2731
QilNode
local3 = local2[0];
2732
QilNode
local4 = local2[1];
2733
QilNode
local5 = local2[2];
2754
QilNode
local3 = local2[0];
2755
QilNode
local4 = local2[1];
2756
QilNode
local5 = local2[2];
2779
QilNode
local4 = local2[0];
2780
QilNode
local5 = local2[1];
2781
QilNode
local6 = local2[2];
2791
QilNode
local7 = VisitFor(f.For(VisitFilter(f.Filter(local1, VisitNot(f.Not(local4))))));
2806
QilNode
local4 = local2[0];
2807
QilNode
local5 = local2[1];
2808
QilNode
local6 = local2[2];
2818
QilNode
local7 = VisitFor(f.For(VisitFilter(f.Filter(local1, local4))));
2831
QilNode
local3 = local2[0];
2832
QilNode
local5 = local2[1];
2835
QilNode
local4 = local3[0];
2841
QilNode
local6 = VisitFor(f.For(VisitLoop(f.Loop(local1, local4))));
2852
QilNode
local3 = local1[0];
2858
OptimizerPatterns.Inherit((
QilNode
)(local2), (
QilNode
)(local0), OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Inherit((
QilNode
)(local2), (
QilNode
)(local0), OptimizerPatternName.SameDepth);
2870
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.SameDepth);
2878
QilNode
local3 = local1[0];
2879
if (OptimizerPatterns.Read((
QilNode
)(local3)).MatchesPattern(OptimizerPatternName.SameDepth))
2881
if (((IsStepPattern(local2, QilNodeType.Content)) || (IsStepPattern(local2, QilNodeType.Union))) && ((local1) == (OptimizerPatterns.Read((
QilNode
)(local2)).GetArgument(OptimizerPatternArgument.StepInput))))
2886
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.SameDepth); OptimizerPatterns.Inherit((
QilNode
)(local3), (
QilNode
)(local0), OptimizerPatternName.IsDocOrderDistinct);
2896
QilNode
local3 = local1[0];
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))))
2902
OptimizerPatterns.Inherit((
QilNode
)(local3), (
QilNode
)(local0), OptimizerPatternName.SameDepth); OptimizerPatterns.Inherit((
QilNode
)(local3), (
QilNode
)(local0), OptimizerPatternName.IsDocOrderDistinct);
2911
QilNode
local3 = local1[0];
2912
if (OptimizerPatterns.Read((
QilNode
)(local3)).MatchesPattern(OptimizerPatternName.SameDepth))
2914
if (((IsStepPattern(local2, QilNodeType.Descendant)) || (IsStepPattern(local2, QilNodeType.DescendantOrSelf))) && ((local1) == (OptimizerPatterns.Read((
QilNode
)(local2)).GetArgument(OptimizerPatternArgument.StepInput))))
2919
OptimizerPatterns.Inherit((
QilNode
)(local3), (
QilNode
)(local0), OptimizerPatternName.IsDocOrderDistinct);
2928
protected override
QilNode
VisitFilter(QilLoop local0)
2930
QilNode
local1 = local0[0];
2931
QilNode
local2 = local0[1];
2939
return Replace(XmlILOptimization.FoldNone, local0, VisitNop(f.Nop((
QilNode
)(local1)[0])));
2975
return Replace(XmlILOptimization.EliminateFilter, local0, (
QilNode
)(local1)[0]);
2983
QilNode
local3 = local1[0];
2986
QilNode
local4 = local3[0];
2989
QilNode
local5 = local2[0];
2990
QilNode
local9 = local2[1];
2993
QilNode
local6 = local5[0];
2994
QilNode
local7 = local5[1];
3004
QilNode
local10 = local9[0];
3005
QilNode
local12 = local9[1];
3008
QilNode
local11 = local10[0];
3034
QilNode
local3 = local1[0];
3037
QilNode
local4 = local3[0];
3038
QilNode
local5 = local3[1];
3044
QilNode
local6 = VisitFor(f.For(local5));
3053
if ((!OptimizerPatterns.Read(local1).MatchesPattern(OptimizerPatternName.MaybeSideEffects)) && (!(((
QilNode
)(local1)[0]).NodeType == QilNodeType.OptimizeBarrier)))
3060
return Replace(XmlILOptimization.NormalizeLoopInvariant, local0, VisitConditional(f.Conditional(local2, (
QilNode
)(local1)[0], VisitSequence(f.Sequence()))));
3069
QilNode
local3 = local2[0];
3070
QilNode
local5 = local2[1];
3073
QilNode
local4 = local3[0];
3082
OptimizerPatterns.Write((
QilNode
)(local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
)(local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local6);
3093
QilNode
local3 = local2[0];
3094
QilNode
local5 = local2[1];
3097
QilNode
local4 = local3[0];
3106
OptimizerPatterns.Write((
QilNode
)(local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
)(local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local6);
3117
QilNode
local3 = local2[0];
3118
QilNode
local5 = local2[1];
3121
QilNode
local4 = local3[0];
3130
OptimizerPatterns.Write((
QilNode
)(local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
)(local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local6 - 1);
3141
QilNode
local3 = local1[0];
3145
OptimizerPatterns.Inherit((
QilNode
)(local3), (
QilNode
)(local0), OptimizerPatternName.Step); OptimizerPatterns.Inherit((
QilNode
)(local3), (
QilNode
)(local0), OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Inherit((
QilNode
)(local3), (
QilNode
)(local0), OptimizerPatternName.SameDepth);
3153
QilNode
local3 = local1[0];
3154
if (OptimizerPatterns.Read((
QilNode
)(local3)).MatchesPattern(OptimizerPatternName.Axis))
3158
QilNode
local4 = local2[0];
3159
QilNode
local8 = local2[1];
3162
QilNode
local5 = local4[0];
3163
QilNode
local6 = local4[1];
3173
QilNode
local9 = local8[0];
3174
QilNode
local11 = local8[1];
3177
QilNode
local10 = local9[0];
3185
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.FilterElements); OptimizerPatterns.Write((
QilNode
)(local0)).AddArgument(OptimizerPatternArgument.ElementQName, local11);
3203
QilNode
local3 = local1[0];
3204
if (OptimizerPatterns.Read((
QilNode
)(local3)).MatchesPattern(OptimizerPatternName.Axis))
3208
QilNode
local4 = local2[0];
3209
QilNode
local5 = local2[1];
3220
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.FilterContentKind); OptimizerPatterns.Write((
QilNode
)(local0)).AddArgument(OptimizerPatternArgument.KindTestType, local6);
3233
QilNode
local3 = local1[0];
3238
QilNode
local5 = local2[0];
3239
QilNode
local6 = local2[1];
3250
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.FilterAttributeKind);
3265
protected override
QilNode
VisitSort(QilLoop local0)
3267
QilNode
local1 = local0[0];
3275
return Replace(XmlILOptimization.FoldNone, local0, VisitNop(f.Nop((
QilNode
)(local1)[0])));
3283
QilNode
local3 = local1[0];
3297
protected override
QilNode
VisitSortKey(QilSortKey local0)
3299
QilNode
local1 = local0[0];
3300
QilNode
local2 = local0[1];
3305
QilNode
local3 = local1[0];
3306
QilNode
local4 = local1[1];
3324
protected override
QilNode
VisitDocOrderDistinct(QilUnary local0)
3326
QilNode
local1 = local0[0];
3353
QilNode
local2 = local1[0];
3354
QilNode
local7 = local1[1];
3357
QilNode
local3 = local2[0];
3360
QilNode
local4 = local3[0];
3361
QilNode
local5 = local3[1];
3364
QilNode
local6 = local5[0];
3367
QilNode
local8 = local7[0];
3368
QilNode
local9 = local7[1];
3369
if (((OptimizerPatterns.Read((
QilNode
)(local7)).MatchesPattern(OptimizerPatternName.FilterElements)) || (OptimizerPatterns.Read((
QilNode
)(local7)).MatchesPattern(OptimizerPatternName.FilterContentKind))) && (IsStepPattern(local7, QilNodeType.Content)))
3374
QilNode
local10 = VisitFor(f.For(VisitDescendant(f.Descendant(local6))));
3388
QilNode
local2 = local1[0];
3389
QilNode
local5 = local1[1];
3392
QilNode
local3 = local2[0];
3395
QilNode
local4 = local3[0];
3398
QilNode
local6 = local5[0];
3399
QilNode
local7 = local5[1];
3400
if (((OptimizerPatterns.Read((
QilNode
)(local5)).MatchesPattern(OptimizerPatternName.FilterElements)) || (OptimizerPatterns.Read((
QilNode
)(local5)).MatchesPattern(OptimizerPatternName.FilterContentKind))) && (IsStepPattern(local5, QilNodeType.Content)))
3405
QilNode
local8 = VisitFor(f.For(VisitDescendant(f.Descendant(local4))));
3418
QilNode
local2 = local1[0];
3419
QilNode
local4 = local1[1];
3422
QilNode
local3 = local2[0];
3425
if (((!(OptimizerPatterns.Read((
QilNode
)(local1)).MatchesPattern(OptimizerPatternName.FilterElements))) && (!(OptimizerPatterns.Read((
QilNode
)(local1)).MatchesPattern(OptimizerPatternName.FilterContentKind)))) && (!(OptimizerPatterns.Read((
QilNode
)(local1)).MatchesPattern(OptimizerPatternName.FilterAttributeKind))))
3430
QilNode
local5 = VisitFor(f.For(VisitDocOrderDistinct(f.DocOrderDistinct(local3))));
3442
QilNode
local2 = local1[0];
3443
QilNode
local3 = local1[1];
3446
QilNode
local4 = local3[0];
3447
QilNode
local6 = local3[1];
3450
QilNode
local5 = local4[0];
3455
if (((!(OptimizerPatterns.Read((
QilNode
)(local3)).MatchesPattern(OptimizerPatternName.FilterElements))) && (!(OptimizerPatterns.Read((
QilNode
)(local3)).MatchesPattern(OptimizerPatternName.FilterContentKind)))) && (!(OptimizerPatterns.Read((
QilNode
)(local3)).MatchesPattern(OptimizerPatternName.FilterAttributeKind))))
3460
QilNode
local7 = VisitFor(f.For(VisitDocOrderDistinct(f.DocOrderDistinct(VisitLoop(f.Loop(local2, local5))))));
3474
QilNode
local2 = local1[0];
3475
QilNode
local4 = local1[1];
3478
QilNode
local3 = local2[0];
3483
if (((!(OptimizerPatterns.Read((
QilNode
)(local1)).MatchesPattern(OptimizerPatternName.FilterElements))) && (!(OptimizerPatterns.Read((
QilNode
)(local1)).MatchesPattern(OptimizerPatternName.FilterContentKind)))) && (!(OptimizerPatterns.Read((
QilNode
)(local1)).MatchesPattern(OptimizerPatternName.FilterAttributeKind))))
3488
QilNode
local5 = VisitFor(f.For(VisitDocOrderDistinct(f.DocOrderDistinct(local3))));
3501
QilNode
local2 = local1[0];
3502
QilNode
local3 = local1[1];
3517
QilNode
local2 = local1[0];
3518
QilNode
local3 = local1[1];
3521
QilNode
local4 = local3[0];
3538
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Inherit((
QilNode
)(local1), (
QilNode
)(local0), OptimizerPatternName.SameDepth);
3548
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.DodReverse); OptimizerPatterns.Write((
QilNode
)(local0)).AddArgument(OptimizerPatternArgument.DodStep, local1);
3556
QilNode
local2 = local1[0];
3557
QilNode
local4 = local1[1];
3560
QilNode
local3 = local2[0];
3563
if ((AllowJoinAndDod(local4)) && ((local2) == (OptimizerPatterns.Read((
QilNode
)(local4)).GetArgument(OptimizerPatternArgument.StepInput))))
3568
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.JoinAndDod); OptimizerPatterns.Write((
QilNode
)(local0)).AddArgument(OptimizerPatternArgument.DodStep, local4);
3579
QilNode
local3 = local1[1];
3587
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.DodMerge);
3599
protected override
QilNode
VisitFunction(QilFunction local0)
3601
QilNode
local1 = local0[0];
3602
QilNode
local2 = local0[1];
3605
if (((local1.Count == 2) && (((
QilNode
)(local1)[0]).XmlType!.IsSubtypeOf(XmlQueryTypeFactory.Node))) && ((((
QilNode
)(local1)[1]).XmlType) == (XmlQueryTypeFactory.StringX)))
3609
QilNode
local5 = local2[0];
3610
QilNode
local7 = local2[1];
3613
QilNode
local6 = local5[0];
3616
QilNode
local8 = local7[0];
3619
QilNode
local9 = local8[0];
3622
QilNode
local10 = local9[0];
3623
QilNode
local12 = local9[1];
3626
QilNode
local11 = local10[0];
3629
QilNode
local13 = local12[0];
3630
QilNode
local14 = local12[1];
3635
if ((local14) == ((
QilNode
)(local1)[1]))
3676
if (((local1.Count == 2) && ((((
QilNode
)(local1)[0]).XmlType) == (XmlQueryTypeFactory.Node))) && ((((
QilNode
)(local1)[1]).XmlType) == (XmlQueryTypeFactory.StringX)))
3680
QilNode
local5 = local2[0];
3681
QilNode
local7 = local2[1];
3684
QilNode
local6 = local5[0];
3687
QilNode
local8 = local7[0];
3688
QilNode
local9 = local7[1];
3691
if ((local9) == ((
QilNode
)(local1)[1]))
3721
protected override
QilNode
VisitInvoke(QilInvoke local0)
3723
QilNode
local1 = local0[0];
3728
QilNode
local4 = local1[1];
3754
QilNode
local4 = local1[1];
3758
OptimizerPatterns.Inherit((
QilNode
)(local4), (
QilNode
)(local0), OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Inherit((
QilNode
)(local4), (
QilNode
)(local0), OptimizerPatternName.SameDepth);
3768
protected override
QilNode
VisitContent(QilUnary local0)
3770
QilNode
local1 = local0[0];
3787
AddStepPattern((
QilNode
)(local0), (
QilNode
)(local1)); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.Axis); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.SameDepth);
3793
protected override
QilNode
VisitAttribute(QilBinary local0)
3795
QilNode
local1 = local0[0];
3796
QilNode
local2 = local0[1];
3824
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
)(local0), (
QilNode
)(local1)); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.SameDepth);
3830
protected override
QilNode
VisitParent(QilUnary local0)
3832
QilNode
local1 = local0[0];
3849
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
)(local0), (
QilNode
)(local1)); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.SameDepth);
3855
protected override
QilNode
VisitRoot(QilUnary local0)
3857
QilNode
local1 = local0[0];
3874
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
)(local0), (
QilNode
)(local1)); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.SameDepth);
3880
protected override
QilNode
VisitDescendant(QilUnary local0)
3882
QilNode
local1 = local0[0];
3899
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
)(local0), (
QilNode
)(local1)); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct);
3905
protected override
QilNode
VisitDescendantOrSelf(QilUnary local0)
3907
QilNode
local1 = local0[0];
3924
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
)(local0), (
QilNode
)(local1)); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct);
3930
protected override
QilNode
VisitAncestor(QilUnary local0)
3932
QilNode
local1 = local0[0];
3949
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
)(local0), (
QilNode
)(local1));
3955
protected override
QilNode
VisitAncestorOrSelf(QilUnary local0)
3957
QilNode
local1 = local0[0];
3974
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
)(local0), (
QilNode
)(local1));
3980
protected override
QilNode
VisitPreceding(QilUnary local0)
3982
QilNode
local1 = local0[0];
3999
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
)(local0), (
QilNode
)(local1));
4005
protected override
QilNode
VisitFollowingSibling(QilUnary local0)
4007
QilNode
local1 = local0[0];
4024
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
)(local0), (
QilNode
)(local1)); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.SameDepth);
4030
protected override
QilNode
VisitPrecedingSibling(QilUnary local0)
4032
QilNode
local1 = local0[0];
4049
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
)(local0), (
QilNode
)(local1)); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.SameDepth);
4055
protected override
QilNode
VisitNodeRange(QilBinary local0)
4057
QilNode
local1 = local0[0];
4058
QilNode
local2 = local0[1];
4086
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
)(local0), (
QilNode
)(local1)); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct);
4092
protected override
QilNode
VisitDeref(QilBinary local0)
4094
QilNode
local1 = local0[0];
4095
QilNode
local2 = local0[1];
4124
protected override
QilNode
VisitElementCtor(QilBinary local0)
4126
QilNode
local1 = local0[0];
4127
QilNode
local2 = local0[1];
4163
protected override
QilNode
VisitAttributeCtor(QilBinary local0)
4165
QilNode
local1 = local0[0];
4166
QilNode
local2 = local0[1];
4200
protected override
QilNode
VisitCommentCtor(QilUnary local0)
4202
QilNode
local1 = local0[0];
4225
protected override
QilNode
VisitPICtor(QilBinary local0)
4227
QilNode
local1 = local0[0];
4228
QilNode
local2 = local0[1];
4262
protected override
QilNode
VisitTextCtor(QilUnary local0)
4264
QilNode
local1 = local0[0];
4287
protected override
QilNode
VisitRawTextCtor(QilUnary local0)
4289
QilNode
local1 = local0[0];
4312
protected override
QilNode
VisitDocumentCtor(QilUnary local0)
4314
QilNode
local1 = local0[0];
4337
protected override
QilNode
VisitNamespaceDecl(QilBinary local0)
4339
QilNode
local1 = local0[0];
4340
QilNode
local2 = local0[1];
4382
protected override
QilNode
VisitRtfCtor(QilBinary local0)
4384
QilNode
local1 = local0[0];
4408
QilNode
local3 = local1[0];
4412
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.SingleTextRtf); OptimizerPatterns.Write((
QilNode
)(local0)).AddArgument(OptimizerPatternArgument.RtfText, local3);
4424
protected override
QilNode
VisitNameOf(QilUnary local0)
4426
QilNode
local1 = local0[0];
4441
protected override
QilNode
VisitLocalNameOf(QilUnary local0)
4443
QilNode
local1 = local0[0];
4458
protected override
QilNode
VisitNamespaceUriOf(QilUnary local0)
4460
QilNode
local1 = local0[0];
4475
protected override
QilNode
VisitPrefixOf(QilUnary local0)
4477
QilNode
local1 = local0[0];
4495
protected override
QilNode
VisitTypeAssert(QilTargetType local0)
4497
QilNode
local1 = local0[0];
4498
QilNode
local2 = local0[1];
4558
protected override
QilNode
VisitIsType(QilTargetType local0)
4560
QilNode
local1 = local0[0];
4561
QilNode
local2 = local0[1];
4663
protected override
QilNode
VisitIsEmpty(QilUnary local0)
4665
QilNode
local1 = local0[0];
4719
protected override
QilNode
VisitXPathNodeValue(QilUnary local0)
4721
QilNode
local1 = local0[0];
4736
protected override
QilNode
VisitXPathFollowing(QilUnary local0)
4738
QilNode
local1 = local0[0];
4755
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
)(local0), (
QilNode
)(local1)); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct);
4761
protected override
QilNode
VisitXPathPreceding(QilUnary local0)
4763
QilNode
local1 = local0[0];
4780
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
)(local0), (
QilNode
)(local1));
4786
protected override
QilNode
VisitXPathNamespace(QilUnary local0)
4788
QilNode
local1 = local0[0];
4805
OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
)(local0), (
QilNode
)(local1)); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Write((
QilNode
)(local0)).AddPattern(OptimizerPatternName.SameDepth);
4814
protected override
QilNode
VisitXsltGenerateId(QilUnary local0)
4816
QilNode
local1 = local0[0];
4831
protected override
QilNode
VisitXsltCopy(QilBinary local0)
4833
QilNode
local1 = local0[0];
4834
QilNode
local2 = local0[1];
4868
protected override
QilNode
VisitXsltCopyOf(QilUnary local0)
4870
QilNode
local1 = local0[0];
4893
protected override
QilNode
VisitXsltConvert(QilTargetType local0)
4895
QilNode
local1 = local0[0];
4896
QilNode
local2 = local0[1];
4958
private
QilNode
? target;
4964
public int Count(
QilNode
expr,
QilNode
target)
4972
protected override
QilNode
Visit(
QilNode
n)
4983
protected override
QilNode
VisitReference(
QilNode
n)
4995
protected
QilNode
? target, parent;
5000
public bool Find(
QilNode
expr,
QilNode
target)
5012
protected override
QilNode
Visit(
QilNode
expr)
5021
QilNode
? parentOld = this.parent;
5034
protected override
QilNode
VisitReference(
QilNode
expr)
5045
protected virtual bool OnFound(
QilNode
expr)
5056
protected override bool OnFound(
QilNode
expr)
5065
private
QilNode
? ctxt, key;
5072
public bool Scan(
QilNode
expr,
QilNode
ctxt,
QilNode
key)
5084
protected override
QilNode
VisitReference(
QilNode
expr)
5100
protected override
QilNode
VisitRoot(QilUnary root)
5112
private static bool DependsOn(
QilNode
expr,
QilNode
target)
5120
private static bool NonPositional(
QilNode
expr,
QilNode
iter)
5128
private
QilNode
Subs(
QilNode
expr,
QilNode
refOld,
QilNode
refNew)
5130
QilNode
result;
5153
private bool IsGlobalValue(
QilNode
nd)
5197
private bool IsConstructedExpression(
QilNode
nd)
5232
foreach (
QilNode
ndItem in nd)
5256
private static bool IsLiteral(
QilNode
nd)
5276
private static bool AreLiteralArgs(
QilNode
nd)
5278
foreach (
QilNode
child in nd)
5288
private static object ExtractLiteralValue(
QilNode
nd)
5304
private static bool HasNestedSequence(
QilNode
nd)
5306
foreach (
QilNode
child in nd)
5317
private static bool AllowJoinAndDod(
QilNode
nd)
5338
private static bool AllowDodReverse(
QilNode
nd)
5360
private bool CanFoldXsltConvert(
QilNode
ndLiteral, XmlQueryType typTarget)
5370
private bool CanFoldXsltConvertNonLossy(
QilNode
ndLiteral, XmlQueryType typTarget)
5372
QilNode
ndDest;
5393
private
QilNode
FoldXsltConvert(
QilNode
ndLiteral, XmlQueryType typTarget)
5428
private
QilNode
FoldComparison(QilNodeType opType,
QilNode
left,
QilNode
right)
5487
private
QilNode
FoldArithmetic(QilNodeType opType, QilLiteral left, QilLiteral right)
5588
private static void AddStepPattern(
QilNode
nd,
QilNode
input)
5599
private static bool IsDocOrderDistinct(
QilNode
nd)
5607
private static bool IsStepPattern(
QilNode
nd, QilNodeType stepType)
5617
return patt.MatchesPattern(OptimizerPatternName.Step) && ((
QilNode
)patt.GetArgument(OptimizerPatternArgument.StepNode)).NodeType == stepType;
5629
QilNode
nd = globals[oldIdx];
System\Xml\Xsl\IlGen\XmlIlVisitor.cs (158)
295
protected override
QilNode
Visit(
QilNode
nd)
334
protected override
QilNode
VisitChildren(
QilNode
parent)
343
private void NestedConstruction(
QilNode
nd)
359
private void CopySequence(
QilNode
nd)
401
protected override
QilNode
VisitDataSource(QilDataSource ndSrc)
426
protected override
QilNode
VisitNop(QilUnary ndNop)
434
protected override
QilNode
VisitOptimizeBarrier(QilUnary ndBarrier)
442
protected override
QilNode
VisitError(QilUnary ndErr)
466
protected override
QilNode
VisitWarning(QilUnary ndWarning)
489
protected override
QilNode
VisitTrue(
QilNode
ndTrue)
518
protected override
QilNode
VisitFalse(
QilNode
ndFalse)
542
protected override
QilNode
VisitLiteralString(QilLiteral ndStr)
552
protected override
QilNode
VisitLiteralInt32(QilLiteral ndInt)
562
protected override
QilNode
VisitLiteralInt64(QilLiteral ndLong)
572
protected override
QilNode
VisitLiteralDouble(QilLiteral ndDbl)
582
protected override
QilNode
VisitLiteralDecimal(QilLiteral ndDec)
592
protected override
QilNode
VisitLiteralQName(QilName ndQName)
622
protected override
QilNode
VisitAnd(QilBinary ndAnd)
737
protected override
QilNode
VisitOr(QilBinary ndOr)
825
protected override
QilNode
VisitNot(QilUnary ndNot)
866
protected override
QilNode
VisitConditional(QilTernary ndCond)
977
private void ConditionalBranch(
QilNode
ndBranch, Type itemStorageType, LocalBuilder? locResult)
1006
protected override
QilNode
VisitChoice(QilChoice ndChoice)
1008
QilNode
ndBranches;
1069
protected override
QilNode
VisitLength(QilUnary ndSetLen)
1119
protected override
QilNode
VisitSequence(QilList ndSeq)
1124
foreach (
QilNode
nd in ndSeq)
1142
private void VisitEmpty(
QilNode
nd)
1170
foreach (
QilNode
nd in ndSeq)
1250
protected override
QilNode
VisitUnion(QilBinary ndUnion)
1258
protected override
QilNode
VisitIntersection(QilBinary ndInter)
1266
protected override
QilNode
VisitDifference(QilBinary ndDiff)
1346
protected override
QilNode
VisitAverage(QilUnary ndAvg)
1355
protected override
QilNode
VisitSum(QilUnary ndSum)
1364
protected override
QilNode
VisitMinimum(QilUnary ndMin)
1373
protected override
QilNode
VisitMaximum(QilUnary ndMax)
1430
protected override
QilNode
VisitNegate(QilUnary ndNeg)
1441
protected override
QilNode
VisitAdd(QilBinary ndPlus)
1449
protected override
QilNode
VisitSubtract(QilBinary ndMinus)
1457
protected override
QilNode
VisitMultiply(QilBinary ndMul)
1465
protected override
QilNode
VisitDivide(QilBinary ndDiv)
1473
protected override
QilNode
VisitModulo(QilBinary ndMod)
1492
protected override
QilNode
VisitStrLength(QilUnary ndLen)
1503
protected override
QilNode
VisitStrConcat(QilStrConcat ndStrConcat)
1507
QilNode
? delimiter;
1508
QilNode
listStrings;
1523
foreach (
QilNode
ndStr in listStrings)
1537
foreach (
QilNode
ndStr in listStrings)
1561
foreach (
QilNode
ndStr in listStrings)
1581
private void GenerateConcat(
QilNode
ndStr, LocalBuilder locStringConcat)
1608
protected override
QilNode
VisitStrParseQName(QilBinary ndParsedTagName)
1642
_helper.LoadInteger(_helper.StaticData.DeclarePrefixMappings(new
QilNode
[] { ndParsedTagName.Right }));
1655
protected override
QilNode
VisitNe(QilBinary ndNe)
1664
protected override
QilNode
VisitEq(QilBinary ndEq)
1673
protected override
QilNode
VisitGt(QilBinary ndGt)
1682
protected override
QilNode
VisitGe(QilBinary ndGe)
1691
protected override
QilNode
VisitLt(QilBinary ndLt)
1700
protected override
QilNode
VisitLe(QilBinary ndLe)
1780
protected override
QilNode
VisitIs(QilBinary ndIs)
1794
protected override
QilNode
VisitBefore(QilBinary ndBefore)
1803
protected override
QilNode
VisitAfter(QilBinary ndAfter)
1827
protected override
QilNode
VisitFor(QilIterator ndFor)
1848
protected override
QilNode
VisitLet(QilIterator ndLet)
1857
protected override
QilNode
VisitParameter(QilParameter ndParameter)
1866
protected override
QilNode
VisitLoop(QilLoop ndLoop)
1888
protected override
QilNode
VisitFilter(QilLoop ndFilter)
1921
QilNode
input, step;
1941
step = (
QilNode
)patt.GetArgument(OptimizerPatternArgument.StepNode);
1942
input = (
QilNode
)patt.GetArgument(OptimizerPatternArgument.StepInput);
2037
input = (
QilNode
)patt.GetArgument(OptimizerPatternArgument.StepInput);
2047
QilNode
keys = (
QilNode
)patt.GetArgument(OptimizerPatternArgument.KeyExpression);
2244
protected override
QilNode
VisitPositionOf(QilUnary ndPos)
2260
protected override
QilNode
VisitSort(QilLoop ndSort)
2385
protected override
QilNode
VisitDocOrderDistinct(QilUnary ndDod)
2414
QilNode
input, step;
2421
OptimizerPatterns pattStep = OptimizerPatterns.Read((
QilNode
)pattDod.GetArgument(OptimizerPatternArgument.DodStep));
2442
step = (
QilNode
)pattStep.GetArgument(OptimizerPatternArgument.StepNode);
2480
input = (
QilNode
)pattStep.GetArgument(OptimizerPatternArgument.StepInput);
2547
protected override
QilNode
VisitInvoke(QilInvoke ndInvoke)
2560
QilNode
ndActualArg = ndInvoke.Arguments[iArg];
2561
QilNode
ndFormalArg = ndInvoke.Function.Arguments[iArg];
2588
protected override
QilNode
VisitContent(QilUnary ndContent)
2597
protected override
QilNode
VisitAttribute(QilBinary ndAttr)
2622
protected override
QilNode
VisitParent(QilUnary ndParent)
2642
protected override
QilNode
VisitRoot(QilUnary ndRoot)
2664
protected override
QilNode
VisitXmlContext(
QilNode
ndCtxt)
2676
protected override
QilNode
VisitDescendant(QilUnary ndDesc)
2686
protected override
QilNode
VisitDescendantOrSelf(QilUnary ndDesc)
2696
protected override
QilNode
VisitAncestor(QilUnary ndAnc)
2706
protected override
QilNode
VisitAncestorOrSelf(QilUnary ndAnc)
2716
protected override
QilNode
VisitPreceding(QilUnary ndPrec)
2726
protected override
QilNode
VisitFollowingSibling(QilUnary ndFollSib)
2736
protected override
QilNode
VisitPrecedingSibling(QilUnary ndPreSib)
2746
protected override
QilNode
VisitNodeRange(QilBinary ndRange)
2756
protected override
QilNode
VisitDeref(QilBinary ndDeref)
2775
protected override
QilNode
VisitElementCtor(QilBinary ndElem)
2825
protected override
QilNode
VisitAttributeCtor(QilBinary ndAttr)
2862
protected override
QilNode
VisitCommentCtor(QilUnary ndComment)
2882
protected override
QilNode
VisitPICtor(QilBinary ndPI)
2904
protected override
QilNode
VisitTextCtor(QilUnary ndText)
2912
protected override
QilNode
VisitRawTextCtor(QilUnary ndText)
2982
protected override
QilNode
VisitDocumentCtor(QilUnary ndDoc)
3003
protected override
QilNode
VisitNamespaceDecl(QilBinary ndNmsp)
3038
protected override
QilNode
VisitRtfCtor(QilBinary ndRtf)
3047
NestedVisitEnsureStack((
QilNode
)patt.GetArgument(OptimizerPatternArgument.RtfText));
3070
protected override
QilNode
VisitNameOf(QilUnary ndName)
3078
protected override
QilNode
VisitLocalNameOf(QilUnary ndName)
3086
protected override
QilNode
VisitNamespaceUriOf(QilUnary ndName)
3094
protected override
QilNode
VisitPrefixOf(QilUnary ndName)
3147
protected override
QilNode
VisitTypeAssert(QilTargetType ndTypeAssert)
3174
protected override
QilNode
VisitIsType(QilTargetType ndIsType)
3351
protected override
QilNode
VisitIsEmpty(QilUnary ndIsEmpty)
3436
protected override
QilNode
VisitXPathNodeValue(QilUnary ndVal)
3481
protected override
QilNode
VisitXPathFollowing(QilUnary ndFoll)
3491
protected override
QilNode
VisitXPathPreceding(QilUnary ndPrec)
3501
protected override
QilNode
VisitXPathNamespace(QilUnary ndNmsp)
3510
protected override
QilNode
VisitXsltGenerateId(QilUnary ndGenId)
3558
protected override
QilNode
VisitXsltInvokeLateBound(QilInvokeLateBound ndInvoke)
3576
QilNode
ndArg = ndInvoke.Arguments[iArg];
3607
protected override
QilNode
VisitXsltInvokeEarlyBound(QilInvokeEarlyBound ndInvoke)
3639
QilNode
ndActualArg;
3742
protected override
QilNode
VisitXsltCopy(QilBinary ndCopy)
3777
protected override
QilNode
VisitXsltCopyOf(QilUnary ndCopyOf)
3794
protected override
QilNode
VisitXsltConvert(QilTargetType ndConv)
3904
private void SyncToNavigator(LocalBuilder locNav,
QilNode
ndCtxt)
3922
private void CreateSimpleIterator(
QilNode
ndCtxt, string iterName, Type iterType, MethodInfo methCreate, MethodInfo methNext, MethodInfo methCurrent)
3945
private void CreateFilteredIterator(
QilNode
ndCtxt, string iterName, Type iterType, MethodInfo methCreate, MethodInfo methNext, MethodInfo methCurrent,
3946
XmlNodeKindFlags kinds, QilName? ndName, TriState orSelf,
QilNode
? ndEnd)
4049
private void GenerateContainerIterator(
QilNode
nd, LocalBuilder locIter, Label lblOnEndNested,
4100
private GenerateNameType LoadNameAndType(XPathNodeType nodeType,
QilNode
ndName, bool isStart, bool callChk)
4199
private bool TryZeroCompare(QilNodeType relOp,
QilNode
ndFirst,
QilNode
ndSecond)
4238
private bool TryNameCompare(QilNodeType relOp,
QilNode
ndFirst,
QilNode
ndSecond)
4419
private void StartWriterLoop(
QilNode
nd, out bool hasOnEnd, out Label lblOnEnd)
4444
private void EndWriterLoop(
QilNode
nd, bool hasOnEnd, Label lblOnEnd)
4498
private void BeforeStartChecks(
QilNode
ndCtor)
4529
private void AfterEndChecks(
QilNode
ndCtor)
4692
private void EndNestedIterator(
QilNode
nd)
4732
private void NestedVisit(
QilNode
nd, Type itemStorageType, bool isCached)
4761
private void NestedVisit(
QilNode
nd)
4770
private void NestedVisit(
QilNode
nd, Label lblOnEnd)
4784
private void NestedVisitEnsureStack(
QilNode
nd)
4794
private void NestedVisitEnsureStack(
QilNode
ndLeft,
QilNode
ndRight)
4803
private void NestedVisitEnsureStack(
QilNode
nd, Type itemStorageType, bool isCached)
4813
private void NestedVisitEnsureLocal(
QilNode
nd, LocalBuilder loc)
4823
private void NestedVisitWithBranch(
QilNode
nd, BranchingContext brctxt, Label lblBranch)
4837
private void NestedVisitEnsureCache(
QilNode
nd, Type itemStorageType)
4923
private static bool CachesResult(
QilNode
nd)
4961
private static Type GetStorageType(
QilNode
nd)
4977
private static Type GetItemStorageType(
QilNode
nd)
System\Xml\Xsl\QIL\QilBinary.cs (6)
18
private
QilNode
_left, _right;
28
public QilBinary(QilNodeType nodeType,
QilNode
left,
QilNode
right) : base(nodeType)
44
public override
QilNode
this[int index]
71
public
QilNode
Left
77
public
QilNode
Right
System\Xml\Xsl\QIL\QilChoice.cs (3)
27
public QilChoice(QilNodeType nodeType,
QilNode
expression,
QilNode
branches) : base(nodeType, expression, branches)
36
public
QilNode
Expression
System\Xml\Xsl\QIL\QilCloneVisitor.cs (15)
39
public
QilNode
Clone(
QilNode
node)
54
protected override
QilNode
Visit(
QilNode
oldNode)
56
QilNode
? newNode = null;
76
protected override
QilNode
VisitChildren(
QilNode
parent)
81
QilNode
child = parent[i];
105
protected override
QilNode
VisitReference(
QilNode
oldNode)
107
QilNode
? newNode = FindClonedReference(oldNode);
119
protected override void BeginScope(
QilNode
node)
127
protected override void EndScope(
QilNode
node)
140
protected
QilNode
? FindClonedReference(
QilNode
node)
System\Xml\Xsl\QIL\QilDataSource.cs (4)
26
public QilDataSource(QilNodeType nodeType,
QilNode
name,
QilNode
baseUri) : base(nodeType, name, baseUri)
35
public
QilNode
Name
41
public
QilNode
BaseUri
System\Xml\Xsl\QIL\QilExpression.cs (11)
21
private
QilNode
_isDebug;
22
private
QilNode
_defWSet;
23
private
QilNode
_wsRules;
24
private
QilNode
_gloVars;
25
private
QilNode
_gloParams;
26
private
QilNode
_earlBnd;
27
private
QilNode
_funList;
28
private
QilNode
_rootNod;
33
public QilExpression(QilNodeType nodeType,
QilNode
root, QilFactory factory) : base(nodeType)
60
public override
QilNode
this[int index]
178
public
QilNode
Root
System\Xml\Xsl\QIL\QilFactory.cs (152)
24
public QilExpression QilExpression(
QilNode
root, QilFactory factory)
32
public QilList ActualParameterList(IList<
QilNode
> values)
39
public QilList FormalParameterList(IList<
QilNode
> values)
46
public QilList BranchList(IList<
QilNode
> values)
53
public QilList Sequence(IList<
QilNode
> values)
65
public QilStrConcat StrConcat(
QilNode
values)
75
public QilTargetType TypeAssert(
QilNode
expr, XmlQueryType xmlType)
77
return TypeAssert(expr, (
QilNode
)LiteralType(xmlType));
80
public QilTargetType IsType(
QilNode
expr, XmlQueryType xmlType)
82
return IsType(expr, (
QilNode
)LiteralType(xmlType));
85
public QilTargetType XsltConvert(
QilNode
expr, XmlQueryType xmlType)
87
return XsltConvert(expr, (
QilNode
)LiteralType(xmlType));
90
public QilFunction Function(
QilNode
arguments,
QilNode
sideEffects, XmlQueryType xmlType)
154
public QilUnary OptimizeBarrier(
QilNode
child)
162
public
QilNode
Unknown(XmlQueryType xmlType)
164
QilNode
n = new QilNode(QilNodeType.Unknown, xmlType);
176
public QilDataSource DataSource(
QilNode
name,
QilNode
baseUri)
184
public QilUnary Nop(
QilNode
child)
192
public QilUnary Error(
QilNode
child)
200
public QilUnary Warning(
QilNode
child)
214
public QilIterator For(
QilNode
binding)
222
public QilIterator Let(
QilNode
binding)
230
public QilParameter Parameter(
QilNode
? defaultValue,
QilNode
? name, XmlQueryType xmlType)
238
public QilUnary PositionOf(
QilNode
child)
252
public
QilNode
True()
254
QilNode
n = new QilNode(QilNodeType.True);
260
public
QilNode
False()
262
QilNode
n = new QilNode(QilNodeType.False);
338
public QilBinary And(
QilNode
left,
QilNode
right)
346
public QilBinary Or(
QilNode
left,
QilNode
right)
354
public QilUnary Not(
QilNode
child)
368
public QilTernary Conditional(
QilNode
left,
QilNode
center,
QilNode
right)
376
public QilChoice Choice(
QilNode
expression,
QilNode
branches)
390
public QilUnary Length(
QilNode
child)
406
public QilBinary Union(
QilNode
left,
QilNode
right)
414
public QilBinary Intersection(
QilNode
left,
QilNode
right)
422
public QilBinary Difference(
QilNode
left,
QilNode
right)
430
public QilUnary Sum(
QilNode
child)
444
public QilUnary Negate(
QilNode
child)
452
public QilBinary Add(
QilNode
left,
QilNode
right)
460
public QilBinary Subtract(
QilNode
left,
QilNode
right)
468
public QilBinary Multiply(
QilNode
left,
QilNode
right)
476
public QilBinary Divide(
QilNode
left,
QilNode
right)
484
public QilBinary Modulo(
QilNode
left,
QilNode
right)
498
public QilUnary StrLength(
QilNode
child)
506
public QilStrConcat StrConcat(
QilNode
delimiter,
QilNode
values)
514
public QilBinary StrParseQName(
QilNode
left,
QilNode
right)
528
public QilBinary Ne(
QilNode
left,
QilNode
right)
536
public QilBinary Eq(
QilNode
left,
QilNode
right)
544
public QilBinary Gt(
QilNode
left,
QilNode
right)
552
public QilBinary Ge(
QilNode
left,
QilNode
right)
560
public QilBinary Lt(
QilNode
left,
QilNode
right)
568
public QilBinary Le(
QilNode
left,
QilNode
right)
582
public QilBinary Is(
QilNode
left,
QilNode
right)
590
public QilBinary Before(
QilNode
left,
QilNode
right)
604
public QilLoop Loop(
QilNode
variable,
QilNode
body)
612
public QilLoop Filter(
QilNode
variable,
QilNode
body)
626
public QilLoop Sort(
QilNode
variable,
QilNode
body)
634
public QilSortKey SortKey(
QilNode
key,
QilNode
collation)
642
public QilUnary DocOrderDistinct(
QilNode
child)
656
public QilFunction Function(
QilNode
arguments,
QilNode
definition,
QilNode
sideEffects, XmlQueryType xmlType)
664
public QilInvoke Invoke(
QilNode
function,
QilNode
arguments)
678
public QilUnary Content(
QilNode
child)
686
public QilBinary Attribute(
QilNode
left,
QilNode
right)
694
public QilUnary Parent(
QilNode
child)
702
public QilUnary Root(
QilNode
child)
710
public
QilNode
XmlContext()
712
QilNode
n = new QilNode(QilNodeType.XmlContext);
718
public QilUnary Descendant(
QilNode
child)
726
public QilUnary DescendantOrSelf(
QilNode
child)
734
public QilUnary Ancestor(
QilNode
child)
742
public QilUnary AncestorOrSelf(
QilNode
child)
750
public QilUnary Preceding(
QilNode
child)
758
public QilUnary FollowingSibling(
QilNode
child)
766
public QilUnary PrecedingSibling(
QilNode
child)
774
public QilBinary NodeRange(
QilNode
left,
QilNode
right)
782
public QilBinary Deref(
QilNode
left,
QilNode
right)
796
public QilBinary ElementCtor(
QilNode
left,
QilNode
right)
804
public QilBinary AttributeCtor(
QilNode
left,
QilNode
right)
812
public QilUnary CommentCtor(
QilNode
child)
820
public QilBinary PICtor(
QilNode
left,
QilNode
right)
828
public QilUnary TextCtor(
QilNode
child)
836
public QilUnary RawTextCtor(
QilNode
child)
844
public QilUnary DocumentCtor(
QilNode
child)
852
public QilBinary NamespaceDecl(
QilNode
left,
QilNode
right)
860
public QilBinary RtfCtor(
QilNode
left,
QilNode
right)
874
public QilUnary NameOf(
QilNode
child)
882
public QilUnary LocalNameOf(
QilNode
child)
890
public QilUnary NamespaceUriOf(
QilNode
child)
898
public QilUnary PrefixOf(
QilNode
child)
912
public QilTargetType TypeAssert(
QilNode
source,
QilNode
targetType)
920
public QilTargetType IsType(
QilNode
source,
QilNode
targetType)
928
public QilUnary IsEmpty(
QilNode
child)
942
public QilUnary XPathNodeValue(
QilNode
child)
950
public QilUnary XPathFollowing(
QilNode
child)
958
public QilUnary XPathPreceding(
QilNode
child)
966
public QilUnary XPathNamespace(
QilNode
child)
980
public QilUnary XsltGenerateId(
QilNode
child)
988
public QilInvokeLateBound XsltInvokeLateBound(
QilNode
name,
QilNode
arguments)
996
public QilInvokeEarlyBound XsltInvokeEarlyBound(
QilNode
name,
QilNode
clrMethod,
QilNode
arguments, XmlQueryType xmlType)
1004
public QilBinary XsltCopy(
QilNode
left,
QilNode
right)
1012
public QilUnary XsltCopyOf(
QilNode
child)
1020
public QilTargetType XsltConvert(
QilNode
source,
QilNode
targetType)
1034
public void TraceNode(
QilNode
n)
System\Xml\Xsl\QIL\QilFunction.cs (6)
25
private
QilNode
_arguments, _definition, _sideEffects;
34
public QilFunction(QilNodeType nodeType,
QilNode
arguments,
QilNode
definition,
QilNode
sideEffects, XmlQueryType resultType)
53
public override
QilNode
this[int index]
94
public
QilNode
Definition
System\Xml\Xsl\QIL\QilInvoke.cs (2)
23
public QilInvoke(QilNodeType nodeType,
QilNode
function,
QilNode
arguments) : base(nodeType, function, arguments)
System\Xml\Xsl\QIL\QilInvokeEarlyBound.cs (3)
22
public QilInvokeEarlyBound(QilNodeType nodeType,
QilNode
name,
QilNode
method,
QilNode
arguments, XmlQueryType resultType)
System\Xml\Xsl\QIL\QilInvokeLateBound.cs (2)
21
public QilInvokeLateBound(QilNodeType nodeType,
QilNode
name,
QilNode
arguments) : base(nodeType, name, arguments)
System\Xml\Xsl\QIL\QilIterator.cs (4)
14
private
QilNode
? _binding;
23
public QilIterator(QilNodeType nodeType,
QilNode
? binding) : base(nodeType)
38
public override
QilNode
this[int index]
52
public
QilNode
? Binding
System\Xml\Xsl\QIL\QilList.cs (8)
19
private
QilNode
[] _members;
31
_members = new
QilNode
[4];
78
public override
QilNode
ShallowClone(QilFactory f)
81
n._members = (
QilNode
[])_members.Clone();
96
public override
QilNode
this[int index]
117
public override void Insert(int index,
QilNode
node)
124
QilNode
[] membersNew = new
QilNode
[_count * 2];
System\Xml\Xsl\QIL\QilLoop.cs (3)
27
public QilLoop(QilNodeType nodeType,
QilNode
variable,
QilNode
body) : base(nodeType, variable, body)
42
public
QilNode
Body
System\Xml\Xsl\QIL\QilNode.cs (16)
22
internal class QilNode : IList<
QilNode
>
94
public virtual
QilNode
DeepClone(QilFactory f)
102
public virtual
QilNode
ShallowClone(QilFactory f)
104
QilNode
n = (
QilNode
)MemberwiseClone();
119
public virtual
QilNode
this[int index]
125
public virtual void Insert(int index,
QilNode
node)
140
public IEnumerator<
QilNode
> GetEnumerator()
142
return new IListEnumerator<
QilNode
>(this);
147
return new IListEnumerator<
QilNode
>(this);
155
public virtual void Add(
QilNode
node)
160
public virtual void Add(IList<
QilNode
> list)
172
public virtual bool Contains(
QilNode
node)
177
public virtual void CopyTo(
QilNode
[] array, int index)
183
public virtual bool Remove(
QilNode
node)
194
public virtual int IndexOf(
QilNode
node)
System\Xml\Xsl\QIL\QilParameter.cs (5)
14
private
QilNode
? _name;
23
public QilParameter(QilNodeType nodeType,
QilNode
? defaultValue,
QilNode
? name, XmlQueryType xmlType) : base(nodeType, defaultValue)
39
public override
QilNode
this[int index]
69
public
QilNode
? DefaultValue
System\Xml\Xsl\QIL\QilPatternFactory.cs (211)
66
public
QilNode
Unknown(XmlQueryType t)
76
public QilExpression QilExpression(
QilNode
root, QilFactory factory)
101
public QilList ActualParameterList(
QilNode
arg1,
QilNode
arg2)
109
public QilList ActualParameterList(params
QilNode
[] args)
119
public QilList FormalParameterList(
QilNode
arg1,
QilNode
arg2)
127
public QilList FormalParameterList(params
QilNode
[] args)
132
public QilList BranchList(params
QilNode
[] args)
137
public
QilNode
OptimizeBarrier(
QilNode
child)
148
public
QilNode
DataSource(
QilNode
name,
QilNode
baseUri)
153
public
QilNode
Nop(
QilNode
child)
158
public
QilNode
Error(
QilNode
text)
163
public
QilNode
Warning(
QilNode
text)
174
public QilIterator For(
QilNode
binding)
179
public QilIterator Let(
QilNode
binding)
189
public QilParameter Parameter(
QilNode
? defaultValue, QilName? name, XmlQueryType t)
194
public
QilNode
PositionOf(QilIterator expr)
205
public
QilNode
True()
210
public
QilNode
False()
215
public
QilNode
Boolean(bool b)
226
private static void CheckLogicArg(
QilNode
arg)
234
public
QilNode
And(
QilNode
left,
QilNode
right)
256
public
QilNode
Or(
QilNode
left,
QilNode
right)
278
public
QilNode
Not(
QilNode
child)
302
public
QilNode
Conditional(
QilNode
condition,
QilNode
trueBranch,
QilNode
falseBranch)
319
public
QilNode
Choice(
QilNode
expr, QilList branches)
341
public
QilNode
Length(
QilNode
child)
346
public
QilNode
Sequence()
351
public
QilNode
Sequence(
QilNode
child)
362
public
QilNode
Sequence(
QilNode
child1,
QilNode
child2)
370
public
QilNode
Sequence(params
QilNode
[] args)
381
foreach (
QilNode
n in args)
386
public
QilNode
Union(
QilNode
left,
QilNode
right)
391
public
QilNode
Sum(
QilNode
collection)
401
public
QilNode
Negate(
QilNode
child)
406
public
QilNode
Add(
QilNode
left,
QilNode
right)
411
public
QilNode
Subtract(
QilNode
left,
QilNode
right)
416
public
QilNode
Multiply(
QilNode
left,
QilNode
right)
421
public
QilNode
Divide(
QilNode
left,
QilNode
right)
426
public
QilNode
Modulo(
QilNode
left,
QilNode
right)
437
public
QilNode
StrLength(
QilNode
str)
442
public
QilNode
StrConcat(
QilNode
values)
452
public
QilNode
StrConcat(params
QilNode
[] args)
454
return StrConcat((IList<
QilNode
>)args);
457
public
QilNode
StrConcat(IList<
QilNode
> args)
472
public
QilNode
StrParseQName(
QilNode
str,
QilNode
ns)
482
public
QilNode
Ne(
QilNode
left,
QilNode
right)
487
public
QilNode
Eq(
QilNode
left,
QilNode
right)
492
public
QilNode
Gt(
QilNode
left,
QilNode
right)
497
public
QilNode
Ge(
QilNode
left,
QilNode
right)
502
public
QilNode
Lt(
QilNode
left,
QilNode
right)
507
public
QilNode
Le(
QilNode
left,
QilNode
right)
518
public
QilNode
Is(
QilNode
left,
QilNode
right)
523
public
QilNode
Before(
QilNode
left,
QilNode
right)
534
public
QilNode
Loop(QilIterator variable,
QilNode
body)
547
public
QilNode
Filter(QilIterator variable,
QilNode
expr)
568
public
QilNode
Sort(QilIterator iter,
QilNode
keys)
573
public QilSortKey SortKey(
QilNode
key,
QilNode
collation)
578
public
QilNode
DocOrderDistinct(
QilNode
collection)
593
public QilFunction Function(QilList args,
QilNode
sideEffects, XmlQueryType resultType)
598
public QilFunction Function(QilList args,
QilNode
defn,
QilNode
sideEffects)
604
public
QilNode
Invoke(QilFunction func, QilList args)
616
public
QilNode
Content(
QilNode
context)
621
public
QilNode
Parent(
QilNode
context)
626
public
QilNode
Root(
QilNode
context)
631
public
QilNode
XmlContext()
636
public
QilNode
Descendant(
QilNode
expr)
641
public
QilNode
DescendantOrSelf(
QilNode
context)
646
public
QilNode
Ancestor(
QilNode
expr)
651
public
QilNode
AncestorOrSelf(
QilNode
expr)
656
public
QilNode
Preceding(
QilNode
expr)
661
public
QilNode
FollowingSibling(
QilNode
expr)
666
public
QilNode
PrecedingSibling(
QilNode
expr)
671
public
QilNode
NodeRange(
QilNode
left,
QilNode
right)
676
public QilBinary Deref(
QilNode
context,
QilNode
id)
686
public
QilNode
ElementCtor(
QilNode
name,
QilNode
content)
691
public
QilNode
AttributeCtor(
QilNode
name,
QilNode
val)
696
public
QilNode
CommentCtor(
QilNode
content)
701
public
QilNode
PICtor(
QilNode
name,
QilNode
content)
706
public
QilNode
TextCtor(
QilNode
content)
711
public
QilNode
RawTextCtor(
QilNode
content)
716
public
QilNode
DocumentCtor(
QilNode
child)
721
public
QilNode
NamespaceDecl(
QilNode
prefix,
QilNode
uri)
726
public
QilNode
RtfCtor(
QilNode
content,
QilNode
baseUri)
737
public
QilNode
NameOf(
QilNode
expr)
742
public
QilNode
LocalNameOf(
QilNode
expr)
747
public
QilNode
NamespaceUriOf(
QilNode
expr)
752
public
QilNode
PrefixOf(
QilNode
expr)
763
public
QilNode
TypeAssert(
QilNode
expr, XmlQueryType t)
768
public
QilNode
IsType(
QilNode
expr, XmlQueryType t)
774
public
QilNode
IsEmpty(
QilNode
set)
785
public
QilNode
XPathNodeValue(
QilNode
expr)
790
public
QilNode
XPathFollowing(
QilNode
expr)
795
public
QilNode
XPathNamespace(
QilNode
expr)
800
public
QilNode
XPathPreceding(
QilNode
expr)
811
public
QilNode
XsltGenerateId(
QilNode
expr)
816
public
QilNode
XsltInvokeEarlyBound(
QilNode
name, MethodInfo d, XmlQueryType t, IList<
QilNode
> args)
823
public
QilNode
XsltInvokeLateBound(
QilNode
name, IList<
QilNode
> args)
830
public
QilNode
XsltCopy(
QilNode
expr,
QilNode
content)
835
public
QilNode
XsltCopyOf(
QilNode
expr)
840
public
QilNode
XsltConvert(
QilNode
expr, XmlQueryType t)
System\Xml\Xsl\QIL\QilPatternVisitor.cs (123)
38
protected virtual bool AllowReplace(int pattern,
QilNode
original)
58
protected virtual
QilNode
Replace(int pattern,
QilNode
original,
QilNode
replacement)
68
protected virtual
QilNode
? NoReplace(
QilNode
? node)
81
protected override
QilNode
Visit(
QilNode
node)
93
protected override
QilNode
VisitQilExpression(QilExpression n) { return NoReplace(n); }
94
protected override
QilNode
VisitFunctionList(QilList n) { return NoReplace(n); }
95
protected override
QilNode
VisitGlobalVariableList(QilList n) { return NoReplace(n); }
96
protected override
QilNode
VisitGlobalParameterList(QilList n) { return NoReplace(n); }
97
protected override
QilNode
VisitActualParameterList(QilList n) { return NoReplace(n); }
98
protected override
QilNode
VisitFormalParameterList(QilList n) { return NoReplace(n); }
99
protected override
QilNode
VisitSortKeyList(QilList n) { return NoReplace(n); }
100
protected override
QilNode
VisitBranchList(QilList n) { return NoReplace(n); }
101
protected override
QilNode
VisitOptimizeBarrier(QilUnary n) { return NoReplace(n); }
102
protected override
QilNode
VisitUnknown(
QilNode
n) { return NoReplace(n); }
106
protected override
QilNode
VisitDataSource(QilDataSource n) { return NoReplace(n); }
107
protected override
QilNode
VisitNop(QilUnary n) { return NoReplace(n); }
108
protected override
QilNode
VisitError(QilUnary n) { return NoReplace(n); }
109
protected override
QilNode
VisitWarning(QilUnary n) { return NoReplace(n); }
113
protected override
QilNode
VisitFor(QilIterator n) { return NoReplace(n); }
114
protected override
QilNode
VisitForReference(QilIterator n) { return NoReplace(n); }
115
protected override
QilNode
VisitLet(QilIterator n) { return NoReplace(n); }
116
protected override
QilNode
VisitLetReference(QilIterator n) { return NoReplace(n); }
117
protected override
QilNode
VisitParameter(QilParameter n) { return NoReplace(n); }
118
protected override
QilNode
VisitParameterReference(QilParameter n) { return NoReplace(n); }
119
protected override
QilNode
VisitPositionOf(QilUnary n) { return NoReplace(n); }
123
protected override
QilNode
VisitTrue(
QilNode
n) { return NoReplace(n); }
124
protected override
QilNode
VisitFalse(
QilNode
n) { return NoReplace(n); }
125
protected override
QilNode
VisitLiteralString(QilLiteral n) { return NoReplace(n); }
126
protected override
QilNode
VisitLiteralInt32(QilLiteral n) { return NoReplace(n); }
127
protected override
QilNode
VisitLiteralInt64(QilLiteral n) { return NoReplace(n); }
128
protected override
QilNode
VisitLiteralDouble(QilLiteral n) { return NoReplace(n); }
129
protected override
QilNode
VisitLiteralDecimal(QilLiteral n) { return NoReplace(n); }
130
protected override
QilNode
VisitLiteralQName(QilName n) { return NoReplace(n); }
131
protected override
QilNode
VisitLiteralType(QilLiteral n) { return NoReplace(n); }
132
protected override
QilNode
VisitLiteralObject(QilLiteral n) { return NoReplace(n); }
136
protected override
QilNode
VisitAnd(QilBinary n) { return NoReplace(n); }
137
protected override
QilNode
VisitOr(QilBinary n) { return NoReplace(n); }
138
protected override
QilNode
VisitNot(QilUnary n) { return NoReplace(n); }
142
protected override
QilNode
VisitConditional(QilTernary n) { return NoReplace(n); }
143
protected override
QilNode
VisitChoice(QilChoice n) { return NoReplace(n); }
147
protected override
QilNode
VisitLength(QilUnary n) { return NoReplace(n); }
148
protected override
QilNode
VisitSequence(QilList n) { return NoReplace(n); }
149
protected override
QilNode
VisitUnion(QilBinary n) { return NoReplace(n); }
150
protected override
QilNode
VisitIntersection(QilBinary n) { return NoReplace(n); }
151
protected override
QilNode
VisitDifference(QilBinary n) { return NoReplace(n); }
152
protected override
QilNode
VisitAverage(QilUnary n) { return NoReplace(n); }
153
protected override
QilNode
VisitSum(QilUnary n) { return NoReplace(n); }
154
protected override
QilNode
VisitMinimum(QilUnary n) { return NoReplace(n); }
155
protected override
QilNode
VisitMaximum(QilUnary n) { return NoReplace(n); }
159
protected override
QilNode
VisitNegate(QilUnary n) { return NoReplace(n); }
160
protected override
QilNode
VisitAdd(QilBinary n) { return NoReplace(n); }
161
protected override
QilNode
VisitSubtract(QilBinary n) { return NoReplace(n); }
162
protected override
QilNode
VisitMultiply(QilBinary n) { return NoReplace(n); }
163
protected override
QilNode
VisitDivide(QilBinary n) { return NoReplace(n); }
164
protected override
QilNode
VisitModulo(QilBinary n) { return NoReplace(n); }
168
protected override
QilNode
VisitStrLength(QilUnary n) { return NoReplace(n); }
169
protected override
QilNode
VisitStrConcat(QilStrConcat n) { return NoReplace(n); }
170
protected override
QilNode
VisitStrParseQName(QilBinary n) { return NoReplace(n); }
174
protected override
QilNode
VisitNe(QilBinary n) { return NoReplace(n); }
175
protected override
QilNode
VisitEq(QilBinary n) { return NoReplace(n); }
176
protected override
QilNode
VisitGt(QilBinary n) { return NoReplace(n); }
177
protected override
QilNode
VisitGe(QilBinary n) { return NoReplace(n); }
178
protected override
QilNode
VisitLt(QilBinary n) { return NoReplace(n); }
179
protected override
QilNode
VisitLe(QilBinary n) { return NoReplace(n); }
183
protected override
QilNode
VisitIs(QilBinary n) { return NoReplace(n); }
184
protected override
QilNode
VisitAfter(QilBinary n) { return NoReplace(n); }
185
protected override
QilNode
VisitBefore(QilBinary n) { return NoReplace(n); }
189
protected override
QilNode
VisitLoop(QilLoop n) { return NoReplace(n); }
190
protected override
QilNode
VisitFilter(QilLoop n) { return NoReplace(n); }
194
protected override
QilNode
VisitSort(QilLoop n) { return NoReplace(n); }
195
protected override
QilNode
VisitSortKey(QilSortKey n) { return NoReplace(n); }
196
protected override
QilNode
VisitDocOrderDistinct(QilUnary n) { return NoReplace(n); }
200
protected override
QilNode
VisitFunction(QilFunction n) { return NoReplace(n); }
201
protected override
QilNode
VisitFunctionReference(QilFunction n) { return NoReplace(n); }
202
protected override
QilNode
VisitInvoke(QilInvoke n) { return NoReplace(n); }
206
protected override
QilNode
VisitContent(QilUnary n) { return NoReplace(n); }
207
protected override
QilNode
VisitAttribute(QilBinary n) { return NoReplace(n); }
208
protected override
QilNode
VisitParent(QilUnary n) { return NoReplace(n); }
209
protected override
QilNode
VisitRoot(QilUnary n) { return NoReplace(n); }
210
protected override
QilNode
VisitXmlContext(
QilNode
n) { return NoReplace(n); }
211
protected override
QilNode
VisitDescendant(QilUnary n) { return NoReplace(n); }
212
protected override
QilNode
VisitDescendantOrSelf(QilUnary n) { return NoReplace(n); }
213
protected override
QilNode
VisitAncestor(QilUnary n) { return NoReplace(n); }
214
protected override
QilNode
VisitAncestorOrSelf(QilUnary n) { return NoReplace(n); }
215
protected override
QilNode
VisitPreceding(QilUnary n) { return NoReplace(n); }
216
protected override
QilNode
VisitFollowingSibling(QilUnary n) { return NoReplace(n); }
217
protected override
QilNode
VisitPrecedingSibling(QilUnary n) { return NoReplace(n); }
218
protected override
QilNode
VisitNodeRange(QilBinary n) { return NoReplace(n); }
219
protected override
QilNode
VisitDeref(QilBinary n) { return NoReplace(n); }
223
protected override
QilNode
VisitElementCtor(QilBinary n) { return NoReplace(n); }
224
protected override
QilNode
VisitAttributeCtor(QilBinary n) { return NoReplace(n); }
225
protected override
QilNode
VisitCommentCtor(QilUnary n) { return NoReplace(n); }
226
protected override
QilNode
VisitPICtor(QilBinary n) { return NoReplace(n); }
227
protected override
QilNode
VisitTextCtor(QilUnary n) { return NoReplace(n); }
228
protected override
QilNode
VisitRawTextCtor(QilUnary n) { return NoReplace(n); }
229
protected override
QilNode
VisitDocumentCtor(QilUnary n) { return NoReplace(n); }
230
protected override
QilNode
VisitNamespaceDecl(QilBinary n) { return NoReplace(n); }
231
protected override
QilNode
VisitRtfCtor(QilBinary n) { return NoReplace(n); }
235
protected override
QilNode
VisitNameOf(QilUnary n) { return NoReplace(n); }
236
protected override
QilNode
VisitLocalNameOf(QilUnary n) { return NoReplace(n); }
237
protected override
QilNode
VisitNamespaceUriOf(QilUnary n) { return NoReplace(n); }
238
protected override
QilNode
VisitPrefixOf(QilUnary n) { return NoReplace(n); }
242
protected override
QilNode
VisitTypeAssert(QilTargetType n) { return NoReplace(n); }
243
protected override
QilNode
VisitIsType(QilTargetType n) { return NoReplace(n); }
244
protected override
QilNode
VisitIsEmpty(QilUnary n) { return NoReplace(n); }
248
protected override
QilNode
VisitXPathNodeValue(QilUnary n) { return NoReplace(n); }
249
protected override
QilNode
VisitXPathFollowing(QilUnary n) { return NoReplace(n); }
250
protected override
QilNode
VisitXPathPreceding(QilUnary n) { return NoReplace(n); }
251
protected override
QilNode
VisitXPathNamespace(QilUnary n) { return NoReplace(n); }
255
protected override
QilNode
VisitXsltGenerateId(QilUnary n) { return NoReplace(n); }
256
protected override
QilNode
VisitXsltInvokeLateBound(QilInvokeLateBound n) { return NoReplace(n); }
257
protected override
QilNode
VisitXsltInvokeEarlyBound(QilInvokeEarlyBound n) { return NoReplace(n); }
258
protected override
QilNode
VisitXsltCopy(QilBinary n) { return NoReplace(n); }
259
protected override
QilNode
VisitXsltCopyOf(QilUnary n) { return NoReplace(n); }
260
protected override
QilNode
VisitXsltConvert(QilTargetType n) { return NoReplace(n); }
System\Xml\Xsl\QIL\QilReplaceVisitor.cs (4)
32
protected override
QilNode
VisitChildren(
QilNode
parent)
40
QilNode
oldChild = parent[i], newChild;
71
protected virtual void RecalculateType(
QilNode
node, XmlQueryType oldType)
System\Xml\Xsl\QIL\QilScopedVisitor.cs (15)
21
protected virtual void BeginScope(
QilNode
node)
28
protected virtual void EndScope(
QilNode
node)
35
protected virtual void BeforeVisit(
QilNode
node)
44
foreach (
QilNode
param in qil.GlobalParameterList) BeginScope(param);
45
foreach (
QilNode
var in qil.GlobalVariableList) BeginScope(var);
46
foreach (
QilNode
func in qil.FunctionList) BeginScope(func);
51
foreach (
QilNode
arg in ((QilFunction)node).Arguments) BeginScope(arg);
66
protected virtual void AfterVisit(
QilNode
node)
75
foreach (
QilNode
func in qil.FunctionList) EndScope(func);
76
foreach (
QilNode
var in qil.GlobalVariableList) EndScope(var);
77
foreach (
QilNode
param in qil.GlobalParameterList) EndScope(param);
82
foreach (
QilNode
arg in ((QilFunction)node).Arguments) EndScope(arg);
102
protected override
QilNode
Visit(
QilNode
n)
104
QilNode
ret;
System\Xml\Xsl\QIL\QilSortKey.cs (4)
24
public QilSortKey(QilNodeType nodeType,
QilNode
key,
QilNode
collation) : base(nodeType, key, collation)
33
public
QilNode
Key
39
public
QilNode
Collation
System\Xml\Xsl\QIL\QilStrConcat.cs (4)
24
public QilStrConcat(QilNodeType nodeType,
QilNode
delimiter,
QilNode
values) : base(nodeType, delimiter, values)
36
public
QilNode
Delimiter
45
public
QilNode
Values
System\Xml\Xsl\QIL\QilTargetType.cs (3)
26
public QilTargetType(QilNodeType nodeType,
QilNode
expr,
QilNode
targetType) : base(nodeType, expr, targetType)
35
public
QilNode
Source
System\Xml\Xsl\QIL\QilTernary.cs (8)
18
private
QilNode
_left, _center, _right;
28
public QilTernary(QilNodeType nodeType,
QilNode
left,
QilNode
center,
QilNode
right) : base(nodeType)
45
public override
QilNode
this[int index]
74
public
QilNode
Left
80
public
QilNode
Center
86
public
QilNode
Right
System\Xml\Xsl\QIL\QilTypeChecker.cs (16)
23
public static XmlQueryType Check(
QilNode
n)
178
foreach (
QilNode
child in node)
185
foreach (
QilNode
child in node)
192
foreach (
QilNode
child in node)
207
foreach (
QilNode
child in node)
214
foreach (
QilNode
child in node)
229
public static XmlQueryType CheckUnknown(
QilNode
node)
991
private static void Check(bool value,
QilNode
node, string message)
998
private static void CheckLiteralValue(
QilNode
node, Type clrTypeValue)
1007
private static void CheckClass(
QilNode
node, Type clrTypeClass)
1013
private static void CheckClassAndNodeType(
QilNode
node, Type clrTypeClass, QilNodeType nodeType)
1020
private static void CheckXmlType(
QilNode
node, XmlQueryType xmlType)
1026
private static void CheckNumericX(
QilNode
node)
1032
private static void CheckNumericXS(
QilNode
node)
1038
private static void CheckAtomicX(
QilNode
node)
1061
private static XmlQueryType? FindFilterType(QilIterator variable,
QilNode
body)
System\Xml\Xsl\QIL\QilUnary.cs (4)
18
private
QilNode
_child;
28
public QilUnary(QilNodeType nodeType,
QilNode
child) : base(nodeType)
43
public override
QilNode
this[int index]
54
public
QilNode
Child
System\Xml\Xsl\QIL\QilValidationVisitor.cs (9)
34
public static void Validate(
QilNode
node)
52
protected override
QilNode
VisitChildren(
QilNode
parent)
112
protected override
QilNode
VisitReference(
QilNode
node)
128
protected override void BeginScope(
QilNode
node)
139
protected override void EndScope(
QilNode
node)
157
private bool AddNode(
QilNode
n)
173
internal static void SetError(
QilNode
n, string message)
System\Xml\Xsl\QIL\QilVisitor.cs (131)
30
protected virtual
QilNode
VisitAssumeReference(
QilNode
expr)
41
protected virtual
QilNode
VisitChildren(
QilNode
parent)
58
protected virtual bool IsReference(
QilNode
parent, int childNum)
60
QilNode
child = parent[childNum];
104
protected virtual
QilNode
Visit(
QilNode
n)
242
protected virtual
QilNode
VisitReference(
QilNode
n)
259
protected virtual
QilNode
? VisitNull() { return null; }
262
protected virtual
QilNode
VisitQilExpression(QilExpression n) { return VisitChildren(n); }
263
protected virtual
QilNode
VisitFunctionList(QilList n) { return VisitChildren(n); }
264
protected virtual
QilNode
VisitGlobalVariableList(QilList n) { return VisitChildren(n); }
265
protected virtual
QilNode
VisitGlobalParameterList(QilList n) { return VisitChildren(n); }
266
protected virtual
QilNode
VisitActualParameterList(QilList n) { return VisitChildren(n); }
267
protected virtual
QilNode
VisitFormalParameterList(QilList n) { return VisitChildren(n); }
268
protected virtual
QilNode
VisitSortKeyList(QilList n) { return VisitChildren(n); }
269
protected virtual
QilNode
VisitBranchList(QilList n) { return VisitChildren(n); }
270
protected virtual
QilNode
VisitOptimizeBarrier(QilUnary n) { return VisitChildren(n); }
271
protected virtual
QilNode
VisitUnknown(
QilNode
n) { return VisitChildren(n); }
275
protected virtual
QilNode
VisitDataSource(QilDataSource n) { return VisitChildren(n); }
276
protected virtual
QilNode
VisitNop(QilUnary n) { return VisitChildren(n); }
277
protected virtual
QilNode
VisitError(QilUnary n) { return VisitChildren(n); }
278
protected virtual
QilNode
VisitWarning(QilUnary n) { return VisitChildren(n); }
282
protected virtual
QilNode
VisitFor(QilIterator n) { return VisitChildren(n); }
283
protected virtual
QilNode
VisitForReference(QilIterator n) { return n; }
284
protected virtual
QilNode
VisitLet(QilIterator n) { return VisitChildren(n); }
285
protected virtual
QilNode
VisitLetReference(QilIterator n) { return n; }
286
protected virtual
QilNode
VisitParameter(QilParameter n) { return VisitChildren(n); }
287
protected virtual
QilNode
VisitParameterReference(QilParameter n) { return n; }
288
protected virtual
QilNode
VisitPositionOf(QilUnary n) { return VisitChildren(n); }
292
protected virtual
QilNode
VisitTrue(
QilNode
n) { return VisitChildren(n); }
293
protected virtual
QilNode
VisitFalse(
QilNode
n) { return VisitChildren(n); }
294
protected virtual
QilNode
VisitLiteralString(QilLiteral n) { return VisitChildren(n); }
295
protected virtual
QilNode
VisitLiteralInt32(QilLiteral n) { return VisitChildren(n); }
296
protected virtual
QilNode
VisitLiteralInt64(QilLiteral n) { return VisitChildren(n); }
297
protected virtual
QilNode
VisitLiteralDouble(QilLiteral n) { return VisitChildren(n); }
298
protected virtual
QilNode
VisitLiteralDecimal(QilLiteral n) { return VisitChildren(n); }
299
protected virtual
QilNode
VisitLiteralQName(QilName n) { return VisitChildren(n); }
300
protected virtual
QilNode
VisitLiteralType(QilLiteral n) { return VisitChildren(n); }
301
protected virtual
QilNode
VisitLiteralObject(QilLiteral n) { return VisitChildren(n); }
305
protected virtual
QilNode
VisitAnd(QilBinary n) { return VisitChildren(n); }
306
protected virtual
QilNode
VisitOr(QilBinary n) { return VisitChildren(n); }
307
protected virtual
QilNode
VisitNot(QilUnary n) { return VisitChildren(n); }
311
protected virtual
QilNode
VisitConditional(QilTernary n) { return VisitChildren(n); }
312
protected virtual
QilNode
VisitChoice(QilChoice n) { return VisitChildren(n); }
316
protected virtual
QilNode
VisitLength(QilUnary n) { return VisitChildren(n); }
317
protected virtual
QilNode
VisitSequence(QilList n) { return VisitChildren(n); }
318
protected virtual
QilNode
VisitUnion(QilBinary n) { return VisitChildren(n); }
319
protected virtual
QilNode
VisitIntersection(QilBinary n) { return VisitChildren(n); }
320
protected virtual
QilNode
VisitDifference(QilBinary n) { return VisitChildren(n); }
321
protected virtual
QilNode
VisitAverage(QilUnary n) { return VisitChildren(n); }
322
protected virtual
QilNode
VisitSum(QilUnary n) { return VisitChildren(n); }
323
protected virtual
QilNode
VisitMinimum(QilUnary n) { return VisitChildren(n); }
324
protected virtual
QilNode
VisitMaximum(QilUnary n) { return VisitChildren(n); }
328
protected virtual
QilNode
VisitNegate(QilUnary n) { return VisitChildren(n); }
329
protected virtual
QilNode
VisitAdd(QilBinary n) { return VisitChildren(n); }
330
protected virtual
QilNode
VisitSubtract(QilBinary n) { return VisitChildren(n); }
331
protected virtual
QilNode
VisitMultiply(QilBinary n) { return VisitChildren(n); }
332
protected virtual
QilNode
VisitDivide(QilBinary n) { return VisitChildren(n); }
333
protected virtual
QilNode
VisitModulo(QilBinary n) { return VisitChildren(n); }
337
protected virtual
QilNode
VisitStrLength(QilUnary n) { return VisitChildren(n); }
338
protected virtual
QilNode
VisitStrConcat(QilStrConcat n) { return VisitChildren(n); }
339
protected virtual
QilNode
VisitStrParseQName(QilBinary n) { return VisitChildren(n); }
343
protected virtual
QilNode
VisitNe(QilBinary n) { return VisitChildren(n); }
344
protected virtual
QilNode
VisitEq(QilBinary n) { return VisitChildren(n); }
345
protected virtual
QilNode
VisitGt(QilBinary n) { return VisitChildren(n); }
346
protected virtual
QilNode
VisitGe(QilBinary n) { return VisitChildren(n); }
347
protected virtual
QilNode
VisitLt(QilBinary n) { return VisitChildren(n); }
348
protected virtual
QilNode
VisitLe(QilBinary n) { return VisitChildren(n); }
352
protected virtual
QilNode
VisitIs(QilBinary n) { return VisitChildren(n); }
353
protected virtual
QilNode
VisitAfter(QilBinary n) { return VisitChildren(n); }
354
protected virtual
QilNode
VisitBefore(QilBinary n) { return VisitChildren(n); }
358
protected virtual
QilNode
VisitLoop(QilLoop n) { return VisitChildren(n); }
359
protected virtual
QilNode
VisitFilter(QilLoop n) { return VisitChildren(n); }
363
protected virtual
QilNode
VisitSort(QilLoop n) { return VisitChildren(n); }
364
protected virtual
QilNode
VisitSortKey(QilSortKey n) { return VisitChildren(n); }
365
protected virtual
QilNode
VisitDocOrderDistinct(QilUnary n) { return VisitChildren(n); }
369
protected virtual
QilNode
VisitFunction(QilFunction n) { return VisitChildren(n); }
370
protected virtual
QilNode
VisitFunctionReference(QilFunction n) { return n; }
371
protected virtual
QilNode
VisitInvoke(QilInvoke n) { return VisitChildren(n); }
375
protected virtual
QilNode
VisitContent(QilUnary n) { return VisitChildren(n); }
376
protected virtual
QilNode
VisitAttribute(QilBinary n) { return VisitChildren(n); }
377
protected virtual
QilNode
VisitParent(QilUnary n) { return VisitChildren(n); }
378
protected virtual
QilNode
VisitRoot(QilUnary n) { return VisitChildren(n); }
379
protected virtual
QilNode
VisitXmlContext(
QilNode
n) { return VisitChildren(n); }
380
protected virtual
QilNode
VisitDescendant(QilUnary n) { return VisitChildren(n); }
381
protected virtual
QilNode
VisitDescendantOrSelf(QilUnary n) { return VisitChildren(n); }
382
protected virtual
QilNode
VisitAncestor(QilUnary n) { return VisitChildren(n); }
383
protected virtual
QilNode
VisitAncestorOrSelf(QilUnary n) { return VisitChildren(n); }
384
protected virtual
QilNode
VisitPreceding(QilUnary n) { return VisitChildren(n); }
385
protected virtual
QilNode
VisitFollowingSibling(QilUnary n) { return VisitChildren(n); }
386
protected virtual
QilNode
VisitPrecedingSibling(QilUnary n) { return VisitChildren(n); }
387
protected virtual
QilNode
VisitNodeRange(QilBinary n) { return VisitChildren(n); }
388
protected virtual
QilNode
VisitDeref(QilBinary n) { return VisitChildren(n); }
392
protected virtual
QilNode
VisitElementCtor(QilBinary n) { return VisitChildren(n); }
393
protected virtual
QilNode
VisitAttributeCtor(QilBinary n) { return VisitChildren(n); }
394
protected virtual
QilNode
VisitCommentCtor(QilUnary n) { return VisitChildren(n); }
395
protected virtual
QilNode
VisitPICtor(QilBinary n) { return VisitChildren(n); }
396
protected virtual
QilNode
VisitTextCtor(QilUnary n) { return VisitChildren(n); }
397
protected virtual
QilNode
VisitRawTextCtor(QilUnary n) { return VisitChildren(n); }
398
protected virtual
QilNode
VisitDocumentCtor(QilUnary n) { return VisitChildren(n); }
399
protected virtual
QilNode
VisitNamespaceDecl(QilBinary n) { return VisitChildren(n); }
400
protected virtual
QilNode
VisitRtfCtor(QilBinary n) { return VisitChildren(n); }
404
protected virtual
QilNode
VisitNameOf(QilUnary n) { return VisitChildren(n); }
405
protected virtual
QilNode
VisitLocalNameOf(QilUnary n) { return VisitChildren(n); }
406
protected virtual
QilNode
VisitNamespaceUriOf(QilUnary n) { return VisitChildren(n); }
407
protected virtual
QilNode
VisitPrefixOf(QilUnary n) { return VisitChildren(n); }
411
protected virtual
QilNode
VisitTypeAssert(QilTargetType n) { return VisitChildren(n); }
412
protected virtual
QilNode
VisitIsType(QilTargetType n) { return VisitChildren(n); }
413
protected virtual
QilNode
VisitIsEmpty(QilUnary n) { return VisitChildren(n); }
417
protected virtual
QilNode
VisitXPathNodeValue(QilUnary n) { return VisitChildren(n); }
418
protected virtual
QilNode
VisitXPathFollowing(QilUnary n) { return VisitChildren(n); }
419
protected virtual
QilNode
VisitXPathPreceding(QilUnary n) { return VisitChildren(n); }
420
protected virtual
QilNode
VisitXPathNamespace(QilUnary n) { return VisitChildren(n); }
424
protected virtual
QilNode
VisitXsltGenerateId(QilUnary n) { return VisitChildren(n); }
425
protected virtual
QilNode
VisitXsltInvokeLateBound(QilInvokeLateBound n) { return VisitChildren(n); }
426
protected virtual
QilNode
VisitXsltInvokeEarlyBound(QilInvokeEarlyBound n) { return VisitChildren(n); }
427
protected virtual
QilNode
VisitXsltCopy(QilBinary n) { return VisitChildren(n); }
428
protected virtual
QilNode
VisitXsltCopyOf(QilUnary n) { return VisitChildren(n); }
429
protected virtual
QilNode
VisitXsltConvert(QilTargetType n) { return VisitChildren(n); }
439
private readonly Dictionary<
QilNode
, bool> _visitedRef = new Dictionary<
QilNode
, bool>();
441
public static void Check(
QilNode
input)
449
private void Check(
QilNode
input, int depth)
465
QilNode
child = input[i];
System\Xml\Xsl\QIL\QilXmlWriter.cs (27)
77
public void ToXml(
QilNode
node)
124
private void WriteLineInfo(
QilNode
node)
135
private void WriteXmlType(
QilNode
node)
148
protected override
QilNode
VisitChildren(
QilNode
node)
183
protected override
QilNode
VisitReference(
QilNode
node)
200
protected override
QilNode
VisitQilExpression(QilExpression qil)
202
IList<
QilNode
> fdecls = new ForwardRefFinder().Find(qil);
206
foreach (
QilNode
n in fdecls)
231
protected override
QilNode
VisitLiteralType(QilLiteral value)
240
protected override
QilNode
VisitLiteralQName(QilName value)
254
protected override void BeginScope(
QilNode
node)
262
protected override void EndScope(
QilNode
node)
270
protected override void BeforeVisit(
QilNode
node)
300
protected override void AfterVisit(
QilNode
node)
317
private readonly List<
QilNode
> _fwdrefs = new List<
QilNode
>();
318
private readonly List<
QilNode
> _backrefs = new List<
QilNode
>();
320
public IList<
QilNode
> Find(QilExpression qil)
329
protected override
QilNode
Visit(
QilNode
node)
340
protected override
QilNode
VisitReference(
QilNode
node)
407
public string NameOf(
QilNode
n)
429
public static void ClearName(
QilNode
n)
System\Xml\Xsl\QIL\SubstitutionList.cs (5)
30
public void AddSubstitutionPair(
QilNode
find,
QilNode
replace)
49
public
QilNode
? FindReplacement(
QilNode
n)
54
return (
QilNode
)_s[i + 1]!;
System\Xml\Xsl\XmlIlGenerator.cs (3)
193
private void CreateFunctionMetadata(IList<
QilNode
> funcList)
250
private void CreateGlobalValueMetadata(IList<
QilNode
> globalList)
330
private void EvaluateGlobalValues(IList<
QilNode
> iterList)
System\Xml\Xsl\XPath\IXPathEnvironment.cs (6)
13
QilNode
? GetCurrent();
17
QilNode
GetPosition();
20
QilNode
GetLast();
28
QilNode
ResolveVariable(string prefix, string name);
29
QilNode
ResolveFunction(string prefix, string name, IList<
QilNode
> args, IFocus env);
System\Xml\Xsl\XPath\XPathBuilder.cs (90)
18
internal class XPathBuilder : IXPathBuilder<
QilNode
>, IXPathEnvironment
25
protected
QilNode
fixupCurrent, fixupPosition, fixupLast;
34
QilNode
IFocus.GetCurrent() { return GetCurrentNode(); }
35
QilNode
IFocus.GetPosition() { return GetCurrentPosition(); }
36
QilNode
IFocus.GetLast() { return GetLastPosition(); }
40
QilNode
IXPathEnvironment.ResolveVariable(string prefix, string name)
44
QilNode
IXPathEnvironment.ResolveFunction(string prefix, string name, IList<
QilNode
> args, IFocus env)
73
public virtual
QilNode
? EndBuild(
QilNode
? result)
99
private
QilNode
GetCurrentNode() { numFixupCurrent++; return fixupCurrent; }
100
private
QilNode
GetCurrentPosition() { numFixupPosition++; return fixupPosition; }
101
private
QilNode
GetLastPosition() { numFixupLast++; return fixupLast; }
103
public virtual
QilNode
String(string value)
108
public virtual
QilNode
Number(double value)
113
public virtual
QilNode
Operator(XPathOperator op,
QilNode
? left,
QilNode
? right)
134
private
QilNode
LogicalOperator(XPathOperator op,
QilNode
left,
QilNode
right)
145
private
QilNode
CompareValues(XPathOperator op,
QilNode
left,
QilNode
right, XmlTypeCode compType)
166
private
QilNode
CompareNodeSetAndValue(XPathOperator op,
QilNode
nodeset,
QilNode
val, XmlTypeCode compType)
194
private
QilNode
CompareNodeSetAndNodeSet(XPathOperator op,
QilNode
left,
QilNode
right, XmlTypeCode compType)
212
private
QilNode
EqualityOperator(XPathOperator op,
QilNode
left,
QilNode
right)
245
private
QilNode
RelationalOperator(XPathOperator op,
QilNode
left,
QilNode
right)
276
private
QilNode
NegateOperator(XPathOperator op,
QilNode
left)
282
private
QilNode
ArithmeticOperator(XPathOperator op,
QilNode
left,
QilNode
right)
299
private
QilNode
UnionOperator(XPathOperator op,
QilNode
? left,
QilNode
right)
328
private
QilNode
BuildAxisFilter(
QilNode
qilAxis, XPathAxis xpathAxis, XPathNodeType nodeType, string? name, string? nsUri)
390
private
QilNode
BuildAxis(XPathAxis xpathAxis, XPathNodeType nodeType, string? nsUri, string? name)
392
QilNode
currentNode = GetCurrentNode();
393
QilNode
qilAxis;
418
QilNode
result = BuildAxisFilter(qilAxis, xpathAxis, nodeType, name, nsUri);
432
public virtual
QilNode
Axis(XPathAxis xpathAxis, XPathNodeType nodeType, string? prefix, string? name)
439
public virtual
QilNode
JoinStep(
QilNode
left,
QilNode
right)
453
public virtual
QilNode
Predicate(
QilNode
nodeset,
QilNode
predicate, bool isReverseStep)
472
public static
QilNode
PredicateToBoolean(
QilNode
predicate, XPathQilFactory f, IXPathEnvironment env)
500
public static
QilNode
BuildOnePredicate(
QilNode
nodeset,
QilNode
predicate, bool isReverseStep,
525
QilNode
result;
554
public virtual
QilNode
Variable(string prefix, string name)
559
public virtual
QilNode
Function(string prefix, string name, IList<
QilNode
> args)
611
private
QilNode
LocalNameOfFirstNode(
QilNode
arg)
625
private
QilNode
NamespaceOfFirstNode(
QilNode
arg)
639
private
QilNode
NameOf(
QilNode
arg)
657
private
QilNode
NameOfFirstNode(
QilNode
arg)
671
private
QilNode
Sum(
QilNode
arg)
833
private readonly
QilNode
_fixupCurrent, _fixupPosition, _fixupLast; // fixup nodes we are replacing
835
private
QilNode
? _last; // expressions we are using to replace fixupNodes
840
public FixupVisitor(QilPatternFactory f,
QilNode
fixupCurrent,
QilNode
fixupPosition,
QilNode
fixupLast) : base(f.BaseFactory)
848
public
QilNode
Fixup(
QilNode
inExpr, QilIterator current,
QilNode
? last)
864
public
QilNode
Fixup(
QilNode
inExpr, IXPathEnvironment environment)
880
public int CountUnfixedLast(
QilNode
inExpr)
888
protected override
QilNode
VisitUnknown(
QilNode
unknown)
1031
public void CastArguments(IList<
QilNode
> args, string name, XPathQilFactory f)
System\Xml\Xsl\XPath\XPathQilFactory.cs (105)
20
public
QilNode
Error(string res,
QilNode
args)
25
public
QilNode
Error(ISourceLineInfo? lineInfo, string res, params string[] args)
30
public QilIterator FirstNode(
QilNode
n)
37
public static bool IsAnyType(
QilNode
n)
46
public static void CheckNode(
QilNode
n)
52
public static void CheckNodeSet(
QilNode
n)
58
public static void CheckNodeNotRtf(
QilNode
n)
64
public static void CheckString(
QilNode
n)
70
public static void CheckStringS(
QilNode
n)
76
public static void CheckDouble(
QilNode
n)
82
public static void CheckBool(
QilNode
n)
88
public static bool CannotBeNodeSet(
QilNode
n)
95
public
QilNode
SafeDocOrderDistinct(
QilNode
n)
121
public
QilNode
InvokeFormatMessage(
QilNode
res,
QilNode
args)
126
XsltMethods.FormatMessage, T.StringX, new
QilNode
[] { res, args }
131
public
QilNode
InvokeEqualityOperator(QilNodeType op,
QilNode
left,
QilNode
right)
143
XsltMethods.EqualityOperator, T.BooleanX, new
QilNode
[] { Double(opCode), left, right }
147
public
QilNode
InvokeRelationalOperator(QilNodeType op,
QilNode
left,
QilNode
right)
161
XsltMethods.RelationalOperator, T.BooleanX, new
QilNode
[] { Double(opCode), left, right }
168
private static void ExpectAny(
QilNode
n)
173
public
QilNode
ConvertToType(XmlTypeCode requiredType,
QilNode
n)
187
public
QilNode
ConvertToString(
QilNode
n)
193
n.NodeType == QilNodeType.True ? (
QilNode
)String("true") :
194
n.NodeType == QilNodeType.False ? (
QilNode
)String("false") :
195
/*default: */ (
QilNode
)Conditional(n, String("true"), String("false"))
199
? (
QilNode
)String(XPathConvert.DoubleToString((double)(QilLiteral)n))
200
: (
QilNode
)XsltConvert(n, T.StringX)
216
public
QilNode
ConvertToBoolean(
QilNode
n)
246
public
QilNode
ConvertToNumber(
QilNode
n)
252
n.NodeType == QilNodeType.True ? (
QilNode
)Double(1) :
253
n.NodeType == QilNodeType.False ? (
QilNode
)Double(0) :
254
/*default: */ (
QilNode
)Conditional(n, Double(1), Double(0))
271
public
QilNode
ConvertToNode(
QilNode
n)
280
public
QilNode
ConvertToNodeSet(
QilNode
n)
291
public
QilNode
? TryEnsureNodeSet(
QilNode
n)
307
public
QilNode
EnsureNodeSet(
QilNode
n)
309
QilNode
? result = TryEnsureNodeSet(n);
317
public
QilNode
InvokeEnsureNodeSet(
QilNode
n)
320
XsltMethods.EnsureNodeSet, T.NodeSDod, new
QilNode
[] { n }
326
public
QilNode
Id(
QilNode
context,
QilNode
id)
339
public
QilNode
InvokeStartsWith(
QilNode
str1,
QilNode
str2)
344
XsltMethods.StartsWith, T.BooleanX, new
QilNode
[] { str1, str2 }
348
public
QilNode
InvokeContains(
QilNode
str1,
QilNode
str2)
353
XsltMethods.Contains, T.BooleanX, new
QilNode
[] { str1, str2 }
357
public
QilNode
InvokeSubstringBefore(
QilNode
str1,
QilNode
str2)
362
XsltMethods.SubstringBefore, T.StringX, new
QilNode
[] { str1, str2 }
366
public
QilNode
InvokeSubstringAfter(
QilNode
str1,
QilNode
str2)
371
XsltMethods.SubstringAfter, T.StringX, new
QilNode
[] { str1, str2 }
375
public
QilNode
InvokeSubstring(
QilNode
str,
QilNode
start)
380
XsltMethods.Substring2, T.StringX, new
QilNode
[] { str, start }
384
public
QilNode
InvokeSubstring(
QilNode
str,
QilNode
start,
QilNode
length)
390
XsltMethods.Substring3, T.StringX, new
QilNode
[] { str, start, length }
394
public
QilNode
InvokeNormalizeSpace(
QilNode
str)
398
XsltMethods.NormalizeSpace, T.StringX, new
QilNode
[] { str }
402
public
QilNode
InvokeTranslate(
QilNode
str1,
QilNode
str2,
QilNode
str3)
408
XsltMethods.Translate, T.StringX, new
QilNode
[] { str1, str2, str3 }
412
public
QilNode
InvokeLang(
QilNode
lang,
QilNode
context)
417
XsltMethods.Lang, T.BooleanX, new
QilNode
[] { lang, context }
421
public
QilNode
InvokeFloor(
QilNode
value)
425
XsltMethods.Floor, T.DoubleX, new
QilNode
[] { value }
429
public
QilNode
InvokeCeiling(
QilNode
value)
433
XsltMethods.Ceiling, T.DoubleX, new
QilNode
[] { value }
437
public
QilNode
InvokeRound(
QilNode
value)
441
XsltMethods.Round, T.DoubleX, new
QilNode
[] { value }
System\Xml\Xsl\Xslt\Focus.cs (12)
71
public
QilNode
GetCurrent()
84
public
QilNode
GetPosition()
90
public
QilNode
GetLast()
102
public void StartFocus(IList<
QilNode
> args, XslFlags flags)
134
public
QilNode
GetCurrent()
140
public
QilNode
GetPosition()
146
public
QilNode
GetLast()
175
public
QilNode
? GetCurrent()
180
public
QilNode
GetPosition()
185
public
QilNode
GetLast() =>
198
public void Sort(
QilNode
? sortKeys)
209
public QilLoop ConstructLoop(
QilNode
body)
System\Xml\Xsl\Xslt\InvokeGenerator.cs (8)
40
public
QilNode
GenerateInvoke(QilFunction func, IList<XslNode> actualArgs)
51
QilNode
? invokeArg = FindActualArg(formalArg, actualArgs);
94
QilNode
invoke = _fac.Invoke(func, _invokeArgs);
101
private static
QilNode
? FindActualArg(QilParameter formalArg, IList<XslNode> actualArgs)
117
protected override
QilNode
VisitReference(
QilNode
n)
119
QilNode
? replacement = FindClonedReference(n);
160
protected override
QilNode
VisitFunction(QilFunction n)
System\Xml\Xsl\Xslt\KeyMatchBuilder.cs (12)
38
public override
QilNode
? EndBuild(
QilNode
? result)
58
public IXPathBuilder<
QilNode
> GetPredicateBuilder(
QilNode
ctx)
68
private
QilNode
? _fixup;
74
public
QilNode
ConvertReletive2Absolute(
QilNode
node,
QilNode
fixup)
84
protected override
QilNode
Visit(
QilNode
n)
99
protected override
QilNode
VisitLoop(QilLoop n)
120
protected override
QilNode
VisitFilter(QilLoop n)
System\Xml\Xsl\Xslt\MatcherBuilder.cs (21)
98
private
QilNode
? _condition; // null means f.True()
115
public
QilNode
? Condition
160
QilNode
node = _condition!; // Walker through left path of the tree
380
private
QilNode
MatchPattern(QilIterator it, TemplateMatch match)
382
QilNode
? cond = match.Condition;
396
private
QilNode
MatchPatterns(QilIterator it, List<Pattern> patternList)
399
QilNode
result = _f.Int32(NoMatch);
410
private
QilNode
MatchPatterns(QilIterator it, XmlQueryType xt, List<Pattern> patternList,
QilNode
otherwise)
419
private static bool IsNoMatch(
QilNode
matcher)
429
private
QilNode
MatchPatternsWhosePriorityGreater(QilIterator it, List<Pattern> patternList,
QilNode
matcher)
441
QilNode
result = _f.Int32(NoMatch);
469
private
QilNode
MatchPatterns(QilIterator it, XmlQueryType xt, PatternBag patternBag,
QilNode
otherwise)
476
QilNode
matcher = _f.Int32(NoMatch);
491
public
QilNode
BuildMatcher(QilIterator it, IList<XslNode> actualArgs,
QilNode
otherwise)
493
QilNode
matcher = _f.Int32(NoMatch);
510
QilNode
[] branches = new
QilNode
[_priority + 2];
System\Xml\Xsl\Xslt\QilGenerator.cs (156)
33
public
QilNode
Replace(
QilNode
expr, QilReference lookFor, QilReference replaceBy)
41
protected override
QilNode
VisitReference(
QilNode
n)
55
private readonly XPathParser<
QilNode
> _xpathParser;
102
_xpathParser = new XPathParser<
QilNode
>();
183
QilNode
root = CompileRootExpression(compiler.StartApplyTemplates!);
225
private
QilNode
InvokeOnCurrentNodeChanged()
246
QilNode
init = _f.Int32(0);
275
QilNode
initBinding = _f.Invoke(initFunction, _f.ActualParameterList());
287
private
QilNode
CompileRootExpression(XslNode applyTmpls)
292
QilNode
result = GenerateApply(_compiler.Root!, applyTmpls);
353
private
QilNode
GetCurrentNode()
370
private
QilNode
GetCurrentPosition()
387
private
QilNode
GetLastPosition()
683
private
QilNode
CompileInstructions(IList<XslNode> instructions)
688
private
QilNode
CompileInstructions(IList<XslNode> instructions, int from)
693
private
QilNode
CompileInstructions(IList<XslNode> instructions, QilList content)
698
private
QilNode
CompileInstructions(IList<XslNode> instructions, int from, QilList content)
710
QilNode
result;
779
private
QilNode
CompileList(XslNode node)
784
private
QilNode
CompileNop()
799
private
QilNode
CompileLiteralElement(XslNode node)
862
QilNode
content = CompileInstructions(node.Content, nsList);
870
private
QilNode
CompileElement(NodeCtor node)
872
QilNode
? qilNs = CompileStringAvt(node.NsAvt);
873
QilNode
qilName = CompileStringAvt(node.NameAvt);
874
QilNode
qname;
907
QilNode
content = CompileInstructions(node.Content);
913
private
QilNode
CompileLiteralAttribute(XslNode node)
928
private
QilNode
CompileAttribute(NodeCtor node)
930
QilNode
? qilNs = CompileStringAvt(node.NsAvt);
931
QilNode
qilName = CompileStringAvt(node.NameAvt);
932
QilNode
qname;
981
private
QilNode
? ExtractText(string source, ref int pos)
1032
private
QilNode
CompileAvt(string source)
1038
QilNode
? fixedPart = ExtractText(source, ref pos);
1046
QilNode
exp = CompileXPathExpressionWithinAvt(source, ref pos);
1058
private
QilNode
? CompileStringAvt(string? avt)
1071
private
QilNode
CompileTextAvt(string avt)
1078
QilNode
avtParts = CompileAvt(avt);
1082
foreach (
QilNode
node in avtParts)
1094
private
QilNode
CompileText(Text node)
1102
private
QilNode
CompilePI(XslNode node)
1104
QilNode
qilName = CompileStringAvt(node.Select!);
1113
private
QilNode
CompileComment(XslNode node)
1118
private
QilNode
CompileError(XslNode node)
1123
private
QilNode
WrapLoopBody(ISourceLineInfo? before,
QilNode
expr, ISourceLineInfo? after)
1137
private
QilNode
CompileForEach(XslNodeEx node)
1139
QilNode
result;
1161
private
QilNode
CompileApplyTemplates(XslNodeEx node)
1163
QilNode
result;
1181
QilNode
? val = withParam.Value;
1213
private
QilNode
CompileApplyImports(XslNode node)
1221
private
QilNode
CompileCallTemplate(XslNodeEx node)
1233
QilNode
val = withParam.Value!;
1241
QilNode
result;
1272
private
QilNode
CompileUseAttributeSet(XslNode node)
1296
private
QilNode
CompileCopy(XslNode copy)
1298
QilNode
node = GetCurrentNode();
1312
QilNode
result = CompileInstructions(copy.Content, content);
1335
private
QilNode
CompileCopyOf(XslNode node)
1337
QilNode
selectExpr = CompileXPathExpression(node.Select);
1384
private
QilNode
CompileValueOf(XslNode valueOf)
1389
private
QilNode
CompileValueOfDoe(XslNode valueOf)
1394
private
QilNode
CompileWhen(XslNode whenNode,
QilNode
otherwise)
1403
private
QilNode
CompileIf(XslNode ifNode)
1408
private
QilNode
CompileChoose(XslNode node)
1411
QilNode
? result = null;
1439
private
QilNode
CompileMessage(XslNode node)
1442
QilNode
content = _f.RtfCtor(CompileInstructions(node.Content), _f.String(baseUri));
1458
private
QilNode
CompileVariable(XslNode node)
1468
private
QilNode
CompileVarParValue(XslNode node)
1476
QilNode
varValue;
1510
QilNode
paramValue = CompileVarParValue(withParam);
1545
private
QilNode
? CompileLangAttribute(string? attValue, bool fwdCompat)
1547
QilNode
? result = CompileStringAvt(attValue);
1576
private
QilNode
CompileLangAttributeToLcid(string? attValue, bool fwdCompat)
1581
private
QilNode
CompileLangToLcid(
QilNode
? lang, bool fwdCompat)
1597
private void CompileDataTypeAttribute(string? attValue, bool fwdCompat, ref
QilNode
select, out
QilNode
? select2)
1601
QilNode
? result = CompileStringAvt(attValue);
1685
private
QilNode
CompileOrderAttribute(string attName, string? attValue, string value0, string value1, bool fwdCompat)
1687
QilNode
? result = CompileStringAvt(attValue);
1727
QilNode
select;
1728
QilNode
? select2, lang, order, caseOrder;
1791
QilNode
collation = _strConcat.ToQil();
1807
private
QilNode
MatchPattern(
QilNode
pattern, QilIterator testNode)
1826
QilNode
result = _f.False();
1839
private
QilNode
MatchCountPattern(
QilNode
? countPattern, QilIterator testNode)
1852
QilNode
current = GetCurrentNode();
1853
QilNode
result;
1885
private
QilNode
PlaceMarker(
QilNode
? countPattern,
QilNode
? fromPattern, bool multiple)
1907
QilNode
? countPattern2;
1908
QilNode
countMatches, fromMatches, A, F, AF;
1938
private
QilNode
PlaceMarkerAny(
QilNode
? countPattern,
QilNode
? fromPattern)
1958
QilNode
range, fromMatches, F, AF;
1987
private
QilNode
CompileLetterValueAttribute(string? attValue, bool fwdCompat)
1994
QilNode
? result = CompileStringAvt(attValue);
2030
private
QilNode
CompileGroupingSeparatorAttribute(string? attValue, bool fwdCompat)
2032
QilNode
? result = CompileStringAvt(attValue);
2064
private
QilNode
CompileGroupingSizeAttribute(string? attValue)
2066
QilNode
? result = CompileStringAvt(attValue);
2099
private
QilNode
CompileNumber(Number num)
2101
QilNode
value;
2111
QilNode
? countPattern = (num.Count != null) ? CompileNumberPattern(num.Count) : null;
2112
QilNode
? fromPattern = (num.From != null) ? CompileNumberPattern(num.From) : null;
2146
QilNode
result = CompileMatchPattern(template.Match);
2263
QilNode
content = CompileVarParValue(varPar);
2282
private
QilNode
PhantomXPathExpression()
2287
private
QilNode
PhantomKeyMatch()
2294
private
QilNode
CompileXPathExpression(string? expr)
2297
QilNode
result;
2328
private
QilNode
CompileNodeSetExpression(string expr)
2330
QilNode
? result = _f.TryEnsureNodeSet(CompileXPathExpression(expr));
2344
private
QilNode
CompileXPathExpressionWithinAvt(string expr, ref int pos)
2348
QilNode
result;
2373
private
QilNode
CompileMatchPattern(string pttrn)
2377
QilNode
result;
2399
private
QilNode
CompileNumberPattern(string pttrn)
2403
QilNode
result;
2422
private
QilNode
CompileKeyMatch(string? pttrn)
2425
QilNode
result;
2452
private
QilNode
CompileKeyUse(Key key)
2456
QilNode
result;
2486
private
QilNode
ResolveQNameDynamic(bool ignoreDefaultNs,
QilNode
qilName)
2513
private
QilNode
GenerateApply(StylesheetLevel sheet, XslNode node)
2527
private static void SetArg(IList<XslNode> args, int pos, QilName name,
QilNode
value)
2577
QilNode
? arg = null;
2585
QilNode
value = withParam.Value!;
2615
private
QilNode
InvokeApplyFunction(StylesheetLevel sheet, QilName mode, IList<XslNode>? actualArgs)
2697
QilNode
filter = _f.Filter(iChild, _f.IsType(iChild, T.Content));
2711
QilNode
body = InvokeApplyFunction(_compiler.Root!, mode, /*actualArgs:*/null);
2785
private void SetLineInfoCheck(
QilNode
n, ISourceLineInfo? lineInfo)
2798
private static
QilNode
SetLineInfo(
QilNode
n, ISourceLineInfo? lineInfo)
2812
private
QilNode
AddDebugVariable(QilName name,
QilNode
value,
QilNode
content)
2819
private
QilNode
SetDebugNs(
QilNode
n, QilList? nsList)
2823
QilNode
nsVar = GetNsVar(nsList);
2835
private
QilNode
AddCurrentPositionLast(
QilNode
content)
2873
public
QilNode
FinishVariables(
QilNode
node, int varScope)
System\Xml\Xsl\Xslt\QilGeneratorEnv.cs (53)
60
QilNode
IFocus.GetCurrent() { return this.GetCurrentNode(); }
61
QilNode
IFocus.GetPosition() { return this.GetCurrentPosition(); }
62
QilNode
IFocus.GetLast() { return this.GetLastPosition(); }
69
QilNode
IXPathEnvironment.ResolveVariable(string prefix, string name)
79
QilNode
? var = _scope.LookupVariable(name, ns);
101
QilNode
IXPathEnvironment.ResolveFunction(string prefix, string name, IList<
QilNode
> args, IFocus env)
237
private
QilNode
GenerateScriptCall(QilName name, XmlExtensionFunction scrFunc, IList<
QilNode
> args)
376
private
QilNode
CompileFnKey(
QilNode
name,
QilNode
keys, IFocus env)
378
QilNode
result;
407
private
QilNode
CompileSingleKey(
QilNode
name,
QilNode
key, IFocus env)
410
QilNode
result;
430
QilNode
resolvedName = ResolveQNameDynamic(/*ignoreDefaultNs:*/true, i);
437
private
QilNode
CompileSingleKey(List<Key> defList,
QilNode
key, IFocus env)
446
QilNode
result = _f.Sequence();
454
private
QilNode
CompileSingleKey(List<Key> defList, QilIterator key, QilIterator context)
458
QilNode
? keyRef = null;
475
QilNode
fdef = _f.Error(SR.Xslt_UndefinedKey, name);
490
private
QilNode
CompileFnDocument(
QilNode
uris,
QilNode
? baseNode)
492
QilNode
result;
527
private
QilNode
CompileSingleDocument(
QilNode
uri,
QilNode
? baseNode)
530
QilNode
baseUri;
557
private
QilNode
CompileFormatNumber(
QilNode
value,
QilNode
formatPicture,
QilNode
? formatName)
611
QilNode
name = _f.QName(resolvedName.Name, resolvedName.Namespace);
618
QilNode
name = ResolveQNameDynamic(/*ignoreDefaultNs:*/true, i);
623
private
QilNode
CompileUnparsedEntityUri(
QilNode
n)
629
private
QilNode
CompileGenerateId(
QilNode
n)
643
private XmlQualifiedName ResolveQNameThrow(bool ignoreDefaultNs,
QilNode
qilName)
652
private
QilNode
CompileSystemProperty(
QilNode
name)
680
private
QilNode
CompileElementAvailable(
QilNode
name)
699
private
QilNode
CompileFunctionAvailable(
QilNode
name)
723
private
QilNode
CompileMsNodeSet(
QilNode
n)
737
private
QilNode
EXslObjectType(
QilNode
n)
System\Xml\Xsl\Xslt\QilStrConcatenator.cs (2)
56
public void Append(
QilNode
? value)
74
public
QilNode
ToQil()
System\Xml\Xsl\Xslt\XPathPatternBuilder.cs (52)
23
private readonly
QilNode
_fixupNode;
37
public
QilNode
FixupNode
58
private static void FixupFilterBinding(QilLoop filter,
QilNode
newBinding)
65
public
QilNode
? EndBuild(
QilNode
? result)
78
public
QilNode
Operator(XPathOperator op,
QilNode
? left,
QilNode
? right)
99
QilNode
nameTest = (
108
QilNode
typeTest = (
120
public
QilNode
Axis(XPathAxis xpathAxis, XPathNodeType nodeType, string? prefix, string? name)
188
public
QilNode
JoinStep(
QilNode
left,
QilNode
right)
224
QilNode
IXPathBuilder<
QilNode
>.Predicate(
QilNode
node,
QilNode
condition, bool isReverseStep)
234
public
QilNode
BuildPredicates(
QilNode
nodeset, List<
QilNode
> predicates)
237
List<
QilNode
> convertedPredicates = new List<
QilNode
>(predicates.Count);
238
foreach (
var
predicate in predicates)
250
foreach (
var
predicate in convertedPredicates)
262
QilNode
sibling = _f.Content(parentIter);
269
QilNode
matchingSet = siblingFilter;
270
foreach (
var
predicate in convertedPredicates)
279
QilNode
filterCurrent = _f.Filter(matchNodeIter, _f.Is(matchNodeIter, current));
289
public
QilNode
Function(string prefix, string name, IList<
QilNode
> args)
293
QilNode
matches;
321
public
QilNode
String(string value) { return _f.String(value); } // As argument of id() or key() function
322
public
QilNode
Number(double value)
327
public
QilNode
Variable(string prefix, string name)
341
public static void SetPriority(
QilNode
node, double priority)
348
public static double GetPriority(
QilNode
node)
353
private static void SetLastParent(
QilNode
node, QilLoop parent)
361
private static QilLoop? GetLastParent(
QilNode
node)
366
public static void CleanAnnotation(
QilNode
node)
373
public IXPathBuilder<
QilNode
> GetPredicateBuilder(
QilNode
ctx)
386
private readonly
QilNode
_fixupCurrent, _fixupPosition, _fixupLast;
406
public
QilNode
ResolveVariable(string prefix, string name)
410
public
QilNode
ResolveFunction(string prefix, string name, IList<
QilNode
> args, IFocus env)
419
public
QilNode
GetCurrent() { numFixupCurrent++; return _fixupCurrent; }
420
public
QilNode
GetPosition() { numFixupPosition++; return _fixupPosition; }
421
public
QilNode
GetLast() { numFixupLast++; return _fixupLast; }
437
public
QilNode
GetCurrent()
442
public
QilNode
GetPosition()
448
public
QilNode
GetLast()
System\Xml\Xsl\Xslt\XPathPatternParser.cs (22)
10
using XPathParser = System.Xml.Xsl.XPath.XPathParser<System.Xml.Xsl.Qil.
QilNode
>;
16
public interface IPatternBuilder : IXPathBuilder<
QilNode
>
18
IXPathBuilder<
QilNode
> GetPredicateBuilder(
QilNode
context);
25
public
QilNode
Parse(XPathScanner scanner, IPatternBuilder ptrnBuilder)
29
QilNode
? result = null;
52
private
QilNode
ParsePattern()
54
QilNode
opnd = ParseLocationPathPattern();
67
private
QilNode
ParseLocationPathPattern()
69
QilNode
opnd;
122
private
QilNode
ParseIdKeyPattern()
127
List<
QilNode
> args = new List<
QilNode
>(2);
161
private
QilNode
ParseRelativePathPattern()
170
QilNode
opnd = ParseStepPattern();
194
private
QilNode
ParseStepPattern()
196
QilNode
opnd;
235
List<
QilNode
> predicates = new List<
QilNode
>();
256
private
QilNode
ParsePredicate(
QilNode
context)
260
QilNode
result = _predicateParser.Parse(_scanner, _ptrnBuilder!.GetPredicateBuilder(context), LexKind.RBracket);
System\Xml\Xsl\Xslt\XslAst.cs (1)
224
public
QilNode
? Value; // Contains value for WithParams and global VarPars
System\Xml\Xsl\Xslt\XsltQilFactory.cs (81)
19
public void CheckXsltType(
QilNode
n)
43
public static void CheckQName(
QilNode
n)
49
public
QilNode
DefaultValueMarker()
54
public
QilNode
InvokeIsSameNodeSort(
QilNode
n1,
QilNode
n2)
59
XsltMethods.IsSameNodeSort, T.BooleanX, new
QilNode
[] { n1, n2 }
63
public
QilNode
InvokeSystemProperty(
QilNode
n)
67
XsltMethods.SystemProperty, T.Choice(T.DoubleX, T.StringX), new
QilNode
[] { n }
71
public
QilNode
InvokeElementAvailable(
QilNode
n)
75
XsltMethods.ElementAvailable, T.BooleanX, new
QilNode
[] { n }
79
public
QilNode
InvokeCheckScriptNamespace(string nsUri)
82
XsltMethods.CheckScriptNamespace, T.IntX, new
QilNode
[] { String(nsUri) }
86
public
QilNode
InvokeFunctionAvailable(
QilNode
n)
90
XsltMethods.FunctionAvailable, T.BooleanX, new
QilNode
[] { n }
94
public
QilNode
InvokeBaseUri(
QilNode
n)
98
XsltMethods.BaseUri, T.StringX, new
QilNode
[] { n }
102
public
QilNode
InvokeOnCurrentNodeChanged(
QilNode
n)
106
XsltMethods.OnCurrentNodeChanged, T.IntX, new
QilNode
[] { n }
110
public
QilNode
InvokeLangToLcid(
QilNode
n, bool fwdCompat)
114
XsltMethods.LangToLcid, T.IntX, new
QilNode
[] { n, Boolean(fwdCompat) }
118
public
QilNode
InvokeNumberFormat(
QilNode
value,
QilNode
format,
119
QilNode
lang,
QilNode
letterValue,
QilNode
groupingSeparator,
QilNode
groupingSize)
134
new
QilNode
[] { value, format, lang, letterValue, groupingSeparator, groupingSize }
138
public
QilNode
InvokeRegisterDecimalFormat(DecimalFormatDecl format)
143
new
QilNode
[] {
150
public
QilNode
InvokeRegisterDecimalFormatter(
QilNode
formatPicture, DecimalFormatDecl format)
156
new
QilNode
[] {
163
public
QilNode
InvokeFormatNumberStatic(
QilNode
value,
QilNode
decimalFormatIndex)
168
XsltMethods.FormatNumberStatic, T.StringX, new
QilNode
[] { value, decimalFormatIndex }
172
public
QilNode
InvokeFormatNumberDynamic(
QilNode
value,
QilNode
formatPicture,
QilNode
decimalFormatName,
QilNode
errorMessageName)
179
XsltMethods.FormatNumberDynamic, T.StringX, new
QilNode
[] { value, formatPicture, decimalFormatName, errorMessageName }
183
public
QilNode
InvokeOuterXml(
QilNode
n)
187
XsltMethods.OuterXml, T.StringX, new
QilNode
[] { n }
191
public
QilNode
InvokeMsFormatDateTime(
QilNode
datetime,
QilNode
format,
QilNode
lang,
QilNode
isDate)
198
XsltMethods.MSFormatDateTime, T.StringX, new
QilNode
[] { datetime, format, lang, isDate }
202
public
QilNode
InvokeMsStringCompare(
QilNode
x,
QilNode
y,
QilNode
lang,
QilNode
options)
209
XsltMethods.MSStringCompare, T.DoubleX, new
QilNode
[] { x, y, lang, options }
213
public
QilNode
InvokeMsUtc(
QilNode
n)
217
XsltMethods.MSUtc, T.StringX, new
QilNode
[] { n }
221
public
QilNode
InvokeMsNumber(
QilNode
n)
224
XsltMethods.MSNumber, T.DoubleX, new
QilNode
[] { n }
228
public
QilNode
InvokeMsLocalName(
QilNode
n)
232
XsltMethods.MSLocalName, T.StringX, new
QilNode
[] { n }
236
public
QilNode
InvokeMsNamespaceUri(
QilNode
n,
QilNode
currentNode)
241
XsltMethods.MSNamespaceUri, T.StringX, new
QilNode
[] { n, currentNode }
245
public
QilNode
InvokeEXslObjectType(
QilNode
n)
248
XsltMethods.EXslObjectType, T.StringX, new
QilNode
[] { n }