7 types derived from QilNode
System.Data.SqlXml (7)
System\Xml\Xsl\QIL\QilBinary.cs (1)
19
internal class QilBinary :
QilNode
{
System\Xml\Xsl\QIL\QilExpression.cs (1)
22
internal class QilExpression :
QilNode
{
System\Xml\Xsl\QIL\QilList.cs (1)
19
internal class QilList :
QilNode
{
System\Xml\Xsl\QIL\QilLiteral.cs (1)
18
internal class QilLiteral :
QilNode
{
System\Xml\Xsl\QIL\QilReference.cs (1)
15
internal class QilReference :
QilNode
{
System\Xml\Xsl\QIL\QilTernary.cs (1)
19
internal class QilTernary :
QilNode
{
System\Xml\Xsl\QIL\QilUnary.cs (1)
19
internal class QilUnary :
QilNode
{
4 instantiations of QilNode
System.Data.SqlXml (4)
System\Xml\Xsl\QIL\QilFactory.cs (4)
186
QilNode n = new
QilNode
(QilNodeType.Unknown, xmlType);
267
QilNode n = new
QilNode
(QilNodeType.True);
274
QilNode n = new
QilNode
(QilNodeType.False);
704
QilNode n = new
QilNode
(QilNodeType.XmlContext);
2274 references to QilNode
System.Data.SqlXml (2274)
System\Xml\Xsl\IlGen\OptimizerPatterns.cs (4)
70
public static OptimizerPatterns Read(
QilNode
nd) {
120
public static OptimizerPatterns Write(
QilNode
nd) {
143
public static void Inherit(
QilNode
ndSrc,
QilNode
ndDst, OptimizerPatternName pattern) {
System\Xml\Xsl\IlGen\StaticDataManager.cs (1)
111
public int DeclarePrefixMappings(IList<
QilNode
> list) {
System\Xml\Xsl\IlGen\TailCallAnalyzer.cs (1)
35
private static void AnalyzeDefinition(
QilNode
nd) {
System\Xml\Xsl\IlGen\XmlILAnnotation.cs (1)
32
public static XmlILAnnotation Write(
QilNode
nd) {
System\Xml\Xsl\IlGen\XmlILConstructAnalyzer.cs (16)
66
public static XmlILConstructInfo Read(
QilNode
nd) {
88
public static XmlILConstructInfo Write(
QilNode
nd) {
395
public virtual
QilNode
Analyze(
QilNode
ndConstr,
QilNode
ndContent) {
474
protected virtual
QilNode
AnalyzeContent(
QilNode
nd) {
476
QilNode
ndChild;
624
protected virtual void AnalyzeCopy(
QilNode
ndCopy, XmlILConstructInfo info) {
732
public override
QilNode
Analyze(
QilNode
ndElem,
QilNode
ndContent) {
765
protected override void AnalyzeCopy(
QilNode
ndCopy, XmlILConstructInfo info) {
858
public void Analyze(
QilNode
nd, bool defaultNmspInScope) {
878
private void AnalyzeContent(
QilNode
nd) {
888
foreach (
QilNode
ndContent in nd)
System\Xml\Xsl\IlGen\XmlILOptimizerVisitor.cs (633)
85
protected override
QilNode
Visit(
QilNode
nd) {
115
protected override
QilNode
VisitReference(
QilNode
oldNode) {
116
QilNode
newNode = this.subs.FindReplacement(oldNode);
125
QilNode
binding = ((QilIterator) oldNode).Binding;
142
protected bool AllowReplace(XmlILOptimization pattern,
QilNode
original) {
149
protected
QilNode
Replace(XmlILOptimization pattern,
QilNode
original,
QilNode
replacement) {
156
protected override
QilNode
NoReplace(
QilNode
node) {
200
protected override void RecalculateType(
QilNode
node, XmlQueryType oldType) {
210
protected override
QilNode
VisitQilExpression(QilExpression local0) {
211
QilNode
local1 = local0[0];
242
protected override
QilNode
VisitOptimizeBarrier(QilUnary local0) {
243
QilNode
local1 = local0[0];
247
OptimizerPatterns.Inherit((
QilNode
) (local1), (
QilNode
) (local0), OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Inherit((
QilNode
) (local1), (
QilNode
) (local0), OptimizerPatternName.SameDepth); }
255
protected override
QilNode
VisitDataSource(QilDataSource local0) {
256
QilNode
local1 = local0[0];
257
QilNode
local2 = local0[1];
277
protected override
QilNode
VisitNop(QilUnary local0) {
278
QilNode
local1 = local0[0];
288
protected override
QilNode
VisitError(QilUnary local0) {
289
QilNode
local1 = local0[0];
301
protected override
QilNode
VisitWarning(QilUnary local0) {
302
QilNode
local1 = local0[0];
317
protected override
QilNode
VisitLet(QilIterator local0) {
318
QilNode
local1 = local0[0];
329
OptimizerPatterns.Inherit((
QilNode
) (local1), (
QilNode
) (local0), OptimizerPatternName.Step); OptimizerPatterns.Inherit((
QilNode
) (local1), (
QilNode
) (local0), OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Inherit((
QilNode
) (local1), (
QilNode
) (local0), OptimizerPatternName.SameDepth); }
334
protected override
QilNode
VisitPositionOf(QilUnary local0) {
335
QilNode
local1 = local0[0];
346
QilNode
local2 = local1[0];
358
OptimizerPatterns.Write((
QilNode
) (local1)).AddPattern(OptimizerPatternName.IsPositional); }
369
protected override
QilNode
VisitAnd(QilBinary local0) {
370
QilNode
local1 = local0[0];
371
QilNode
local2 = local0[1];
423
protected override
QilNode
VisitOr(QilBinary local0) {
424
QilNode
local1 = local0[0];
425
QilNode
local2 = local0[1];
477
protected override
QilNode
VisitNot(QilUnary local0) {
478
QilNode
local1 = local0[0];
509
protected override
QilNode
VisitConditional(QilTernary local0) {
510
QilNode
local1 = local0[0];
511
QilNode
local2 = local0[1];
512
QilNode
local3 = local0[2];
559
QilNode
local4 = local1[0];
568
QilNode
local4 = local2[0];
570
QilNode
local5 = local3[0];
581
protected override
QilNode
VisitChoice(QilChoice local0) {
582
QilNode
local1 = local0[0];
583
QilNode
local2 = local0[1];
596
protected override
QilNode
VisitLength(QilUnary local0) {
597
QilNode
local1 = local0[0];
635
protected override
QilNode
VisitSequence(QilList local0) {
639
return Replace(XmlILOptimization.EliminateSequence, local0, (
QilNode
) (local0)[0] );
645
QilNode
local1 = VisitSequence(f.Sequence());
646
foreach (
QilNode
nd in local0) {
648
local1.Add((IList<
QilNode
>) nd);
661
protected override
QilNode
VisitUnion(QilBinary local0) {
662
QilNode
local1 = local0[0];
663
QilNode
local2 = local0[1];
729
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct); }
733
if ((( IsStepPattern(local2, QilNodeType.Content) ) || ( IsStepPattern(local2, QilNodeType.Union) )) && ( ( OptimizerPatterns.Read((
QilNode
) (local1)).GetArgument(OptimizerPatternArgument.StepInput) ) == ( OptimizerPatterns.Read((
QilNode
) (local2)).GetArgument(OptimizerPatternArgument.StepInput) ) )) {
736
AddStepPattern((
QilNode
) (local0), (
QilNode
) ( OptimizerPatterns.Read((
QilNode
) (local1)).GetArgument(OptimizerPatternArgument.StepInput) )); OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.SameDepth); }
743
protected override
QilNode
VisitIntersection(QilBinary local0) {
744
QilNode
local1 = local0[0];
745
QilNode
local2 = local0[1];
811
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct); }
816
protected override
QilNode
VisitDifference(QilBinary local0) {
817
QilNode
local1 = local0[0];
818
QilNode
local2 = local0[1];
884
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct); }
889
protected override
QilNode
VisitAverage(QilUnary local0) {
890
QilNode
local1 = local0[0];
910
protected override
QilNode
VisitSum(QilUnary local0) {
911
QilNode
local1 = local0[0];
931
protected override
QilNode
VisitMinimum(QilUnary local0) {
932
QilNode
local1 = local0[0];
952
protected override
QilNode
VisitMaximum(QilUnary local0) {
953
QilNode
local1 = local0[0];
976
protected override
QilNode
VisitNegate(QilUnary local0) {
977
QilNode
local1 = local0[0];
1025
protected override
QilNode
VisitAdd(QilBinary local0) {
1026
QilNode
local1 = local0[0];
1027
QilNode
local2 = local0[1];
1067
protected override
QilNode
VisitSubtract(QilBinary local0) {
1068
QilNode
local1 = local0[0];
1069
QilNode
local2 = local0[1];
1099
protected override
QilNode
VisitMultiply(QilBinary local0) {
1100
QilNode
local1 = local0[0];
1101
QilNode
local2 = local0[1];
1141
protected override
QilNode
VisitDivide(QilBinary local0) {
1142
QilNode
local1 = local0[0];
1143
QilNode
local2 = local0[1];
1173
protected override
QilNode
VisitModulo(QilBinary local0) {
1174
QilNode
local1 = local0[0];
1175
QilNode
local2 = local0[1];
1208
protected override
QilNode
VisitStrLength(QilUnary local0) {
1209
QilNode
local1 = local0[0];
1230
protected override
QilNode
VisitStrConcat(QilStrConcat local0) {
1231
QilNode
local1 = local0[0];
1232
QilNode
local2 = local0[1];
1277
protected override
QilNode
VisitStrParseQName(QilBinary local0) {
1278
QilNode
local1 = local0[0];
1279
QilNode
local2 = local0[1];
1302
protected override
QilNode
VisitNe(QilBinary local0) {
1303
QilNode
local1 = local0[0];
1304
QilNode
local2 = local0[1];
1343
QilNode
local3 = local1[0];
1344
QilNode
local4 = local1[1];
1360
QilNode
local3 = local1[0];
1363
QilNode
local4 = local2[0];
1376
QilNode
local3 = local1[0];
1394
OptimizerPatterns.Write((
QilNode
) (local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
) (local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local4); }
1401
protected override
QilNode
VisitEq(QilBinary local0) {
1402
QilNode
local1 = local0[0];
1403
QilNode
local2 = local0[1];
1442
QilNode
local3 = local1[0];
1443
QilNode
local4 = local1[1];
1459
QilNode
local3 = local1[0];
1460
QilNode
local4 = local1[1];
1473
QilNode
local3 = local1[0];
1476
QilNode
local4 = local2[0];
1489
QilNode
local3 = local1[0];
1492
QilNode
local5 = local2[1];
1494
QilNode
local6 = local5[0];
1495
QilNode
local8 = local5[1];
1497
QilNode
local7 = local6[0];
1500
QilNode
local9 = local8[0];
1504
QilNode
local10 = VisitFor(f.For(local7));
1518
QilNode
local4 = local1[1];
1520
QilNode
local5 = local4[0];
1521
QilNode
local7 = local4[1];
1523
QilNode
local6 = local5[0];
1526
QilNode
local8 = local7[0];
1529
QilNode
local9 = local2[0];
1533
QilNode
local10 = VisitFor(f.For(local6));
1547
QilNode
local3 = local1[0];
1549
QilNode
local4 = local3[0];
1550
QilNode
local5 = local3[1];
1557
QilNode
local7 = VisitFor(f.For(local5));
1568
QilNode
local3 = local1[0];
1570
QilNode
local4 = local3[0];
1571
QilNode
local5 = local3[1];
1578
QilNode
local7 = VisitFor(f.For(local4));
1593
OptimizerPatterns.Write((
QilNode
) (local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
) (local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local4); }
1600
protected override
QilNode
VisitGt(QilBinary local0) {
1601
QilNode
local1 = local0[0];
1602
QilNode
local2 = local0[1];
1641
QilNode
local3 = local1[0];
1642
QilNode
local4 = local1[1];
1658
QilNode
local3 = local1[0];
1676
OptimizerPatterns.Write((
QilNode
) (local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
) (local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local4); }
1683
protected override
QilNode
VisitGe(QilBinary local0) {
1684
QilNode
local1 = local0[0];
1685
QilNode
local2 = local0[1];
1724
QilNode
local3 = local1[0];
1725
QilNode
local4 = local1[1];
1745
OptimizerPatterns.Write((
QilNode
) (local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
) (local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local4); }
1752
protected override
QilNode
VisitLt(QilBinary local0) {
1753
QilNode
local1 = local0[0];
1754
QilNode
local2 = local0[1];
1793
QilNode
local3 = local1[0];
1794
QilNode
local4 = local1[1];
1814
OptimizerPatterns.Write((
QilNode
) (local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
) (local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local4); }
1821
protected override
QilNode
VisitLe(QilBinary local0) {
1822
QilNode
local1 = local0[0];
1823
QilNode
local2 = local0[1];
1862
QilNode
local3 = local1[0];
1863
QilNode
local4 = local1[1];
1883
OptimizerPatterns.Write((
QilNode
) (local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
) (local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local4); }
1893
protected override
QilNode
VisitIs(QilBinary local0) {
1894
QilNode
local1 = local0[0];
1895
QilNode
local2 = local0[1];
1923
protected override
QilNode
VisitAfter(QilBinary local0) {
1924
QilNode
local1 = local0[0];
1925
QilNode
local2 = local0[1];
1953
protected override
QilNode
VisitBefore(QilBinary local0) {
1954
QilNode
local1 = local0[0];
1955
QilNode
local2 = local0[1];
1986
protected override
QilNode
VisitLoop(QilLoop local0) {
1987
QilNode
local1 = local0[0];
1988
QilNode
local2 = local0[1];
1993
return Replace(XmlILOptimization.FoldNone, local0, VisitNop(f.Nop( (
QilNode
) (local1)[0] )));
1999
QilNode
local3 = local1[0];
2012
QilNode
local3 = local1[0];
2039
return Replace(XmlILOptimization.EliminateLoop, local0, (
QilNode
) (local1)[0] );
2045
QilNode
local3 = local1[0];
2048
QilNode
local4 = local2[0];
2058
if ((( (local1).NodeType == QilNodeType.Let ) || ( ( ( (
QilNode
) (local1)[0] ).XmlType ).IsSingleton )) && ( !OptimizerPatterns.Read(local1).MatchesPattern(OptimizerPatternName.MaybeSideEffects) )) {
2062
return Replace(XmlILOptimization.EliminateIteratorUsedAtMostOnce, local0, Subs(local2, local1, (
QilNode
) (local1)[0] ) );
2069
QilNode
local3 = local2[0];
2070
QilNode
local4 = local2[1];
2071
QilNode
local5 = local2[2];
2086
QilNode
local3 = local2[0];
2087
QilNode
local4 = local2[1];
2088
QilNode
local5 = local2[2];
2104
QilNode
local4 = local2[0];
2105
QilNode
local5 = local2[1];
2106
QilNode
local6 = local2[2];
2112
QilNode
local7 = VisitFor(f.For(VisitFilter(f.Filter(local1, VisitNot(f.Not(local4))))));
2124
QilNode
local4 = local2[0];
2125
QilNode
local5 = local2[1];
2126
QilNode
local6 = local2[2];
2132
QilNode
local7 = VisitFor(f.For(VisitFilter(f.Filter(local1, local4))));
2143
QilNode
local3 = local2[0];
2144
QilNode
local5 = local2[1];
2146
QilNode
local4 = local3[0];
2150
QilNode
local6 = VisitFor(f.For(VisitLoop(f.Loop(local1, local4))));
2159
QilNode
local3 = local1[0];
2163
OptimizerPatterns.Inherit((
QilNode
) (local2), (
QilNode
) (local0), OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Inherit((
QilNode
) (local2), (
QilNode
) (local0), OptimizerPatternName.SameDepth); }
2171
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.SameDepth); }
2176
QilNode
local3 = local1[0];
2177
if ( OptimizerPatterns.Read((
QilNode
) (local3)).MatchesPattern(OptimizerPatternName.SameDepth) ) {
2178
if ((( IsStepPattern(local2, QilNodeType.Content) ) || ( IsStepPattern(local2, QilNodeType.Union) )) && ( (local1) == ( OptimizerPatterns.Read((
QilNode
) (local2)).GetArgument(OptimizerPatternArgument.StepInput) ) )) {
2181
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.SameDepth); OptimizerPatterns.Inherit((
QilNode
) (local3), (
QilNode
) (local0), OptimizerPatternName.IsDocOrderDistinct); }
2188
QilNode
local3 = local1[0];
2189
if (((( IsStepPattern(local2, QilNodeType.Attribute) ) || ( IsStepPattern(local2, QilNodeType.XPathNamespace) )) || ( OptimizerPatterns.Read((
QilNode
) (local2)).MatchesPattern(OptimizerPatternName.FilterAttributeKind) )) && ( (local1) == ( OptimizerPatterns.Read((
QilNode
) (local2)).GetArgument(OptimizerPatternArgument.StepInput) ) )) {
2192
OptimizerPatterns.Inherit((
QilNode
) (local3), (
QilNode
) (local0), OptimizerPatternName.SameDepth); OptimizerPatterns.Inherit((
QilNode
) (local3), (
QilNode
) (local0), OptimizerPatternName.IsDocOrderDistinct); }
2198
QilNode
local3 = local1[0];
2199
if ( OptimizerPatterns.Read((
QilNode
) (local3)).MatchesPattern(OptimizerPatternName.SameDepth) ) {
2200
if ((( IsStepPattern(local2, QilNodeType.Descendant) ) || ( IsStepPattern(local2, QilNodeType.DescendantOrSelf) )) && ( (local1) == ( OptimizerPatterns.Read((
QilNode
) (local2)).GetArgument(OptimizerPatternArgument.StepInput) ) )) {
2203
OptimizerPatterns.Inherit((
QilNode
) (local3), (
QilNode
) (local0), OptimizerPatternName.IsDocOrderDistinct); }
2211
protected override
QilNode
VisitFilter(QilLoop local0) {
2212
QilNode
local1 = local0[0];
2213
QilNode
local2 = local0[1];
2218
return Replace(XmlILOptimization.FoldNone, local0, VisitNop(f.Nop( (
QilNode
) (local1)[0] )));
2244
return Replace(XmlILOptimization.EliminateFilter, local0, (
QilNode
) (local1)[0] );
2250
QilNode
local3 = local1[0];
2252
QilNode
local4 = local3[0];
2254
QilNode
local5 = local2[0];
2255
QilNode
local9 = local2[1];
2257
QilNode
local6 = local5[0];
2258
QilNode
local7 = local5[1];
2264
QilNode
local10 = local9[0];
2265
QilNode
local12 = local9[1];
2267
QilNode
local11 = local10[0];
2288
QilNode
local3 = local1[0];
2290
QilNode
local4 = local3[0];
2291
QilNode
local5 = local3[1];
2295
QilNode
local6 = VisitFor(f.For(local5));
2303
if (( !OptimizerPatterns.Read(local1).MatchesPattern(OptimizerPatternName.MaybeSideEffects) ) && (!( ( (
QilNode
) (local1)[0] ).NodeType == QilNodeType.OptimizeBarrier ))) {
2307
return Replace(XmlILOptimization.NormalizeLoopInvariant, local0, VisitConditional(f.Conditional(local2, (
QilNode
) (local1)[0] , VisitSequence(f.Sequence()))));
2314
QilNode
local3 = local2[0];
2315
QilNode
local5 = local2[1];
2317
QilNode
local4 = local3[0];
2323
OptimizerPatterns.Write((
QilNode
) (local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
) (local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local6); }
2331
QilNode
local3 = local2[0];
2332
QilNode
local5 = local2[1];
2334
QilNode
local4 = local3[0];
2340
OptimizerPatterns.Write((
QilNode
) (local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
) (local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local6); }
2348
QilNode
local3 = local2[0];
2349
QilNode
local5 = local2[1];
2351
QilNode
local4 = local3[0];
2357
OptimizerPatterns.Write((
QilNode
) (local1)).AddPattern(OptimizerPatternName.MaxPosition); OptimizerPatterns.Write((
QilNode
) (local1)).AddArgument(OptimizerPatternArgument.MaxPosition, local6 - 1 ); }
2365
QilNode
local3 = local1[0];
2368
OptimizerPatterns.Inherit((
QilNode
) (local3), (
QilNode
) (local0), OptimizerPatternName.Step); OptimizerPatterns.Inherit((
QilNode
) (local3), (
QilNode
) (local0), OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Inherit((
QilNode
) (local3), (
QilNode
) (local0), OptimizerPatternName.SameDepth); }
2373
QilNode
local3 = local1[0];
2374
if ( OptimizerPatterns.Read((
QilNode
) (local3)).MatchesPattern(OptimizerPatternName.Axis) ) {
2376
QilNode
local4 = local2[0];
2377
QilNode
local8 = local2[1];
2379
QilNode
local5 = local4[0];
2380
QilNode
local6 = local4[1];
2386
QilNode
local9 = local8[0];
2387
QilNode
local11 = local8[1];
2389
QilNode
local10 = local9[0];
2394
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.FilterElements); OptimizerPatterns.Write((
QilNode
) (local0)).AddArgument(OptimizerPatternArgument.ElementQName, local11); }
2409
QilNode
local3 = local1[0];
2410
if ( OptimizerPatterns.Read((
QilNode
) (local3)).MatchesPattern(OptimizerPatternName.Axis) ) {
2412
QilNode
local4 = local2[0];
2413
QilNode
local5 = local2[1];
2420
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.FilterContentKind); OptimizerPatterns.Write((
QilNode
) (local0)).AddArgument(OptimizerPatternArgument.KindTestType, local6); }
2430
QilNode
local3 = local1[0];
2433
QilNode
local5 = local2[0];
2434
QilNode
local6 = local2[1];
2441
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.FilterAttributeKind); }
2455
protected override
QilNode
VisitSort(QilLoop local0) {
2456
QilNode
local1 = local0[0];
2457
QilNode
local2 = local0[1];
2462
return Replace(XmlILOptimization.FoldNone, local0, VisitNop(f.Nop( (
QilNode
) (local1)[0] )));
2468
QilNode
local3 = local1[0];
2480
protected override
QilNode
VisitSortKey(QilSortKey local0) {
2481
QilNode
local1 = local0[0];
2482
QilNode
local2 = local0[1];
2485
QilNode
local3 = local1[0];
2486
QilNode
local4 = local1[1];
2501
protected override
QilNode
VisitDocOrderDistinct(QilUnary local0) {
2502
QilNode
local1 = local0[0];
2521
QilNode
local2 = local1[0];
2522
QilNode
local7 = local1[1];
2524
QilNode
local3 = local2[0];
2526
QilNode
local4 = local3[0];
2527
QilNode
local5 = local3[1];
2529
QilNode
local6 = local5[0];
2531
QilNode
local8 = local7[0];
2532
QilNode
local9 = local7[1];
2533
if ((( OptimizerPatterns.Read((
QilNode
) (local7)).MatchesPattern(OptimizerPatternName.FilterElements) ) || ( OptimizerPatterns.Read((
QilNode
) (local7)).MatchesPattern(OptimizerPatternName.FilterContentKind) )) && ( IsStepPattern(local7, QilNodeType.Content) )) {
2536
QilNode
local10 = VisitFor(f.For(VisitDescendant(f.Descendant(local6))));
2548
QilNode
local2 = local1[0];
2549
QilNode
local5 = local1[1];
2551
QilNode
local3 = local2[0];
2553
QilNode
local4 = local3[0];
2555
QilNode
local6 = local5[0];
2556
QilNode
local7 = local5[1];
2557
if ((( OptimizerPatterns.Read((
QilNode
) (local5)).MatchesPattern(OptimizerPatternName.FilterElements) ) || ( OptimizerPatterns.Read((
QilNode
) (local5)).MatchesPattern(OptimizerPatternName.FilterContentKind) )) && ( IsStepPattern(local5, QilNodeType.Content) )) {
2560
QilNode
local8 = VisitFor(f.For(VisitDescendant(f.Descendant(local4))));
2571
QilNode
local2 = local1[0];
2572
QilNode
local4 = local1[1];
2574
QilNode
local3 = local2[0];
2576
if (((!( OptimizerPatterns.Read((
QilNode
) (local1)).MatchesPattern(OptimizerPatternName.FilterElements) )) && (!( OptimizerPatterns.Read((
QilNode
) (local1)).MatchesPattern(OptimizerPatternName.FilterContentKind) ))) && (!( OptimizerPatterns.Read((
QilNode
) (local1)).MatchesPattern(OptimizerPatternName.FilterAttributeKind) ))) {
2579
QilNode
local5 = VisitFor(f.For(VisitDocOrderDistinct(f.DocOrderDistinct(local3))));
2589
QilNode
local2 = local1[0];
2590
QilNode
local3 = local1[1];
2592
QilNode
local4 = local3[0];
2593
QilNode
local6 = local3[1];
2595
QilNode
local5 = local4[0];
2598
if (((!( OptimizerPatterns.Read((
QilNode
) (local3)).MatchesPattern(OptimizerPatternName.FilterElements) )) && (!( OptimizerPatterns.Read((
QilNode
) (local3)).MatchesPattern(OptimizerPatternName.FilterContentKind) ))) && (!( OptimizerPatterns.Read((
QilNode
) (local3)).MatchesPattern(OptimizerPatternName.FilterAttributeKind) ))) {
2601
QilNode
local7 = VisitFor(f.For(VisitDocOrderDistinct(f.DocOrderDistinct(VisitLoop(f.Loop(local2, local5))))));
2613
QilNode
local2 = local1[0];
2614
QilNode
local4 = local1[1];
2616
QilNode
local3 = local2[0];
2619
if (((!( OptimizerPatterns.Read((
QilNode
) (local1)).MatchesPattern(OptimizerPatternName.FilterElements) )) && (!( OptimizerPatterns.Read((
QilNode
) (local1)).MatchesPattern(OptimizerPatternName.FilterContentKind) ))) && (!( OptimizerPatterns.Read((
QilNode
) (local1)).MatchesPattern(OptimizerPatternName.FilterAttributeKind) ))) {
2622
QilNode
local5 = VisitFor(f.For(VisitDocOrderDistinct(f.DocOrderDistinct(local3))));
2633
QilNode
local2 = local1[0];
2634
QilNode
local3 = local1[1];
2645
QilNode
local2 = local1[0];
2646
QilNode
local3 = local1[1];
2648
QilNode
local4 = local3[0];
2661
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Inherit((
QilNode
) (local1), (
QilNode
) (local0), OptimizerPatternName.SameDepth); }
2667
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.DodReverse); OptimizerPatterns.Write((
QilNode
) (local0)).AddArgument(OptimizerPatternArgument.DodStep, local1); }
2672
QilNode
local2 = local1[0];
2673
QilNode
local4 = local1[1];
2675
QilNode
local3 = local2[0];
2677
if (( AllowJoinAndDod(local4) ) && ( (local2) == ( OptimizerPatterns.Read((
QilNode
) (local4)).GetArgument(OptimizerPatternArgument.StepInput) ) )) {
2680
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.JoinAndDod); OptimizerPatterns.Write((
QilNode
) (local0)).AddArgument(OptimizerPatternArgument.DodStep, local4); }
2688
QilNode
local3 = local1[1];
2693
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.DodMerge); }
2704
protected override
QilNode
VisitFunction(QilFunction local0) {
2705
QilNode
local1 = local0[0];
2706
QilNode
local2 = local0[1];
2707
QilNode
local3 = local0[2];
2710
if ((( local1.Count == 2 ) && ( ( (
QilNode
) (local1)[0] ).XmlType .IsSubtypeOf( XmlQueryTypeFactory.Node ) )) && ( ( ( (
QilNode
) (local1)[1] ).XmlType ) == ( XmlQueryTypeFactory.StringX ) )) {
2712
QilNode
local5 = local2[0];
2713
QilNode
local7 = local2[1];
2715
QilNode
local6 = local5[0];
2717
QilNode
local8 = local7[0];
2719
QilNode
local9 = local8[0];
2721
QilNode
local10 = local9[0];
2722
QilNode
local12 = local9[1];
2724
QilNode
local11 = local10[0];
2726
QilNode
local13 = local12[0];
2727
QilNode
local14 = local12[1];
2730
if ( (local14) == ( (
QilNode
) (local1)[1] ) ) {
2766
if ((( local1.Count == 2 ) && ( ( ( (
QilNode
) (local1)[0] ).XmlType ) == ( XmlQueryTypeFactory.Node ) )) && ( ( ( (
QilNode
) (local1)[1] ).XmlType ) == ( XmlQueryTypeFactory.StringX ) )) {
2768
QilNode
local5 = local2[0];
2769
QilNode
local7 = local2[1];
2771
QilNode
local6 = local5[0];
2773
QilNode
local8 = local7[0];
2774
QilNode
local9 = local7[1];
2776
if ( (local9) == ( (
QilNode
) (local1)[1] ) ) {
2802
protected override
QilNode
VisitInvoke(QilInvoke local0) {
2803
QilNode
local1 = local0[0];
2804
QilNode
local2 = local0[1];
2807
QilNode
local4 = local1[1];
2825
QilNode
local4 = local1[1];
2828
OptimizerPatterns.Inherit((
QilNode
) (local4), (
QilNode
) (local0), OptimizerPatternName.IsDocOrderDistinct); OptimizerPatterns.Inherit((
QilNode
) (local4), (
QilNode
) (local0), OptimizerPatternName.SameDepth); }
2837
protected override
QilNode
VisitContent(QilUnary local0) {
2838
QilNode
local1 = local0[0];
2850
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); }
2855
protected override
QilNode
VisitAttribute(QilBinary local0) {
2856
QilNode
local1 = local0[0];
2857
QilNode
local2 = local0[1];
2877
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); }
2882
protected override
QilNode
VisitParent(QilUnary local0) {
2883
QilNode
local1 = local0[0];
2895
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); }
2900
protected override
QilNode
VisitRoot(QilUnary local0) {
2901
QilNode
local1 = local0[0];
2913
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); }
2918
protected override
QilNode
VisitDescendant(QilUnary local0) {
2919
QilNode
local1 = local0[0];
2931
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
) (local0), (
QilNode
) (local1)); OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct); }
2936
protected override
QilNode
VisitDescendantOrSelf(QilUnary local0) {
2937
QilNode
local1 = local0[0];
2949
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
) (local0), (
QilNode
) (local1)); OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct); }
2954
protected override
QilNode
VisitAncestor(QilUnary local0) {
2955
QilNode
local1 = local0[0];
2967
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
) (local0), (
QilNode
) (local1)); }
2972
protected override
QilNode
VisitAncestorOrSelf(QilUnary local0) {
2973
QilNode
local1 = local0[0];
2985
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
) (local0), (
QilNode
) (local1)); }
2990
protected override
QilNode
VisitPreceding(QilUnary local0) {
2991
QilNode
local1 = local0[0];
3003
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
) (local0), (
QilNode
) (local1)); }
3008
protected override
QilNode
VisitFollowingSibling(QilUnary local0) {
3009
QilNode
local1 = local0[0];
3021
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); }
3026
protected override
QilNode
VisitPrecedingSibling(QilUnary local0) {
3027
QilNode
local1 = local0[0];
3039
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
) (local0), (
QilNode
) (local1)); OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.SameDepth); }
3044
protected override
QilNode
VisitNodeRange(QilBinary local0) {
3045
QilNode
local1 = local0[0];
3046
QilNode
local2 = local0[1];
3066
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
) (local0), (
QilNode
) (local1)); OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct); }
3071
protected override
QilNode
VisitDeref(QilBinary local0) {
3072
QilNode
local1 = local0[0];
3073
QilNode
local2 = local0[1];
3096
protected override
QilNode
VisitElementCtor(QilBinary local0) {
3097
QilNode
local1 = local0[0];
3098
QilNode
local2 = local0[1];
3126
protected override
QilNode
VisitAttributeCtor(QilBinary local0) {
3127
QilNode
local1 = local0[0];
3128
QilNode
local2 = local0[1];
3154
protected override
QilNode
VisitCommentCtor(QilUnary local0) {
3155
QilNode
local1 = local0[0];
3173
protected override
QilNode
VisitPICtor(QilBinary local0) {
3174
QilNode
local1 = local0[0];
3175
QilNode
local2 = local0[1];
3201
protected override
QilNode
VisitTextCtor(QilUnary local0) {
3202
QilNode
local1 = local0[0];
3220
protected override
QilNode
VisitRawTextCtor(QilUnary local0) {
3221
QilNode
local1 = local0[0];
3239
protected override
QilNode
VisitDocumentCtor(QilUnary local0) {
3240
QilNode
local1 = local0[0];
3258
protected override
QilNode
VisitNamespaceDecl(QilBinary local0) {
3259
QilNode
local1 = local0[0];
3260
QilNode
local2 = local0[1];
3292
protected override
QilNode
VisitRtfCtor(QilBinary local0) {
3293
QilNode
local1 = local0[0];
3294
QilNode
local2 = local0[1];
3311
QilNode
local3 = local1[0];
3314
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.SingleTextRtf); OptimizerPatterns.Write((
QilNode
) (local0)).AddArgument(OptimizerPatternArgument.RtfText, local3);
3326
protected override
QilNode
VisitNameOf(QilUnary local0) {
3327
QilNode
local1 = local0[0];
3339
protected override
QilNode
VisitLocalNameOf(QilUnary local0) {
3340
QilNode
local1 = local0[0];
3352
protected override
QilNode
VisitNamespaceUriOf(QilUnary local0) {
3353
QilNode
local1 = local0[0];
3365
protected override
QilNode
VisitPrefixOf(QilUnary local0) {
3366
QilNode
local1 = local0[0];
3381
protected override
QilNode
VisitTypeAssert(QilTargetType local0) {
3382
QilNode
local1 = local0[0];
3383
QilNode
local2 = local0[1];
3428
protected override
QilNode
VisitIsType(QilTargetType local0) {
3429
QilNode
local1 = local0[0];
3430
QilNode
local2 = local0[1];
3505
protected override
QilNode
VisitIsEmpty(QilUnary local0) {
3506
QilNode
local1 = local0[0];
3547
protected override
QilNode
VisitXPathNodeValue(QilUnary local0) {
3548
QilNode
local1 = local0[0];
3560
protected override
QilNode
VisitXPathFollowing(QilUnary local0) {
3561
QilNode
local1 = local0[0];
3573
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
) (local0), (
QilNode
) (local1)); OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.IsDocOrderDistinct); }
3578
protected override
QilNode
VisitXPathPreceding(QilUnary local0) {
3579
QilNode
local1 = local0[0];
3591
OptimizerPatterns.Write((
QilNode
) (local0)).AddPattern(OptimizerPatternName.Axis); AddStepPattern((
QilNode
) (local0), (
QilNode
) (local1)); }
3596
protected override
QilNode
VisitXPathNamespace(QilUnary local0) {
3597
QilNode
local1 = local0[0];
3609
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); }
3617
protected override
QilNode
VisitXsltGenerateId(QilUnary local0) {
3618
QilNode
local1 = local0[0];
3630
protected override
QilNode
VisitXsltCopy(QilBinary local0) {
3631
QilNode
local1 = local0[0];
3632
QilNode
local2 = local0[1];
3658
protected override
QilNode
VisitXsltCopyOf(QilUnary local0) {
3659
QilNode
local1 = local0[0];
3677
protected override
QilNode
VisitXsltConvert(QilTargetType local0) {
3678
QilNode
local1 = local0[0];
3679
QilNode
local2 = local0[1];
3727
protected
QilNode
target;
3733
public int Count(
QilNode
expr,
QilNode
target) {
3740
protected override
QilNode
Visit(
QilNode
n) {
3750
protected override
QilNode
VisitReference(
QilNode
n) {
3760
protected
QilNode
target, parent;
3765
public bool Find(
QilNode
expr,
QilNode
target) {
3776
protected override
QilNode
Visit(
QilNode
expr) {
3782
QilNode
parentOld = this.parent;
3795
protected override
QilNode
VisitReference(
QilNode
expr) {
3805
protected virtual bool OnFound(
QilNode
expr) {
3814
protected override bool OnFound(
QilNode
expr) {
3821
protected
QilNode
ctxt, key;
3828
public bool Scan(
QilNode
expr,
QilNode
ctxt,
QilNode
key) {
3839
protected override
QilNode
VisitReference(
QilNode
expr) {
3852
protected override
QilNode
VisitRoot(QilUnary root) {
3863
private bool DependsOn(
QilNode
expr,
QilNode
target) {
3870
protected bool NonPositional(
QilNode
expr,
QilNode
iter) {
3877
private
QilNode
Subs(
QilNode
expr,
QilNode
refOld,
QilNode
refNew) {
3878
QilNode
result;
3900
private bool IsGlobalValue(
QilNode
nd) {
3941
private bool IsConstructedExpression(
QilNode
nd) {
3973
foreach (
QilNode
ndItem in nd) {
3996
private bool IsLiteral(
QilNode
nd) {
4014
private bool AreLiteralArgs(
QilNode
nd) {
4015
foreach (
QilNode
child in nd)
4025
private object ExtractLiteralValue(
QilNode
nd) {
4040
private bool HasNestedSequence(
QilNode
nd) {
4041
foreach (
QilNode
child in nd) {
4051
private bool AllowJoinAndDod(
QilNode
nd) {
4069
private bool AllowDodReverse(
QilNode
nd) {
4088
private bool CanFoldXsltConvert(
QilNode
ndLiteral, XmlQueryType typTarget) {
4097
private bool CanFoldXsltConvertNonLossy(
QilNode
ndLiteral, XmlQueryType typTarget) {
4098
QilNode
ndDest;
4119
private
QilNode
FoldXsltConvert(
QilNode
ndLiteral, XmlQueryType typTarget) {
4151
private
QilNode
FoldComparison(QilNodeType opType,
QilNode
left,
QilNode
right) {
4204
private
QilNode
FoldArithmetic(QilNodeType opType, QilLiteral left, QilLiteral right) {
4290
private void AddStepPattern(
QilNode
nd,
QilNode
input) {
4300
private bool IsDocOrderDistinct(
QilNode
nd) {
4307
private bool IsStepPattern(
QilNode
nd, QilNodeType stepType) {
4315
return patt.MatchesPattern(OptimizerPatternName.Step) && ((
QilNode
) patt.GetArgument(OptimizerPatternArgument.StepNode)).NodeType == stepType;
4321
private static void EliminateUnusedGlobals(IList<
QilNode
> globals) {
4325
QilNode
nd = globals[oldIdx];
System\Xml\Xsl\IlGen\XmlIlVisitor.cs (165)
278
protected override
QilNode
Visit(
QilNode
nd) {
315
protected override
QilNode
VisitChildren(
QilNode
parent) {
323
private void NestedConstruction(
QilNode
nd) {
338
private void CopySequence(
QilNode
nd) {
377
protected override
QilNode
VisitDataSource(QilDataSource ndSrc) {
401
protected override
QilNode
VisitNop(QilUnary ndNop) {
408
protected override
QilNode
VisitOptimizeBarrier(QilUnary ndBarrier) {
415
protected override
QilNode
VisitError(QilUnary ndErr) {
436
protected override
QilNode
VisitWarning(QilUnary ndWarning) {
458
protected override
QilNode
VisitTrue(
QilNode
ndTrue) {
484
protected override
QilNode
VisitFalse(
QilNode
ndFalse) {
505
protected override
QilNode
VisitLiteralString(QilLiteral ndStr) {
514
protected override
QilNode
VisitLiteralInt32(QilLiteral ndInt) {
523
protected override
QilNode
VisitLiteralInt64(QilLiteral ndLong) {
532
protected override
QilNode
VisitLiteralDouble(QilLiteral ndDbl) {
541
protected override
QilNode
VisitLiteralDecimal(QilLiteral ndDec) {
550
protected override
QilNode
VisitLiteralQName(QilName ndQName) {
579
protected override
QilNode
VisitAnd(QilBinary ndAnd) {
687
protected override
QilNode
VisitOr(QilBinary ndOr) {
771
protected override
QilNode
VisitNot(QilUnary ndNot) {
808
protected override
QilNode
VisitConditional(QilTernary ndCond) {
911
private void ConditionalBranch(
QilNode
ndBranch, Type itemStorageType, LocalBuilder locResult) {
935
protected override
QilNode
VisitChoice(QilChoice ndChoice) {
936
QilNode
ndBranches;
996
protected override
QilNode
VisitLength(QilUnary ndSetLen) {
1042
protected override
QilNode
VisitSequence(QilList ndSeq) {
1045
foreach (
QilNode
nd in ndSeq)
1062
private void VisitEmpty(
QilNode
nd) {
1087
foreach (
QilNode
nd in ndSeq) {
1162
protected override
QilNode
VisitUnion(QilBinary ndUnion) {
1169
protected override
QilNode
VisitIntersection(QilBinary ndInter) {
1176
protected override
QilNode
VisitDifference(QilBinary ndDiff) {
1183
private
QilNode
CreateSetIterator(QilBinary ndSet, string iterName, Type iterType, MethodInfo methCreate, MethodInfo methNext) {
1252
protected override
QilNode
VisitAverage(QilUnary ndAvg) {
1260
protected override
QilNode
VisitSum(QilUnary ndSum) {
1268
protected override
QilNode
VisitMinimum(QilUnary ndMin) {
1276
protected override
QilNode
VisitMaximum(QilUnary ndMax) {
1284
private
QilNode
CreateAggregator(QilUnary ndAgg, string aggName, XmlILStorageMethods methods, MethodInfo methAgg, MethodInfo methResult) {
1330
protected override
QilNode
VisitNegate(QilUnary ndNeg) {
1340
protected override
QilNode
VisitAdd(QilBinary ndPlus) {
1347
protected override
QilNode
VisitSubtract(QilBinary ndMinus) {
1354
protected override
QilNode
VisitMultiply(QilBinary ndMul) {
1361
protected override
QilNode
VisitDivide(QilBinary ndDiv) {
1368
protected override
QilNode
VisitModulo(QilBinary ndMod) {
1375
private
QilNode
ArithmeticOp(QilBinary ndOp) {
1385
protected override
QilNode
VisitStrLength(QilUnary ndLen) {
1395
protected override
QilNode
VisitStrConcat(QilStrConcat ndStrConcat) {
1398
QilNode
delimiter;
1399
QilNode
listStrings;
1412
foreach (
QilNode
ndStr in listStrings) {
1423
foreach (
QilNode
ndStr in listStrings)
1444
foreach (
QilNode
ndStr in listStrings)
1463
private void GenerateConcat(
QilNode
ndStr, LocalBuilder locStringConcat) {
1489
protected override
QilNode
VisitStrParseQName(QilBinary ndParsedTagName) {
1519
this.helper.LoadInteger(this.helper.StaticData.DeclarePrefixMappings(new
QilNode
[] {ndParsedTagName.Right}));
1532
protected override
QilNode
VisitNe(QilBinary ndNe) {
1540
protected override
QilNode
VisitEq(QilBinary ndEq) {
1548
protected override
QilNode
VisitGt(QilBinary ndGt) {
1556
protected override
QilNode
VisitGe(QilBinary ndGe) {
1564
protected override
QilNode
VisitLt(QilBinary ndLt) {
1572
protected override
QilNode
VisitLe(QilBinary ndLe) {
1646
protected override
QilNode
VisitIs(QilBinary ndIs) {
1659
protected override
QilNode
VisitBefore(QilBinary ndBefore) {
1667
protected override
QilNode
VisitAfter(QilBinary ndAfter) {
1689
protected override
QilNode
VisitFor(QilIterator ndFor) {
1708
protected override
QilNode
VisitLet(QilIterator ndLet) {
1716
protected override
QilNode
VisitParameter(QilParameter ndParameter) {
1724
protected override
QilNode
VisitLoop(QilLoop ndLoop) {
1745
protected override
QilNode
VisitFilter(QilLoop ndFilter) {
1776
QilNode
input, step;
1793
step = (
QilNode
) patt.GetArgument(OptimizerPatternArgument.StepNode);
1794
input = (
QilNode
) patt.GetArgument(OptimizerPatternArgument.StepInput);
1883
input = (
QilNode
) patt.GetArgument(OptimizerPatternArgument.StepInput);
1892
QilNode
keys = (
QilNode
) patt.GetArgument(OptimizerPatternArgument.KeyExpression);
2078
protected override
QilNode
VisitPositionOf(QilUnary ndPos) {
2093
protected override
QilNode
VisitSort(QilLoop ndSort) {
2212
protected override
QilNode
VisitDocOrderDistinct(QilUnary ndDod) {
2239
QilNode
input, step;
2245
OptimizerPatterns pattStep = OptimizerPatterns.Read((
QilNode
) pattDod.GetArgument(OptimizerPatternArgument.DodStep));
2263
step = (
QilNode
) pattStep.GetArgument(OptimizerPatternArgument.StepNode);
2298
input = (
QilNode
) pattStep.GetArgument(OptimizerPatternArgument.StepInput);
2363
protected override
QilNode
VisitInvoke(QilInvoke ndInvoke) {
2374
QilNode
ndActualArg = ndInvoke.Arguments[iArg];
2375
QilNode
ndFormalArg = ndInvoke.Function.Arguments[iArg];
2400
protected override
QilNode
VisitContent(QilUnary ndContent) {
2408
protected override
QilNode
VisitAttribute(QilBinary ndAttr) {
2432
protected override
QilNode
VisitParent(QilUnary ndParent) {
2451
protected override
QilNode
VisitRoot(QilUnary ndRoot) {
2472
protected override
QilNode
VisitXmlContext(
QilNode
ndCtxt) {
2483
protected override
QilNode
VisitDescendant(QilUnary ndDesc) {
2492
protected override
QilNode
VisitDescendantOrSelf(QilUnary ndDesc) {
2501
protected override
QilNode
VisitAncestor(QilUnary ndAnc) {
2510
protected override
QilNode
VisitAncestorOrSelf(QilUnary ndAnc) {
2519
protected override
QilNode
VisitPreceding(QilUnary ndPrec) {
2528
protected override
QilNode
VisitFollowingSibling(QilUnary ndFollSib) {
2537
protected override
QilNode
VisitPrecedingSibling(QilUnary ndPreSib) {
2546
protected override
QilNode
VisitNodeRange(QilBinary ndRange) {
2555
protected override
QilNode
VisitDeref(QilBinary ndDeref) {
2573
protected override
QilNode
VisitElementCtor(QilBinary ndElem) {
2622
protected override
QilNode
VisitAttributeCtor(QilBinary ndAttr) {
2658
protected override
QilNode
VisitCommentCtor(QilUnary ndComment) {
2677
protected override
QilNode
VisitPICtor(QilBinary ndPI) {
2698
protected override
QilNode
VisitTextCtor(QilUnary ndText) {
2705
protected override
QilNode
VisitRawTextCtor(QilUnary ndText) {
2712
private
QilNode
VisitTextCtor(QilUnary ndText, bool disableOutputEscaping) {
2771
protected override
QilNode
VisitDocumentCtor(QilUnary ndDoc) {
2791
protected override
QilNode
VisitNamespaceDecl(QilBinary ndNmsp) {
2825
protected override
QilNode
VisitRtfCtor(QilBinary ndRtf) {
2832
NestedVisitEnsureStack((
QilNode
) patt.GetArgument(OptimizerPatternArgument.RtfText));
2854
protected override
QilNode
VisitNameOf(QilUnary ndName) {
2861
protected override
QilNode
VisitLocalNameOf(QilUnary ndName) {
2868
protected override
QilNode
VisitNamespaceUriOf(QilUnary ndName) {
2875
protected override
QilNode
VisitPrefixOf(QilUnary ndName) {
2882
private
QilNode
VisitNodeProperty(QilUnary ndProp) {
2925
protected override
QilNode
VisitTypeAssert(QilTargetType ndTypeAssert) {
2949
protected override
QilNode
VisitIsType(QilTargetType ndIsType) {
3116
protected override
QilNode
VisitIsEmpty(QilUnary ndIsEmpty) {
3196
protected override
QilNode
VisitXPathNodeValue(QilUnary ndVal) {
3238
protected override
QilNode
VisitXPathFollowing(QilUnary ndFoll) {
3247
protected override
QilNode
VisitXPathPreceding(QilUnary ndPrec) {
3256
protected override
QilNode
VisitXPathNamespace(QilUnary ndNmsp) {
3264
protected override
QilNode
VisitXsltGenerateId(QilUnary ndGenId) {
3309
protected override
QilNode
VisitXsltInvokeLateBound(QilInvokeLateBound ndInvoke) {
3325
QilNode
ndArg = ndInvoke.Arguments[iArg];
3353
protected override
QilNode
VisitXsltInvokeEarlyBound(QilInvokeEarlyBound ndInvoke) {
3380
QilNode
ndActualArg;
3472
protected override
QilNode
VisitXsltCopy(QilBinary ndCopy) {
3506
protected override
QilNode
VisitXsltCopyOf(QilUnary ndCopyOf) {
3522
protected override
QilNode
VisitXsltConvert(QilTargetType ndConv) {
3619
private void SyncToNavigator(LocalBuilder locNav,
QilNode
ndCtxt) {
3636
private void CreateSimpleIterator(
QilNode
ndCtxt, string iterName, Type iterType, MethodInfo methCreate, MethodInfo methNext) {
3658
private void CreateFilteredIterator(
QilNode
ndCtxt, string iterName, Type iterType, MethodInfo methCreate, MethodInfo methNext,
3659
XmlNodeKindFlags kinds, QilName ndName, TriState orSelf,
QilNode
ndEnd) {
3759
private void GenerateContainerIterator(
QilNode
nd, LocalBuilder locIter, Label lblOnEndNested,
3807
private GenerateNameType LoadNameAndType(XPathNodeType nodeType,
QilNode
ndName, bool isStart, bool callChk) {
3894
private bool TryZeroCompare(QilNodeType relOp,
QilNode
ndFirst,
QilNode
ndSecond) {
3931
private bool TryNameCompare(QilNodeType relOp,
QilNode
ndFirst,
QilNode
ndSecond) {
4095
private void StartWriterLoop(
QilNode
nd, out bool hasOnEnd, out Label lblOnEnd) {
4118
private void EndWriterLoop(
QilNode
nd, bool hasOnEnd, Label lblOnEnd) {
4168
private void BeforeStartChecks(
QilNode
ndCtor) {
4196
private void AfterEndChecks(
QilNode
ndCtor) {
4308
private void StartNestedIterator(
QilNode
nd) {
4328
private void StartNestedIterator(
QilNode
nd, Label lblOnEnd) {
4336
private void EndNestedIterator(
QilNode
nd) {
4372
private void NestedVisit(
QilNode
nd, Type itemStorageType, bool isCached) {
4397
private void NestedVisit(
QilNode
nd) {
4405
private void NestedVisit(
QilNode
nd, Label lblOnEnd) {
4418
private void NestedVisitEnsureStack(
QilNode
nd) {
4427
private void NestedVisitEnsureStack(
QilNode
ndLeft,
QilNode
ndRight) {
4435
private void NestedVisitEnsureStack(
QilNode
nd, Type itemStorageType, bool isCached) {
4444
private void NestedVisitEnsureLocal(
QilNode
nd, LocalBuilder loc) {
4453
private void NestedVisitWithBranch(
QilNode
nd, BranchingContext brctxt, Label lblBranch) {
4466
private void NestedVisitEnsureCache(
QilNode
nd, Type itemStorageType) {
4547
private bool CachesResult(
QilNode
nd) {
4583
private Type GetStorageType(
QilNode
nd) {
4597
private Type GetItemStorageType(
QilNode
nd) {
System\Xml\Xsl\QIL\QilBinary.cs (6)
20
private
QilNode
left, right;
30
public QilBinary(QilNodeType nodeType,
QilNode
left,
QilNode
right) : base(nodeType) {
44
public override
QilNode
this[int index] {
66
public
QilNode
Left {
71
public
QilNode
Right {
System\Xml\Xsl\QIL\QilChoice.cs (3)
30
public QilChoice(QilNodeType nodeType,
QilNode
expression,
QilNode
branches) : base(nodeType, expression, branches) {
38
public
QilNode
Expression {
System\Xml\Xsl\QIL\QilCloneVisitor.cs (15)
39
public
QilNode
Clone(
QilNode
node) {
53
protected override
QilNode
Visit(
QilNode
oldNode) {
54
QilNode
newNode = null;
74
protected override
QilNode
VisitChildren(
QilNode
parent) {
77
QilNode
child = parent[i];
100
protected override
QilNode
VisitReference(
QilNode
oldNode) {
101
QilNode
newNode = FindClonedReference(oldNode);
113
protected override void BeginScope(
QilNode
node) {
120
protected override void EndScope(
QilNode
node) {
132
protected
QilNode
FindClonedReference(
QilNode
node) {
System\Xml\Xsl\QIL\QilDataSource.cs (4)
29
public QilDataSource(QilNodeType nodeType,
QilNode
name,
QilNode
baseUri) : base(nodeType, name, baseUri) {
37
public
QilNode
Name {
42
public
QilNode
BaseUri {
System\Xml\Xsl\QIL\QilExpression.cs (12)
24
private
QilNode
isDebug;
25
private
QilNode
defWSet;
26
private
QilNode
wsRules;
27
private
QilNode
gloVars;
28
private
QilNode
gloParams;
29
private
QilNode
earlBnd;
30
private
QilNode
funList;
31
private
QilNode
rootNod;
41
public QilExpression(QilNodeType nodeType,
QilNode
root) : this(nodeType, root, new QilFactory()) {
47
public QilExpression(QilNodeType nodeType,
QilNode
root, QilFactory factory) : base(nodeType) {
72
public override
QilNode
this[int index] {
176
public
QilNode
Root {
System\Xml\Xsl\QIL\QilFactory.cs (162)
33
public QilExpression QilExpression(
QilNode
root, QilFactory factory) {
40
public QilList FunctionList(IList<
QilNode
> values) {
46
public QilList GlobalVariableList(IList<
QilNode
> values) {
52
public QilList GlobalParameterList(IList<
QilNode
> values) {
58
public QilList ActualParameterList(IList<
QilNode
> values) {
64
public QilList FormalParameterList(IList<
QilNode
> values) {
70
public QilList SortKeyList(IList<
QilNode
> values) {
76
public QilList BranchList(IList<
QilNode
> values) {
82
public QilList Sequence(IList<
QilNode
> values) {
92
public QilStrConcat StrConcat(
QilNode
values) {
100
public QilTargetType TypeAssert(
QilNode
expr, XmlQueryType xmlType) {
101
return TypeAssert(expr, (
QilNode
) LiteralType(xmlType));
104
public QilTargetType IsType(
QilNode
expr, XmlQueryType xmlType) {
105
return IsType(expr, (
QilNode
) LiteralType(xmlType));
108
public QilTargetType XsltConvert(
QilNode
expr, XmlQueryType xmlType) {
109
return XsltConvert(expr, (
QilNode
) LiteralType(xmlType));
112
public QilFunction Function(
QilNode
arguments,
QilNode
sideEffects, XmlQueryType xmlType) {
122
public QilExpression QilExpression(
QilNode
root) {
178
public QilUnary OptimizeBarrier(
QilNode
child) {
185
public
QilNode
Unknown(XmlQueryType xmlType) {
186
QilNode
n = new QilNode(QilNodeType.Unknown, xmlType);
198
public QilDataSource DataSource(
QilNode
name,
QilNode
baseUri) {
205
public QilUnary Nop(
QilNode
child) {
212
public QilUnary Error(
QilNode
child) {
219
public QilUnary Warning(
QilNode
child) {
232
public QilIterator For(
QilNode
binding) {
239
public QilIterator Let(
QilNode
binding) {
246
public QilParameter Parameter(
QilNode
defaultValue,
QilNode
name, XmlQueryType xmlType) {
253
public QilUnary PositionOf(
QilNode
child) {
266
public
QilNode
True() {
267
QilNode
n = new QilNode(QilNodeType.True);
273
public
QilNode
False() {
274
QilNode
n = new QilNode(QilNodeType.False);
342
public QilBinary And(
QilNode
left,
QilNode
right) {
349
public QilBinary Or(
QilNode
left,
QilNode
right) {
356
public QilUnary Not(
QilNode
child) {
369
public QilTernary Conditional(
QilNode
left,
QilNode
center,
QilNode
right) {
376
public QilChoice Choice(
QilNode
expression,
QilNode
branches) {
389
public QilUnary Length(
QilNode
child) {
403
public QilBinary Union(
QilNode
left,
QilNode
right) {
410
public QilBinary Intersection(
QilNode
left,
QilNode
right) {
417
public QilBinary Difference(
QilNode
left,
QilNode
right) {
424
public QilUnary Average(
QilNode
child) {
431
public QilUnary Sum(
QilNode
child) {
438
public QilUnary Minimum(
QilNode
child) {
445
public QilUnary Maximum(
QilNode
child) {
458
public QilUnary Negate(
QilNode
child) {
465
public QilBinary Add(
QilNode
left,
QilNode
right) {
472
public QilBinary Subtract(
QilNode
left,
QilNode
right) {
479
public QilBinary Multiply(
QilNode
left,
QilNode
right) {
486
public QilBinary Divide(
QilNode
left,
QilNode
right) {
493
public QilBinary Modulo(
QilNode
left,
QilNode
right) {
506
public QilUnary StrLength(
QilNode
child) {
513
public QilStrConcat StrConcat(
QilNode
delimiter,
QilNode
values) {
520
public QilBinary StrParseQName(
QilNode
left,
QilNode
right) {
533
public QilBinary Ne(
QilNode
left,
QilNode
right) {
540
public QilBinary Eq(
QilNode
left,
QilNode
right) {
547
public QilBinary Gt(
QilNode
left,
QilNode
right) {
554
public QilBinary Ge(
QilNode
left,
QilNode
right) {
561
public QilBinary Lt(
QilNode
left,
QilNode
right) {
568
public QilBinary Le(
QilNode
left,
QilNode
right) {
581
public QilBinary Is(
QilNode
left,
QilNode
right) {
588
public QilBinary After(
QilNode
left,
QilNode
right) {
595
public QilBinary Before(
QilNode
left,
QilNode
right) {
608
public QilLoop Loop(
QilNode
variable,
QilNode
body) {
615
public QilLoop Filter(
QilNode
variable,
QilNode
body) {
628
public QilLoop Sort(
QilNode
variable,
QilNode
body) {
635
public QilSortKey SortKey(
QilNode
key,
QilNode
collation) {
642
public QilUnary DocOrderDistinct(
QilNode
child) {
655
public QilFunction Function(
QilNode
arguments,
QilNode
definition,
QilNode
sideEffects, XmlQueryType xmlType) {
662
public QilInvoke Invoke(
QilNode
function,
QilNode
arguments) {
675
public QilUnary Content(
QilNode
child) {
682
public QilBinary Attribute(
QilNode
left,
QilNode
right) {
689
public QilUnary Parent(
QilNode
child) {
696
public QilUnary Root(
QilNode
child) {
703
public
QilNode
XmlContext() {
704
QilNode
n = new QilNode(QilNodeType.XmlContext);
710
public QilUnary Descendant(
QilNode
child) {
717
public QilUnary DescendantOrSelf(
QilNode
child) {
724
public QilUnary Ancestor(
QilNode
child) {
731
public QilUnary AncestorOrSelf(
QilNode
child) {
738
public QilUnary Preceding(
QilNode
child) {
745
public QilUnary FollowingSibling(
QilNode
child) {
752
public QilUnary PrecedingSibling(
QilNode
child) {
759
public QilBinary NodeRange(
QilNode
left,
QilNode
right) {
766
public QilBinary Deref(
QilNode
left,
QilNode
right) {
779
public QilBinary ElementCtor(
QilNode
left,
QilNode
right) {
786
public QilBinary AttributeCtor(
QilNode
left,
QilNode
right) {
793
public QilUnary CommentCtor(
QilNode
child) {
800
public QilBinary PICtor(
QilNode
left,
QilNode
right) {
807
public QilUnary TextCtor(
QilNode
child) {
814
public QilUnary RawTextCtor(
QilNode
child) {
821
public QilUnary DocumentCtor(
QilNode
child) {
828
public QilBinary NamespaceDecl(
QilNode
left,
QilNode
right) {
835
public QilBinary RtfCtor(
QilNode
left,
QilNode
right) {
848
public QilUnary NameOf(
QilNode
child) {
855
public QilUnary LocalNameOf(
QilNode
child) {
862
public QilUnary NamespaceUriOf(
QilNode
child) {
869
public QilUnary PrefixOf(
QilNode
child) {
882
public QilTargetType TypeAssert(
QilNode
source,
QilNode
targetType) {
889
public QilTargetType IsType(
QilNode
source,
QilNode
targetType) {
896
public QilUnary IsEmpty(
QilNode
child) {
909
public QilUnary XPathNodeValue(
QilNode
child) {
916
public QilUnary XPathFollowing(
QilNode
child) {
923
public QilUnary XPathPreceding(
QilNode
child) {
930
public QilUnary XPathNamespace(
QilNode
child) {
943
public QilUnary XsltGenerateId(
QilNode
child) {
950
public QilInvokeLateBound XsltInvokeLateBound(
QilNode
name,
QilNode
arguments) {
957
public QilInvokeEarlyBound XsltInvokeEarlyBound(
QilNode
name,
QilNode
clrMethod,
QilNode
arguments, XmlQueryType xmlType) {
964
public QilBinary XsltCopy(
QilNode
left,
QilNode
right) {
971
public QilUnary XsltCopyOf(
QilNode
child) {
978
public QilTargetType XsltConvert(
QilNode
source,
QilNode
targetType) {
1023
public void TraceNode(
QilNode
n) {
System\Xml\Xsl\QIL\QilFunction.cs (6)
27
private
QilNode
arguments, definition, sideEffects;
36
public QilFunction(QilNodeType nodeType,
QilNode
arguments,
QilNode
definition,
QilNode
sideEffects, XmlQueryType resultType)
53
public override
QilNode
this[int index] {
88
public
QilNode
Definition {
System\Xml\Xsl\QIL\QilInvoke.cs (2)
26
public QilInvoke(QilNodeType nodeType,
QilNode
function,
QilNode
arguments) : base(nodeType, function, arguments) {
System\Xml\Xsl\QIL\QilInvokeEarlyBound.cs (3)
26
public QilInvokeEarlyBound(QilNodeType nodeType,
QilNode
name,
QilNode
method,
QilNode
arguments, XmlQueryType resultType)
System\Xml\Xsl\QIL\QilInvokeLateBound.cs (2)
24
public QilInvokeLateBound(QilNodeType nodeType,
QilNode
name,
QilNode
arguments) : base(nodeType, name, arguments) {
System\Xml\Xsl\QIL\QilIterator.cs (4)
16
private
QilNode
binding;
25
public QilIterator(QilNodeType nodeType,
QilNode
binding) : base(nodeType) {
38
public override
QilNode
this[int index] {
51
public
QilNode
Binding {
System\Xml\Xsl\QIL\QilList.cs (8)
21
private
QilNode
[] members;
32
this.members = new
QilNode
[4];
73
public override
QilNode
ShallowClone(QilFactory f) {
75
n.members = (
QilNode
[]) this.members.Clone();
89
public override
QilNode
this[int index] {
107
public override void Insert(int index,
QilNode
node) {
112
QilNode
[] membersNew = new
QilNode
[this.count * 2];
System\Xml\Xsl\QIL\QilLoop.cs (3)
30
public QilLoop(QilNodeType nodeType,
QilNode
variable,
QilNode
body) : base(nodeType, variable, body) {
43
public
QilNode
Body {
System\Xml\Xsl\QIL\QilNode.cs (16)
25
internal class QilNode : IList<
QilNode
> {
90
public virtual
QilNode
DeepClone(QilFactory f) {
97
public virtual
QilNode
ShallowClone(QilFactory f) {
98
QilNode
n = (
QilNode
) MemberwiseClone();
112
public virtual
QilNode
this[int index] {
117
public virtual void Insert(int index,
QilNode
node) {
130
public IEnumerator<
QilNode
> GetEnumerator() {
131
return new IListEnumerator<
QilNode
>(this);
135
return new IListEnumerator<
QilNode
>(this);
142
public virtual void Add(
QilNode
node) {
146
public virtual void Add(IList<
QilNode
> list) {
156
public virtual bool Contains(
QilNode
node) {
160
public virtual void CopyTo(
QilNode
[] array, int index) {
165
public virtual bool Remove(
QilNode
node) {
174
public virtual int IndexOf(
QilNode
node) {
System\Xml\Xsl\QIL\QilParameter.cs (5)
16
private
QilNode
name;
25
public QilParameter(QilNodeType nodeType,
QilNode
defaultValue,
QilNode
name, XmlQueryType xmlType) : base(nodeType, defaultValue) {
39
public override
QilNode
this[int index] {
64
public
QilNode
DefaultValue {
System\Xml\Xsl\QIL\QilPatternFactory.cs (216)
62
public
QilNode
Unknown(XmlQueryType t) {
71
public QilExpression QilExpression(
QilNode
root, QilFactory factory) {
91
public QilList ActualParameterList(
QilNode
arg1) {
97
public QilList ActualParameterList(
QilNode
arg1,
QilNode
arg2) {
104
public QilList ActualParameterList(params
QilNode
[] args) {
112
public QilList FormalParameterList(
QilNode
arg1) {
118
public QilList FormalParameterList(
QilNode
arg1,
QilNode
arg2) {
125
public QilList FormalParameterList(params
QilNode
[] args) {
139
public QilList BranchList(params
QilNode
[] args) {
143
public
QilNode
OptimizeBarrier(
QilNode
child) {
153
public
QilNode
DataSource(
QilNode
name,
QilNode
baseUri) {
157
public
QilNode
Nop(
QilNode
child) {
161
public
QilNode
Error(
QilNode
text) {
165
public
QilNode
Warning(
QilNode
text) {
175
public QilIterator For(
QilNode
binding) {
179
public QilIterator Let(
QilNode
binding) {
187
public QilParameter Parameter(
QilNode
defaultValue, QilName name, XmlQueryType t) {
191
public
QilNode
PositionOf(QilIterator expr) {
201
public
QilNode
True() {
205
public
QilNode
False() {
209
public
QilNode
Boolean(bool b) {
221
private static void CheckLogicArg(
QilNode
arg) {
228
public
QilNode
And(
QilNode
left,
QilNode
right) {
246
public
QilNode
Or(
QilNode
left,
QilNode
right) {
264
public
QilNode
Not(
QilNode
child) {
285
public
QilNode
Conditional(
QilNode
condition,
QilNode
trueBranch,
QilNode
falseBranch) {
299
public
QilNode
Choice(
QilNode
expr, QilList branches) {
318
public
QilNode
Length(
QilNode
child) {
322
public
QilNode
Sequence() {
326
public
QilNode
Sequence(
QilNode
child) {
335
public
QilNode
Sequence(
QilNode
child1,
QilNode
child2) {
342
public
QilNode
Sequence(params
QilNode
[] args) {
350
foreach (
QilNode
n in args)
355
public
QilNode
Union(
QilNode
left,
QilNode
right) {
359
public
QilNode
Sum(
QilNode
collection) {
368
public
QilNode
Negate(
QilNode
child) {
372
public
QilNode
Add(
QilNode
left,
QilNode
right) {
376
public
QilNode
Subtract(
QilNode
left,
QilNode
right) {
380
public
QilNode
Multiply(
QilNode
left,
QilNode
right) {
384
public
QilNode
Divide(
QilNode
left,
QilNode
right) {
388
public
QilNode
Modulo(
QilNode
left,
QilNode
right) {
398
public
QilNode
StrLength(
QilNode
str) {
402
public
QilNode
StrConcat(
QilNode
values) {
410
public
QilNode
StrConcat(params
QilNode
[] args) {
411
return StrConcat((IList<
QilNode
>)args);
414
public
QilNode
StrConcat(IList<
QilNode
> args) {
426
public
QilNode
StrParseQName(
QilNode
str,
QilNode
ns) {
435
public
QilNode
Ne(
QilNode
left,
QilNode
right) {
439
public
QilNode
Eq(
QilNode
left,
QilNode
right) {
443
public
QilNode
Gt(
QilNode
left,
QilNode
right) {
447
public
QilNode
Ge(
QilNode
left,
QilNode
right) {
451
public
QilNode
Lt(
QilNode
left,
QilNode
right) {
455
public
QilNode
Le(
QilNode
left,
QilNode
right) {
465
public
QilNode
Is(
QilNode
left,
QilNode
right) {
469
public
QilNode
After(
QilNode
left,
QilNode
right) {
473
public
QilNode
Before(
QilNode
left,
QilNode
right) {
483
public
QilNode
Loop(QilIterator variable,
QilNode
body) {
493
public
QilNode
Filter(QilIterator variable,
QilNode
expr) {
511
public
QilNode
Sort(QilIterator iter,
QilNode
keys) {
515
public QilSortKey SortKey(
QilNode
key,
QilNode
collation) {
519
public
QilNode
DocOrderDistinct(
QilNode
collection) {
532
public QilFunction Function(QilList args,
QilNode
sideEffects, XmlQueryType resultType) {
536
public QilFunction Function(QilList args,
QilNode
defn,
QilNode
sideEffects) {
541
public
QilNode
Invoke(QilFunction func, QilList args) {
552
public
QilNode
Content(
QilNode
context) {
556
public
QilNode
Parent(
QilNode
context) {
560
public
QilNode
Root(
QilNode
context) {
564
public
QilNode
XmlContext() {
568
public
QilNode
Descendant(
QilNode
expr) {
572
public
QilNode
DescendantOrSelf(
QilNode
context) {
576
public
QilNode
Ancestor(
QilNode
expr) {
580
public
QilNode
AncestorOrSelf(
QilNode
expr) {
584
public
QilNode
Preceding(
QilNode
expr) {
588
public
QilNode
FollowingSibling(
QilNode
expr) {
592
public
QilNode
PrecedingSibling(
QilNode
expr) {
596
public
QilNode
NodeRange(
QilNode
left,
QilNode
right) {
600
public QilBinary Deref(
QilNode
context,
QilNode
id) {
609
public
QilNode
ElementCtor(
QilNode
name,
QilNode
content) {
613
public
QilNode
AttributeCtor(
QilNode
name,
QilNode
val) {
617
public
QilNode
CommentCtor(
QilNode
content) {
621
public
QilNode
PICtor(
QilNode
name,
QilNode
content) {
625
public
QilNode
TextCtor(
QilNode
content) {
629
public
QilNode
RawTextCtor(
QilNode
content) {
633
public
QilNode
DocumentCtor(
QilNode
child) {
637
public
QilNode
NamespaceDecl(
QilNode
prefix,
QilNode
uri) {
641
public
QilNode
RtfCtor(
QilNode
content,
QilNode
baseUri) {
651
public
QilNode
NameOf(
QilNode
expr) {
655
public
QilNode
LocalNameOf(
QilNode
expr) {
659
public
QilNode
NamespaceUriOf(
QilNode
expr) {
663
public
QilNode
PrefixOf(
QilNode
expr) {
673
public
QilNode
TypeAssert(
QilNode
expr, XmlQueryType t) {
677
public
QilNode
IsType(
QilNode
expr, XmlQueryType t) {
682
public
QilNode
IsEmpty(
QilNode
set) {
692
public
QilNode
XPathNodeValue(
QilNode
expr) {
696
public
QilNode
XPathFollowing(
QilNode
expr) {
700
public
QilNode
XPathNamespace(
QilNode
expr) {
704
public
QilNode
XPathPreceding(
QilNode
expr) {
714
public
QilNode
XsltGenerateId(
QilNode
expr) {
718
public
QilNode
XsltInvokeEarlyBound(
QilNode
name, MethodInfo d, XmlQueryType t, IList<
QilNode
> args) {
724
public
QilNode
XsltInvokeLateBound(
QilNode
name, IList<
QilNode
> args) {
730
public
QilNode
XsltCopy(
QilNode
expr,
QilNode
content) {
734
public
QilNode
XsltCopyOf(
QilNode
expr) {
738
public
QilNode
XsltConvert(
QilNode
expr, XmlQueryType t) {
System\Xml\Xsl\QIL\QilPatternVisitor.cs (123)
59
protected virtual bool AllowReplace(int pattern,
QilNode
original) {
77
protected virtual
QilNode
Replace(int pattern,
QilNode
original,
QilNode
replacement) {
85
protected virtual
QilNode
NoReplace(
QilNode
node) {
97
protected override
QilNode
Visit(
QilNode
node) {
108
protected override
QilNode
VisitQilExpression(QilExpression n) { return NoReplace(n); }
109
protected override
QilNode
VisitFunctionList(QilList n) { return NoReplace(n); }
110
protected override
QilNode
VisitGlobalVariableList(QilList n) { return NoReplace(n); }
111
protected override
QilNode
VisitGlobalParameterList(QilList n) { return NoReplace(n); }
112
protected override
QilNode
VisitActualParameterList(QilList n) { return NoReplace(n); }
113
protected override
QilNode
VisitFormalParameterList(QilList n) { return NoReplace(n); }
114
protected override
QilNode
VisitSortKeyList(QilList n) { return NoReplace(n); }
115
protected override
QilNode
VisitBranchList(QilList n) { return NoReplace(n); }
116
protected override
QilNode
VisitOptimizeBarrier(QilUnary n) { return NoReplace(n); }
117
protected override
QilNode
VisitUnknown(
QilNode
n) { return NoReplace(n); }
121
protected override
QilNode
VisitDataSource(QilDataSource n) { return NoReplace(n); }
122
protected override
QilNode
VisitNop(QilUnary n) { return NoReplace(n); }
123
protected override
QilNode
VisitError(QilUnary n) { return NoReplace(n); }
124
protected override
QilNode
VisitWarning(QilUnary n) { return NoReplace(n); }
128
protected override
QilNode
VisitFor(QilIterator n) { return NoReplace(n); }
129
protected override
QilNode
VisitForReference(QilIterator n) { return NoReplace(n); }
130
protected override
QilNode
VisitLet(QilIterator n) { return NoReplace(n); }
131
protected override
QilNode
VisitLetReference(QilIterator n) { return NoReplace(n); }
132
protected override
QilNode
VisitParameter(QilParameter n) { return NoReplace(n); }
133
protected override
QilNode
VisitParameterReference(QilParameter n) { return NoReplace(n); }
134
protected override
QilNode
VisitPositionOf(QilUnary n) { return NoReplace(n); }
138
protected override
QilNode
VisitTrue(
QilNode
n) { return NoReplace(n); }
139
protected override
QilNode
VisitFalse(
QilNode
n) { return NoReplace(n); }
140
protected override
QilNode
VisitLiteralString(QilLiteral n) { return NoReplace(n); }
141
protected override
QilNode
VisitLiteralInt32(QilLiteral n) { return NoReplace(n); }
142
protected override
QilNode
VisitLiteralInt64(QilLiteral n) { return NoReplace(n); }
143
protected override
QilNode
VisitLiteralDouble(QilLiteral n) { return NoReplace(n); }
144
protected override
QilNode
VisitLiteralDecimal(QilLiteral n) { return NoReplace(n); }
145
protected override
QilNode
VisitLiteralQName(QilName n) { return NoReplace(n); }
146
protected override
QilNode
VisitLiteralType(QilLiteral n) { return NoReplace(n); }
147
protected override
QilNode
VisitLiteralObject(QilLiteral n) { return NoReplace(n); }
151
protected override
QilNode
VisitAnd(QilBinary n) { return NoReplace(n); }
152
protected override
QilNode
VisitOr(QilBinary n) { return NoReplace(n); }
153
protected override
QilNode
VisitNot(QilUnary n) { return NoReplace(n); }
157
protected override
QilNode
VisitConditional(QilTernary n) { return NoReplace(n); }
158
protected override
QilNode
VisitChoice(QilChoice n) { return NoReplace(n); }
162
protected override
QilNode
VisitLength(QilUnary n) { return NoReplace(n); }
163
protected override
QilNode
VisitSequence(QilList n) { return NoReplace(n); }
164
protected override
QilNode
VisitUnion(QilBinary n) { return NoReplace(n); }
165
protected override
QilNode
VisitIntersection(QilBinary n) { return NoReplace(n); }
166
protected override
QilNode
VisitDifference(QilBinary n) { return NoReplace(n); }
167
protected override
QilNode
VisitAverage(QilUnary n) { return NoReplace(n); }
168
protected override
QilNode
VisitSum(QilUnary n) { return NoReplace(n); }
169
protected override
QilNode
VisitMinimum(QilUnary n) { return NoReplace(n); }
170
protected override
QilNode
VisitMaximum(QilUnary n) { return NoReplace(n); }
174
protected override
QilNode
VisitNegate(QilUnary n) { return NoReplace(n); }
175
protected override
QilNode
VisitAdd(QilBinary n) { return NoReplace(n); }
176
protected override
QilNode
VisitSubtract(QilBinary n) { return NoReplace(n); }
177
protected override
QilNode
VisitMultiply(QilBinary n) { return NoReplace(n); }
178
protected override
QilNode
VisitDivide(QilBinary n) { return NoReplace(n); }
179
protected override
QilNode
VisitModulo(QilBinary n) { return NoReplace(n); }
183
protected override
QilNode
VisitStrLength(QilUnary n) { return NoReplace(n); }
184
protected override
QilNode
VisitStrConcat(QilStrConcat n) { return NoReplace(n); }
185
protected override
QilNode
VisitStrParseQName(QilBinary n) { return NoReplace(n); }
189
protected override
QilNode
VisitNe(QilBinary n) { return NoReplace(n); }
190
protected override
QilNode
VisitEq(QilBinary n) { return NoReplace(n); }
191
protected override
QilNode
VisitGt(QilBinary n) { return NoReplace(n); }
192
protected override
QilNode
VisitGe(QilBinary n) { return NoReplace(n); }
193
protected override
QilNode
VisitLt(QilBinary n) { return NoReplace(n); }
194
protected override
QilNode
VisitLe(QilBinary n) { return NoReplace(n); }
198
protected override
QilNode
VisitIs(QilBinary n) { return NoReplace(n); }
199
protected override
QilNode
VisitAfter(QilBinary n) { return NoReplace(n); }
200
protected override
QilNode
VisitBefore(QilBinary n) { return NoReplace(n); }
204
protected override
QilNode
VisitLoop(QilLoop n) { return NoReplace(n); }
205
protected override
QilNode
VisitFilter(QilLoop n) { return NoReplace(n); }
209
protected override
QilNode
VisitSort(QilLoop n) { return NoReplace(n); }
210
protected override
QilNode
VisitSortKey(QilSortKey n) { return NoReplace(n); }
211
protected override
QilNode
VisitDocOrderDistinct(QilUnary n) { return NoReplace(n); }
215
protected override
QilNode
VisitFunction(QilFunction n) { return NoReplace(n); }
216
protected override
QilNode
VisitFunctionReference(QilFunction n) { return NoReplace(n); }
217
protected override
QilNode
VisitInvoke(QilInvoke n) { return NoReplace(n); }
221
protected override
QilNode
VisitContent(QilUnary n) { return NoReplace(n); }
222
protected override
QilNode
VisitAttribute(QilBinary n) { return NoReplace(n); }
223
protected override
QilNode
VisitParent(QilUnary n) { return NoReplace(n); }
224
protected override
QilNode
VisitRoot(QilUnary n) { return NoReplace(n); }
225
protected override
QilNode
VisitXmlContext(
QilNode
n) { return NoReplace(n); }
226
protected override
QilNode
VisitDescendant(QilUnary n) { return NoReplace(n); }
227
protected override
QilNode
VisitDescendantOrSelf(QilUnary n) { return NoReplace(n); }
228
protected override
QilNode
VisitAncestor(QilUnary n) { return NoReplace(n); }
229
protected override
QilNode
VisitAncestorOrSelf(QilUnary n) { return NoReplace(n); }
230
protected override
QilNode
VisitPreceding(QilUnary n) { return NoReplace(n); }
231
protected override
QilNode
VisitFollowingSibling(QilUnary n) { return NoReplace(n); }
232
protected override
QilNode
VisitPrecedingSibling(QilUnary n) { return NoReplace(n); }
233
protected override
QilNode
VisitNodeRange(QilBinary n) { return NoReplace(n); }
234
protected override
QilNode
VisitDeref(QilBinary n) { return NoReplace(n); }
238
protected override
QilNode
VisitElementCtor(QilBinary n) { return NoReplace(n); }
239
protected override
QilNode
VisitAttributeCtor(QilBinary n) { return NoReplace(n); }
240
protected override
QilNode
VisitCommentCtor(QilUnary n) { return NoReplace(n); }
241
protected override
QilNode
VisitPICtor(QilBinary n) { return NoReplace(n); }
242
protected override
QilNode
VisitTextCtor(QilUnary n) { return NoReplace(n); }
243
protected override
QilNode
VisitRawTextCtor(QilUnary n) { return NoReplace(n); }
244
protected override
QilNode
VisitDocumentCtor(QilUnary n) { return NoReplace(n); }
245
protected override
QilNode
VisitNamespaceDecl(QilBinary n) { return NoReplace(n); }
246
protected override
QilNode
VisitRtfCtor(QilBinary n) { return NoReplace(n); }
250
protected override
QilNode
VisitNameOf(QilUnary n) { return NoReplace(n); }
251
protected override
QilNode
VisitLocalNameOf(QilUnary n) { return NoReplace(n); }
252
protected override
QilNode
VisitNamespaceUriOf(QilUnary n) { return NoReplace(n); }
253
protected override
QilNode
VisitPrefixOf(QilUnary n) { return NoReplace(n); }
257
protected override
QilNode
VisitTypeAssert(QilTargetType n) { return NoReplace(n); }
258
protected override
QilNode
VisitIsType(QilTargetType n) { return NoReplace(n); }
259
protected override
QilNode
VisitIsEmpty(QilUnary n) { return NoReplace(n); }
263
protected override
QilNode
VisitXPathNodeValue(QilUnary n) { return NoReplace(n); }
264
protected override
QilNode
VisitXPathFollowing(QilUnary n) { return NoReplace(n); }
265
protected override
QilNode
VisitXPathPreceding(QilUnary n) { return NoReplace(n); }
266
protected override
QilNode
VisitXPathNamespace(QilUnary n) { return NoReplace(n); }
270
protected override
QilNode
VisitXsltGenerateId(QilUnary n) { return NoReplace(n); }
271
protected override
QilNode
VisitXsltInvokeLateBound(QilInvokeLateBound n) { return NoReplace(n); }
272
protected override
QilNode
VisitXsltInvokeEarlyBound(QilInvokeEarlyBound n) { return NoReplace(n); }
273
protected override
QilNode
VisitXsltCopy(QilBinary n) { return NoReplace(n); }
274
protected override
QilNode
VisitXsltCopyOf(QilUnary n) { return NoReplace(n); }
275
protected override
QilNode
VisitXsltConvert(QilTargetType n) { return NoReplace(n); }
System\Xml\Xsl\QIL\QilReplaceVisitor.cs (4)
34
protected override
QilNode
VisitChildren(
QilNode
parent) {
40
QilNode
oldChild = parent[i], newChild;
70
protected virtual void RecalculateType(
QilNode
node, XmlQueryType oldType) {
System\Xml\Xsl\QIL\QilScopedVisitor.cs (15)
24
protected virtual void BeginScope(
QilNode
node) {
30
protected virtual void EndScope(
QilNode
node) {
36
protected virtual void BeforeVisit(
QilNode
node) {
43
foreach (
QilNode
param in qil.GlobalParameterList) BeginScope(param);
44
foreach (
QilNode
var in qil.GlobalVariableList) BeginScope(var);
45
foreach (
QilNode
func in qil.FunctionList) BeginScope(func);
50
foreach (
QilNode
arg in ((QilFunction) node).Arguments) BeginScope(arg);
65
protected virtual void AfterVisit(
QilNode
node) {
72
foreach (
QilNode
func in qil.FunctionList) EndScope(func);
73
foreach (
QilNode
var in qil.GlobalVariableList) EndScope(var);
74
foreach (
QilNode
param in qil.GlobalParameterList) EndScope(param);
79
foreach (
QilNode
arg in ((QilFunction) node).Arguments) EndScope(arg);
99
protected override
QilNode
Visit(
QilNode
n) {
100
QilNode
ret;
System\Xml\Xsl\QIL\QilSortKey.cs (4)
27
public QilSortKey(QilNodeType nodeType,
QilNode
key,
QilNode
collation) : base(nodeType, key, collation) {
35
public
QilNode
Key {
40
public
QilNode
Collation {
System\Xml\Xsl\QIL\QilStrConcat.cs (4)
27
public QilStrConcat(QilNodeType nodeType,
QilNode
delimiter,
QilNode
values) : base(nodeType, delimiter, values) {
38
public
QilNode
Delimiter {
46
public
QilNode
Values {
System\Xml\Xsl\QIL\QilTargetType.cs (3)
29
public QilTargetType(QilNodeType nodeType,
QilNode
expr,
QilNode
targetType) : base(nodeType, expr, targetType) {
37
public
QilNode
Source {
System\Xml\Xsl\QIL\QilTernary.cs (8)
20
private
QilNode
left, center, right;
30
public QilTernary(QilNodeType nodeType,
QilNode
left,
QilNode
center,
QilNode
right) : base(nodeType) {
45
public override
QilNode
this[int index] {
69
public
QilNode
Left {
74
public
QilNode
Center {
79
public
QilNode
Right {
System\Xml\Xsl\QIL\QilTypeChecker.cs (19)
29
public XmlQueryType Check(
QilNode
n) {
180
foreach (
QilNode
child in node)
186
foreach (
QilNode
child in node)
192
foreach (
QilNode
child in node) {
204
foreach (
QilNode
child in node)
210
foreach (
QilNode
child in node)
223
public XmlQueryType CheckUnknown(
QilNode
node) {
282
public XmlQueryType CheckTrue(
QilNode
node) {
286
public XmlQueryType CheckFalse(
QilNode
node) {
642
public XmlQueryType CheckXmlContext(
QilNode
node) {
894
private void Check(bool value,
QilNode
node, string message) {
900
private void CheckLiteralValue(
QilNode
node, Type clrTypeValue) {
908
private void CheckClass(
QilNode
node, Type clrTypeClass) {
913
private void CheckClassAndNodeType(
QilNode
node, Type clrTypeClass, QilNodeType nodeType) {
919
private void CheckXmlType(
QilNode
node, XmlQueryType xmlType) {
924
private void CheckNumericX(
QilNode
node) {
929
private void CheckNumericXS(
QilNode
node) {
934
private void CheckAtomicX(
QilNode
node) {
954
private XmlQueryType FindFilterType(QilIterator variable,
QilNode
body) {
System\Xml\Xsl\QIL\QilUnary.cs (4)
20
private
QilNode
child;
30
public QilUnary(QilNodeType nodeType,
QilNode
child) : base(nodeType) {
43
public override
QilNode
this[int index] {
53
public
QilNode
Child {
System\Xml\Xsl\QIL\QilValidationVisitor.cs (2)
41
public static void Validate(
QilNode
node) {
163
internal static void SetError(
QilNode
n, string message) {
System\Xml\Xsl\QIL\QilVisitor.cs (131)
32
protected virtual
QilNode
VisitAssumeReference(
QilNode
expr) {
42
protected virtual
QilNode
VisitChildren(
QilNode
parent) {
57
protected virtual bool IsReference(
QilNode
parent, int childNum) {
58
QilNode
child = parent[childNum];
99
protected virtual
QilNode
Visit(
QilNode
n) {
235
protected virtual
QilNode
VisitReference(
QilNode
n) {
250
protected virtual
QilNode
VisitNull() { return null; }
253
protected virtual
QilNode
VisitQilExpression(QilExpression n) { return VisitChildren(n); }
254
protected virtual
QilNode
VisitFunctionList(QilList n) { return VisitChildren(n); }
255
protected virtual
QilNode
VisitGlobalVariableList(QilList n) { return VisitChildren(n); }
256
protected virtual
QilNode
VisitGlobalParameterList(QilList n) { return VisitChildren(n); }
257
protected virtual
QilNode
VisitActualParameterList(QilList n) { return VisitChildren(n); }
258
protected virtual
QilNode
VisitFormalParameterList(QilList n) { return VisitChildren(n); }
259
protected virtual
QilNode
VisitSortKeyList(QilList n) { return VisitChildren(n); }
260
protected virtual
QilNode
VisitBranchList(QilList n) { return VisitChildren(n); }
261
protected virtual
QilNode
VisitOptimizeBarrier(QilUnary n) { return VisitChildren(n); }
262
protected virtual
QilNode
VisitUnknown(
QilNode
n) { return VisitChildren(n); }
266
protected virtual
QilNode
VisitDataSource(QilDataSource n) { return VisitChildren(n); }
267
protected virtual
QilNode
VisitNop(QilUnary n) { return VisitChildren(n); }
268
protected virtual
QilNode
VisitError(QilUnary n) { return VisitChildren(n); }
269
protected virtual
QilNode
VisitWarning(QilUnary n) { return VisitChildren(n); }
273
protected virtual
QilNode
VisitFor(QilIterator n) { return VisitChildren(n); }
274
protected virtual
QilNode
VisitForReference(QilIterator n) { return n; }
275
protected virtual
QilNode
VisitLet(QilIterator n) { return VisitChildren(n); }
276
protected virtual
QilNode
VisitLetReference(QilIterator n) { return n; }
277
protected virtual
QilNode
VisitParameter(QilParameter n) { return VisitChildren(n); }
278
protected virtual
QilNode
VisitParameterReference(QilParameter n) { return n; }
279
protected virtual
QilNode
VisitPositionOf(QilUnary n) { return VisitChildren(n); }
283
protected virtual
QilNode
VisitTrue(
QilNode
n) { return VisitChildren(n); }
284
protected virtual
QilNode
VisitFalse(
QilNode
n) { return VisitChildren(n); }
285
protected virtual
QilNode
VisitLiteralString(QilLiteral n) { return VisitChildren(n); }
286
protected virtual
QilNode
VisitLiteralInt32(QilLiteral n) { return VisitChildren(n); }
287
protected virtual
QilNode
VisitLiteralInt64(QilLiteral n) { return VisitChildren(n); }
288
protected virtual
QilNode
VisitLiteralDouble(QilLiteral n) { return VisitChildren(n); }
289
protected virtual
QilNode
VisitLiteralDecimal(QilLiteral n) { return VisitChildren(n); }
290
protected virtual
QilNode
VisitLiteralQName(QilName n) { return VisitChildren(n); }
291
protected virtual
QilNode
VisitLiteralType(QilLiteral n) { return VisitChildren(n); }
292
protected virtual
QilNode
VisitLiteralObject(QilLiteral n) { return VisitChildren(n); }
296
protected virtual
QilNode
VisitAnd(QilBinary n) { return VisitChildren(n); }
297
protected virtual
QilNode
VisitOr(QilBinary n) { return VisitChildren(n); }
298
protected virtual
QilNode
VisitNot(QilUnary n) { return VisitChildren(n); }
302
protected virtual
QilNode
VisitConditional(QilTernary n) { return VisitChildren(n); }
303
protected virtual
QilNode
VisitChoice(QilChoice n) { return VisitChildren(n); }
307
protected virtual
QilNode
VisitLength(QilUnary n) { return VisitChildren(n); }
308
protected virtual
QilNode
VisitSequence(QilList n) { return VisitChildren(n); }
309
protected virtual
QilNode
VisitUnion(QilBinary n) { return VisitChildren(n); }
310
protected virtual
QilNode
VisitIntersection(QilBinary n) { return VisitChildren(n); }
311
protected virtual
QilNode
VisitDifference(QilBinary n) { return VisitChildren(n); }
312
protected virtual
QilNode
VisitAverage(QilUnary n) { return VisitChildren(n); }
313
protected virtual
QilNode
VisitSum(QilUnary n) { return VisitChildren(n); }
314
protected virtual
QilNode
VisitMinimum(QilUnary n) { return VisitChildren(n); }
315
protected virtual
QilNode
VisitMaximum(QilUnary n) { return VisitChildren(n); }
319
protected virtual
QilNode
VisitNegate(QilUnary n) { return VisitChildren(n); }
320
protected virtual
QilNode
VisitAdd(QilBinary n) { return VisitChildren(n); }
321
protected virtual
QilNode
VisitSubtract(QilBinary n) { return VisitChildren(n); }
322
protected virtual
QilNode
VisitMultiply(QilBinary n) { return VisitChildren(n); }
323
protected virtual
QilNode
VisitDivide(QilBinary n) { return VisitChildren(n); }
324
protected virtual
QilNode
VisitModulo(QilBinary n) { return VisitChildren(n); }
328
protected virtual
QilNode
VisitStrLength(QilUnary n) { return VisitChildren(n); }
329
protected virtual
QilNode
VisitStrConcat(QilStrConcat n) { return VisitChildren(n); }
330
protected virtual
QilNode
VisitStrParseQName(QilBinary n) { return VisitChildren(n); }
334
protected virtual
QilNode
VisitNe(QilBinary n) { return VisitChildren(n); }
335
protected virtual
QilNode
VisitEq(QilBinary n) { return VisitChildren(n); }
336
protected virtual
QilNode
VisitGt(QilBinary n) { return VisitChildren(n); }
337
protected virtual
QilNode
VisitGe(QilBinary n) { return VisitChildren(n); }
338
protected virtual
QilNode
VisitLt(QilBinary n) { return VisitChildren(n); }
339
protected virtual
QilNode
VisitLe(QilBinary n) { return VisitChildren(n); }
343
protected virtual
QilNode
VisitIs(QilBinary n) { return VisitChildren(n); }
344
protected virtual
QilNode
VisitAfter(QilBinary n) { return VisitChildren(n); }
345
protected virtual
QilNode
VisitBefore(QilBinary n) { return VisitChildren(n); }
349
protected virtual
QilNode
VisitLoop(QilLoop n) { return VisitChildren(n); }
350
protected virtual
QilNode
VisitFilter(QilLoop n) { return VisitChildren(n); }
354
protected virtual
QilNode
VisitSort(QilLoop n) { return VisitChildren(n); }
355
protected virtual
QilNode
VisitSortKey(QilSortKey n) { return VisitChildren(n); }
356
protected virtual
QilNode
VisitDocOrderDistinct(QilUnary n) { return VisitChildren(n); }
360
protected virtual
QilNode
VisitFunction(QilFunction n) { return VisitChildren(n); }
361
protected virtual
QilNode
VisitFunctionReference(QilFunction n) { return n; }
362
protected virtual
QilNode
VisitInvoke(QilInvoke n) { return VisitChildren(n); }
366
protected virtual
QilNode
VisitContent(QilUnary n) { return VisitChildren(n); }
367
protected virtual
QilNode
VisitAttribute(QilBinary n) { return VisitChildren(n); }
368
protected virtual
QilNode
VisitParent(QilUnary n) { return VisitChildren(n); }
369
protected virtual
QilNode
VisitRoot(QilUnary n) { return VisitChildren(n); }
370
protected virtual
QilNode
VisitXmlContext(
QilNode
n) { return VisitChildren(n); }
371
protected virtual
QilNode
VisitDescendant(QilUnary n) { return VisitChildren(n); }
372
protected virtual
QilNode
VisitDescendantOrSelf(QilUnary n) { return VisitChildren(n); }
373
protected virtual
QilNode
VisitAncestor(QilUnary n) { return VisitChildren(n); }
374
protected virtual
QilNode
VisitAncestorOrSelf(QilUnary n) { return VisitChildren(n); }
375
protected virtual
QilNode
VisitPreceding(QilUnary n) { return VisitChildren(n); }
376
protected virtual
QilNode
VisitFollowingSibling(QilUnary n) { return VisitChildren(n); }
377
protected virtual
QilNode
VisitPrecedingSibling(QilUnary n) { return VisitChildren(n); }
378
protected virtual
QilNode
VisitNodeRange(QilBinary n) { return VisitChildren(n); }
379
protected virtual
QilNode
VisitDeref(QilBinary n) { return VisitChildren(n); }
383
protected virtual
QilNode
VisitElementCtor(QilBinary n) { return VisitChildren(n); }
384
protected virtual
QilNode
VisitAttributeCtor(QilBinary n) { return VisitChildren(n); }
385
protected virtual
QilNode
VisitCommentCtor(QilUnary n) { return VisitChildren(n); }
386
protected virtual
QilNode
VisitPICtor(QilBinary n) { return VisitChildren(n); }
387
protected virtual
QilNode
VisitTextCtor(QilUnary n) { return VisitChildren(n); }
388
protected virtual
QilNode
VisitRawTextCtor(QilUnary n) { return VisitChildren(n); }
389
protected virtual
QilNode
VisitDocumentCtor(QilUnary n) { return VisitChildren(n); }
390
protected virtual
QilNode
VisitNamespaceDecl(QilBinary n) { return VisitChildren(n); }
391
protected virtual
QilNode
VisitRtfCtor(QilBinary n) { return VisitChildren(n); }
395
protected virtual
QilNode
VisitNameOf(QilUnary n) { return VisitChildren(n); }
396
protected virtual
QilNode
VisitLocalNameOf(QilUnary n) { return VisitChildren(n); }
397
protected virtual
QilNode
VisitNamespaceUriOf(QilUnary n) { return VisitChildren(n); }
398
protected virtual
QilNode
VisitPrefixOf(QilUnary n) { return VisitChildren(n); }
402
protected virtual
QilNode
VisitTypeAssert(QilTargetType n) { return VisitChildren(n); }
403
protected virtual
QilNode
VisitIsType(QilTargetType n) { return VisitChildren(n); }
404
protected virtual
QilNode
VisitIsEmpty(QilUnary n) { return VisitChildren(n); }
408
protected virtual
QilNode
VisitXPathNodeValue(QilUnary n) { return VisitChildren(n); }
409
protected virtual
QilNode
VisitXPathFollowing(QilUnary n) { return VisitChildren(n); }
410
protected virtual
QilNode
VisitXPathPreceding(QilUnary n) { return VisitChildren(n); }
411
protected virtual
QilNode
VisitXPathNamespace(QilUnary n) { return VisitChildren(n); }
415
protected virtual
QilNode
VisitXsltGenerateId(QilUnary n) { return VisitChildren(n); }
416
protected virtual
QilNode
VisitXsltInvokeLateBound(QilInvokeLateBound n) { return VisitChildren(n); }
417
protected virtual
QilNode
VisitXsltInvokeEarlyBound(QilInvokeEarlyBound n) { return VisitChildren(n); }
418
protected virtual
QilNode
VisitXsltCopy(QilBinary n) { return VisitChildren(n); }
419
protected virtual
QilNode
VisitXsltCopyOf(QilUnary n) { return VisitChildren(n); }
420
protected virtual
QilNode
VisitXsltConvert(QilTargetType n) { return VisitChildren(n); }
429
private Dictionary<
QilNode
, bool> visitedRef = new Dictionary<
QilNode
, bool>();
431
public static void Check(
QilNode
input) {
437
private void Check(
QilNode
input, int depth) {
449
QilNode
child = input[i];
System\Xml\Xsl\QIL\QilXmlReader.cs (7)
36
private Dictionary<string,
QilNode
> scope, fwdDecls;
48
if (parms[i].ParameterType != typeof(
QilNode
))
68
this.scope = new Dictionary<string,
QilNode
>();
69
this.fwdDecls = new Dictionary<string,
QilNode
>();
106
QilNode
nd;
186
QilNode
nd;
374
nd = (
QilNode
) facMethod.Invoke(f, facArgs);
System\Xml\Xsl\QIL\QilXmlWriter.cs (27)
74
public void ToXml(
QilNode
node) {
119
protected virtual void WriteLineInfo(
QilNode
node) {
129
protected virtual void WriteXmlType(
QilNode
node) {
141
protected override
QilNode
VisitChildren(
QilNode
node) {
174
protected override
QilNode
VisitReference(
QilNode
node) {
192
protected override
QilNode
VisitQilExpression(QilExpression qil) {
193
IList<
QilNode
> fdecls = new ForwardRefFinder().Find(qil);
196
foreach (
QilNode
n in fdecls) {
219
protected override
QilNode
VisitLiteralType(QilLiteral value) {
227
protected override
QilNode
VisitLiteralQName(QilName value) {
240
protected override void BeginScope(
QilNode
node) {
247
protected override void EndScope(
QilNode
node) {
254
protected override void BeforeVisit(
QilNode
node) {
283
protected override void AfterVisit(
QilNode
node) {
298
private List<
QilNode
> fwdrefs = new List<
QilNode
>();
299
private List<
QilNode
> backrefs = new List<
QilNode
>();
301
public IList<
QilNode
> Find(QilExpression qil) {
309
protected override
QilNode
Visit(
QilNode
node) {
319
protected override
QilNode
VisitReference(
QilNode
node) {
384
public string NameOf(
QilNode
n)
406
public void ClearName(
QilNode
n)
System\Xml\Xsl\QIL\SubstitutionList.cs (5)
31
public void AddSubstitutionPair(
QilNode
find,
QilNode
replace) {
59
public
QilNode
FindReplacement(
QilNode
n) {
63
return (
QilNode
)s[i+1];
System\Xml\Xsl\XmlIlGenerator.cs (3)
186
private void CreateFunctionMetadata(IList<
QilNode
> funcList) {
237
private void CreateGlobalValueMetadata(IList<
QilNode
> globalList) {
313
private void EvaluateGlobalValues(IList<
QilNode
> iterList) {
System\Xml\Xsl\XPath\IXPathEnvironment.cs (6)
15
QilNode
GetCurrent();
19
QilNode
GetPosition();
22
QilNode
GetLast();
29
QilNode
ResolveVariable(string prefix, string name);
30
QilNode
ResolveFunction(string prefix, string name, IList<
QilNode
> args, IFocus env);
System\Xml\Xsl\XPath\XPathBuilder.cs (91)
22
internal class XPathBuilder : IXPathBuilder<
QilNode
>, IXPathEnvironment {
28
protected
QilNode
fixupCurrent, fixupPosition, fixupLast;
37
QilNode
IFocus.GetCurrent() { return GetCurrentNode (); }
38
QilNode
IFocus.GetPosition() { return GetCurrentPosition(); }
39
QilNode
IFocus.GetLast() { return GetLastPosition (); }
43
QilNode
IXPathEnvironment.ResolveVariable(string prefix, string name) {
46
QilNode
IXPathEnvironment.ResolveFunction(string prefix, string name, IList<
QilNode
> args, IFocus env) {
70
public virtual
QilNode
EndBuild(
QilNode
result) {
93
private
QilNode
GetCurrentNode () { numFixupCurrent ++; return fixupCurrent ; }
94
private
QilNode
GetCurrentPosition() { numFixupPosition ++; return fixupPosition; }
95
private
QilNode
GetLastPosition () { numFixupLast ++; return fixupLast ; }
97
public virtual
QilNode
String(string value) {
101
public virtual
QilNode
Number(double value) {
105
public virtual
QilNode
Operator(XPathOperator op,
QilNode
left,
QilNode
right) {
120
QilNode
LogicalOperator(XPathOperator op,
QilNode
left,
QilNode
right) {
130
QilNode
CompareValues(XPathOperator op,
QilNode
left,
QilNode
right, XmlTypeCode compType) {
149
QilNode
CompareNodeSetAndValue(XPathOperator op,
QilNode
nodeset,
QilNode
val, XmlTypeCode compType) {
172
QilNode
CompareNodeSetAndNodeSet(XPathOperator op,
QilNode
left,
QilNode
right, XmlTypeCode compType) {
187
QilNode
EqualityOperator(XPathOperator op,
QilNode
left,
QilNode
right) {
210
QilNode
RelationalOperator(XPathOperator op,
QilNode
left,
QilNode
right) {
231
QilNode
NegateOperator(XPathOperator op,
QilNode
left,
QilNode
right) {
237
QilNode
ArithmeticOperator(XPathOperator op,
QilNode
left,
QilNode
right) {
252
QilNode
UnionOperator(XPathOperator op,
QilNode
left,
QilNode
right) {
276
QilNode
BuildAxisFilter(
QilNode
qilAxis, XPathAxis xpathAxis, XPathNodeType nodeType, string name, string nsUri) {
332
QilNode
BuildAxis(XPathAxis xpathAxis, XPathNodeType nodeType, string nsUri, string name) {
333
QilNode
currentNode = GetCurrentNode();
334
QilNode
qilAxis;
358
QilNode
result = BuildAxisFilter(qilAxis, xpathAxis, nodeType, name, nsUri);
371
public virtual
QilNode
Axis(XPathAxis xpathAxis, XPathNodeType nodeType, string prefix, string name) {
377
public virtual
QilNode
JoinStep(
QilNode
left,
QilNode
right) {
390
public virtual
QilNode
Predicate(
QilNode
nodeset,
QilNode
predicate, bool isReverseStep) {
407
public static
QilNode
PredicateToBoolean(
QilNode
predicate, XPathQilFactory f, IXPathEnvironment env) {
428
public static
QilNode
BuildOnePredicate(
QilNode
nodeset,
QilNode
predicate, bool isReverseStep,
452
QilNode
result;
477
public virtual
QilNode
Variable(string prefix, string name) {
481
public virtual
QilNode
Function(string prefix, string name, IList<
QilNode
> args) {
529
QilNode
LocalNameOfFirstNode(
QilNode
arg) {
539
QilNode
NamespaceOfFirstNode(
QilNode
arg) {
549
QilNode
NameOf(
QilNode
arg) {
564
QilNode
NameOfFirstNode(
QilNode
arg) {
574
QilNode
Sum(
QilNode
arg) {
729
QilNode
fixupCurrent, fixupPosition, fixupLast; // fixup nodes we are replacing
731
QilNode
last; // expressions we are using to replace fixupNodes
736
public FixupVisitor(QilPatternFactory f,
QilNode
fixupCurrent,
QilNode
fixupPosition,
QilNode
fixupLast) : base(f.BaseFactory) {
743
public
QilNode
Fixup(
QilNode
inExpr, QilIterator current,
QilNode
last) {
758
public
QilNode
Fixup(
QilNode
inExpr, IXPathEnvironment environment) {
773
public int CountUnfixedLast(
QilNode
inExpr) {
780
protected override
QilNode
VisitUnknown(
QilNode
unknown) {
893
public void CastArguments(IList<
QilNode
> args, string name, XPathQilFactory f) {
System\Xml\Xsl\XPath\XPathQilFactory.cs (106)
24
public
QilNode
Error(string res,
QilNode
args) {
28
public
QilNode
Error(ISourceLineInfo lineInfo, string res, params string[] args) {
32
public QilIterator FirstNode(
QilNode
n) {
38
public bool IsAnyType(
QilNode
n) {
46
public void CheckAny(
QilNode
n) {
51
public void CheckNode(
QilNode
n) {
56
public void CheckNodeSet(
QilNode
n) {
61
public void CheckNodeNotRtf(
QilNode
n) {
66
public void CheckString(
QilNode
n) {
71
public void CheckStringS(
QilNode
n) {
76
public void CheckDouble(
QilNode
n) {
81
public void CheckBool(
QilNode
n) {
86
public bool CannotBeNodeSet(
QilNode
n) {
92
public
QilNode
SafeDocOrderDistinct(
QilNode
n) {
113
public
QilNode
InvokeFormatMessage(
QilNode
res,
QilNode
args) {
117
XsltMethods.FormatMessage, T.StringX, new
QilNode
[] { res, args }
122
public
QilNode
InvokeEqualityOperator(QilNodeType op,
QilNode
left,
QilNode
right) {
133
XsltMethods.EqualityOperator, T.BooleanX, new
QilNode
[] { Double(opCode), left, right }
137
public
QilNode
InvokeRelationalOperator(QilNodeType op,
QilNode
left,
QilNode
right) {
150
XsltMethods.RelationalOperator, T.BooleanX, new
QilNode
[] { Double(opCode), left, right }
157
private void ExpectAny(
QilNode
n) {
161
public
QilNode
ConvertToType(XmlTypeCode requiredType,
QilNode
n) {
173
public
QilNode
ConvertToString(
QilNode
n) {
177
n.NodeType == QilNodeType.True ? (
QilNode
) String("true") :
178
n.NodeType == QilNodeType.False ? (
QilNode
) String("false") :
179
/*default: */ (
QilNode
) Conditional(n, String("true"), String("false"))
183
? (
QilNode
) String(XPathConvert.DoubleToString((double)(QilLiteral)n))
184
: (
QilNode
) XsltConvert(n, T.StringX)
199
public
QilNode
ConvertToBoolean(
QilNode
n) {
226
public
QilNode
ConvertToNumber(
QilNode
n) {
230
n.NodeType == QilNodeType.True ? (
QilNode
) Double(1) :
231
n.NodeType == QilNodeType.False ? (
QilNode
) Double(0) :
232
/*default: */ (
QilNode
) Conditional(n, Double(1), Double(0))
248
public
QilNode
ConvertToNode(
QilNode
n) {
255
public
QilNode
ConvertToNodeSet(
QilNode
n) {
264
public
QilNode
TryEnsureNodeSet(
QilNode
n) {
277
public
QilNode
EnsureNodeSet(
QilNode
n) {
278
QilNode
result = TryEnsureNodeSet(n);
285
public
QilNode
InvokeEnsureNodeSet(
QilNode
n) {
287
XsltMethods.EnsureNodeSet, T.NodeSDod, new
QilNode
[] { n }
293
public
QilNode
Id(
QilNode
context,
QilNode
id) {
304
public
QilNode
InvokeStartsWith(
QilNode
str1,
QilNode
str2) {
308
XsltMethods.StartsWith, T.BooleanX, new
QilNode
[] { str1, str2 }
312
public
QilNode
InvokeContains(
QilNode
str1,
QilNode
str2) {
316
XsltMethods.Contains, T.BooleanX, new
QilNode
[] { str1, str2 }
320
public
QilNode
InvokeSubstringBefore(
QilNode
str1,
QilNode
str2) {
324
XsltMethods.SubstringBefore, T.StringX, new
QilNode
[] { str1, str2 }
328
public
QilNode
InvokeSubstringAfter(
QilNode
str1,
QilNode
str2) {
332
XsltMethods.SubstringAfter, T.StringX, new
QilNode
[] { str1, str2 }
336
public
QilNode
InvokeSubstring(
QilNode
str,
QilNode
start) {
340
XsltMethods.Substring2, T.StringX, new
QilNode
[] { str, start }
344
public
QilNode
InvokeSubstring(
QilNode
str,
QilNode
start,
QilNode
length) {
349
XsltMethods.Substring3, T.StringX, new
QilNode
[] { str, start, length }
353
public
QilNode
InvokeNormalizeSpace(
QilNode
str) {
356
XsltMethods.NormalizeSpace, T.StringX, new
QilNode
[] { str }
360
public
QilNode
InvokeTranslate(
QilNode
str1,
QilNode
str2,
QilNode
str3) {
365
XsltMethods.Translate, T.StringX, new
QilNode
[] { str1, str2, str3 }
369
public
QilNode
InvokeLang(
QilNode
lang,
QilNode
context) {
373
XsltMethods.Lang, T.BooleanX, new
QilNode
[] { lang, context }
377
public
QilNode
InvokeFloor(
QilNode
value) {
380
XsltMethods.Floor, T.DoubleX, new
QilNode
[] { value }
384
public
QilNode
InvokeCeiling(
QilNode
value) {
387
XsltMethods.Ceiling, T.DoubleX, new
QilNode
[] { value }
391
public
QilNode
InvokeRound(
QilNode
value) {
394
XsltMethods.Round, T.DoubleX, new
QilNode
[] { value }
System\Xml\Xsl\Xslt\Focus.cs (12)
66
public
QilNode
GetCurrent() {
77
public
QilNode
GetPosition() {
82
public
QilNode
GetLast() {
92
public void StartFocus(IList<
QilNode
> args, XslFlags flags) {
118
public
QilNode
GetCurrent() {
123
public
QilNode
GetPosition() {
128
public
QilNode
GetLast() {
152
public
QilNode
GetCurrent() {
156
public
QilNode
GetPosition() {
160
public
QilNode
GetLast() {
175
public void Sort(
QilNode
sortKeys) {
184
public QilLoop ConstructLoop(
QilNode
body) {
System\Xml\Xsl\Xslt\InvokeGenerator.cs (8)
42
public
QilNode
GenerateInvoke(QilFunction func, IList<XslNode> actualArgs) {
51
QilNode
invokeArg = FindActualArg(formalArg, actualArgs);
86
QilNode
invoke = fac.Invoke(func, invokeArgs);
93
private
QilNode
FindActualArg(QilParameter formalArg, IList<XslNode> actualArgs) {
106
protected override
QilNode
VisitReference(
QilNode
n) {
107
QilNode
replacement = FindClonedReference(n);
143
protected override
QilNode
VisitFunction(QilFunction n) {
System\Xml\Xsl\Xslt\KeyMatchBuilder.cs (12)
35
public override
QilNode
EndBuild(
QilNode
result) {
52
public virtual IXPathBuilder<
QilNode
> GetPredicateBuilder(
QilNode
ctx) {
61
QilNode
fixup;
66
public
QilNode
ConvertReletive2Absolute(
QilNode
node,
QilNode
fixup) {
75
protected override
QilNode
Visit(
QilNode
n) {
88
protected override
QilNode
VisitLoop(QilLoop n) {
106
protected override
QilNode
VisitFilter(QilLoop n) {
System\Xml\Xsl\Xslt\MatcherBuilder.cs (22)
99
private
QilNode
condition; // null means f.True()
113
public
QilNode
Condition {
154
QilNode
node = condition; // Walker through left path of the tree
179
QilNode
x = isType;
343
private
QilNode
MatchPattern(QilIterator it, TemplateMatch match) {
344
QilNode
cond = match.Condition;
355
private
QilNode
MatchPatterns(QilIterator it, List<Pattern> patternList) {
357
QilNode
result = f.Int32(NoMatch);
367
private
QilNode
MatchPatterns(QilIterator it, XmlQueryType xt, List<Pattern> patternList,
QilNode
otherwise) {
374
private bool IsNoMatch(
QilNode
matcher) {
382
private
QilNode
MatchPatternsWhosePriorityGreater(QilIterator it, List<Pattern> patternList,
QilNode
matcher) {
391
QilNode
result = f.Int32(NoMatch);
416
private
QilNode
MatchPatterns(QilIterator it, XmlQueryType xt, PatternBag patternBag,
QilNode
otherwise) {
421
QilNode
matcher = f.Int32(NoMatch);
435
public
QilNode
BuildMatcher(QilIterator it, IList<XslNode> actualArgs,
QilNode
otherwise) {
436
QilNode
matcher = f.Int32(NoMatch);
452
QilNode
[] branches = new
QilNode
[this.priority + 2];
System\Xml\Xsl\Xslt\QilGenerator.cs (156)
33
public
QilNode
Replace(
QilNode
expr, QilReference lookFor, QilReference replaceBy) {
40
protected override
QilNode
VisitReference(
QilNode
n) {
52
private XPathParser<
QilNode
> xpathParser;
97
xpathParser = new XPathParser<
QilNode
>();
172
QilNode
root = CompileRootExpression(compiler.StartApplyTemplates);
207
private
QilNode
InvokeOnCurrentNodeChanged() {
226
QilNode
init = f.Int32(0);
250
QilNode
initBinding = f.Invoke(initFunction, f.ActualParameterList());
261
private
QilNode
CompileRootExpression(XslNode applyTmpls) {
265
QilNode
result = GenerateApply(compiler.Root, applyTmpls);
320
private
QilNode
GetCurrentNode() {
331
private
QilNode
GetCurrentPosition() {
342
private
QilNode
GetLastPosition() {
590
private
QilNode
CompileInstructions(IList<XslNode> instructions) {
594
private
QilNode
CompileInstructions(IList<XslNode> instructions, int from) {
598
private
QilNode
CompileInstructions(IList<XslNode> instructions, QilList content) {
602
private
QilNode
CompileInstructions(IList<XslNode> instructions, int from, QilList content) {
611
QilNode
result;
675
private
QilNode
CompileList(XslNode node) {
679
private
QilNode
CompileNop(XslNode node) {
691
private
QilNode
CompileLiteralElement(XslNode node) {
741
QilNode
content = CompileInstructions(node.Content, nsList);
749
private
QilNode
CompileElement(NodeCtor node) {
750
QilNode
qilNs = CompileStringAvt(node.NsAvt);
751
QilNode
qilName = CompileStringAvt(node.NameAvt);
752
QilNode
qname;
777
QilNode
content = CompileInstructions(node.Content);
783
private
QilNode
CompileLiteralAttribute(XslNode node) {
796
private
QilNode
CompileAttribute(NodeCtor node) {
797
QilNode
qilNs = CompileStringAvt(node.NsAvt);
798
QilNode
qilName = CompileStringAvt(node.NameAvt);
799
QilNode
qname;
837
private
QilNode
ExtractText(string source, ref int pos) {
876
private
QilNode
CompileAvt(string source) {
880
QilNode
fixedPart = ExtractText(source, ref pos);
886
QilNode
exp = CompileXPathExpressionWithinAvt(source, ref pos);
898
private
QilNode
CompileStringAvt(string avt) {
908
private
QilNode
CompileTextAvt(string avt) {
913
QilNode
avtParts = CompileAvt(avt);
916
foreach (
QilNode
node in avtParts) {
925
private
QilNode
CompileText(Text node) {
932
private
QilNode
CompilePI(XslNode node) {
933
QilNode
qilName = CompileStringAvt(node.Select);
941
private
QilNode
CompileComment(XslNode node) {
945
private
QilNode
CompileError(XslNode node) {
949
private
QilNode
WrapLoopBody(ISourceLineInfo before,
QilNode
expr, ISourceLineInfo after) {
961
private
QilNode
CompileForEach(XslNodeEx node) {
962
QilNode
result;
984
private
QilNode
CompileApplyTemplates(XslNodeEx node) {
985
QilNode
result;
1001
QilNode
val = withParam.Value;
1032
private
QilNode
CompileApplyImports(XslNode node) {
1039
private
QilNode
CompileCallTemplate(XslNodeEx node) {
1048
QilNode
val = withParam.Value;
1056
QilNode
result; {
1080
private
QilNode
CompileUseAttributeSet(XslNode node) {
1099
private
QilNode
CompileCopy(XslNode copy) {
1100
QilNode
node = GetCurrentNode();
1112
QilNode
result = CompileInstructions(copy.Content, content);
1129
private
QilNode
CompileCopyOf(XslNode node) {
1130
QilNode
selectExpr = CompileXPathExpression(node.Select);
1169
private
QilNode
CompileValueOf(XslNode valueOf) {
1173
private
QilNode
CompileValueOfDoe(XslNode valueOf) {
1177
private
QilNode
CompileWhen(XslNode whenNode,
QilNode
otherwise) {
1185
private
QilNode
CompileIf(XslNode ifNode) {
1189
private
QilNode
CompileChoose(XslNode node) {
1191
QilNode
result = null;
1214
private
QilNode
CompileMessage(XslNode node) {
1216
QilNode
content = f.RtfCtor(CompileInstructions(node.Content), f.String(baseUri));
1231
private
QilNode
CompileVariable(XslNode node) {
1239
private
QilNode
CompileVarParValue(XslNode node) {
1246
QilNode
varValue;
1273
QilNode
paramValue = CompileVarParValue(withParam);
1282
private
QilNode
CompileSorts(IList<XslNode> content, ref LoopFocus parentLoop) {
1303
private
QilNode
CompileLangAttribute(string attValue, bool fwdCompat) {
1304
QilNode
result = CompileStringAvt(attValue);
1327
private
QilNode
CompileLangAttributeToLcid(string attValue, bool fwdCompat) {
1331
private
QilNode
CompileLangToLcid(
QilNode
lang, bool fwdCompat) {
1341
private void CompileDataTypeAttribute(string attValue, bool fwdCompat, ref
QilNode
select, out
QilNode
select2) {
1344
QilNode
result = CompileStringAvt(attValue);
1413
private
QilNode
CompileOrderAttribute(string attName, string attValue, string value0, string value1, bool fwdCompat) {
1414
QilNode
result = CompileStringAvt(attValue);
1444
QilNode
select, select2, lang, order, caseOrder;
1503
QilNode
collation = strConcat.ToQil();
1518
private
QilNode
MatchPattern(
QilNode
pattern, QilIterator testNode) {
1531
QilNode
result = f.False();
1543
private
QilNode
MatchCountPattern(
QilNode
countPattern, QilIterator testNode) {
1552
QilNode
current = GetCurrentNode();
1553
QilNode
result;
1583
private
QilNode
PlaceMarker(
QilNode
countPattern,
QilNode
fromPattern, bool multiple) {
1604
QilNode
countPattern2, countMatches, fromMatches, A, F, AF;
1628
private
QilNode
PlaceMarkerAny(
QilNode
countPattern,
QilNode
fromPattern) {
1647
QilNode
range, fromMatches, F, AF;
1673
private
QilNode
CompileLetterValueAttribute(string attValue, bool fwdCompat) {
1679
QilNode
result = CompileStringAvt(attValue);
1708
private
QilNode
CompileGroupingSeparatorAttribute(string attValue, bool fwdCompat) {
1709
QilNode
result = CompileStringAvt(attValue);
1734
private
QilNode
CompileGroupingSizeAttribute(string attValue, bool fwdCompat) {
1735
QilNode
result = CompileStringAvt(attValue);
1762
private
QilNode
CompileNumber(Number num) {
1763
QilNode
value;
1770
QilNode
countPattern = (num.Count != null) ? CompileNumberPattern(num.Count) : null;
1771
QilNode
fromPattern = (num.From != null) ? CompileNumberPattern(num.From ) : null;
1801
QilNode
result = CompileMatchPattern(template.Match);
1899
QilNode
content = CompileVarParValue(varPar);
1917
private
QilNode
PhantomXPathExpression() {
1921
private
QilNode
PhantomKeyMatch() {
1927
private
QilNode
CompileXPathExpression(string expr) {
1929
QilNode
result;
1952
private
QilNode
CompileNodeSetExpression(string expr) {
1953
QilNode
result = f.TryEnsureNodeSet(CompileXPathExpression(expr));
1965
private
QilNode
CompileXPathExpressionWithinAvt(string expr, ref int pos) {
1968
QilNode
result;
1989
private
QilNode
CompileMatchPattern(string pttrn) {
1992
QilNode
result;
2010
private
QilNode
CompileNumberPattern(string pttrn) {
2013
QilNode
result;
2028
private
QilNode
CompileKeyMatch(string pttrn) {
2030
QilNode
result;
2052
private
QilNode
CompileKeyUse(Key key) {
2055
QilNode
result;
2077
private
QilNode
ResolveQNameDynamic(bool ignoreDefaultNs,
QilNode
qilName) {
2098
private
QilNode
GenerateApply(StylesheetLevel sheet, XslNode node) {
2110
private void SetArg(IList<XslNode> args, int pos, QilName name,
QilNode
value) {
2141
private bool FillupInvokeArgs(IList<
QilNode
> formalArgs, IList<XslNode> actualArgs, QilList invokeArgs) {
2149
QilNode
arg = null; {
2154
QilNode
value = withParam.Value;
2179
private
QilNode
InvokeApplyFunction(StylesheetLevel sheet, QilName mode, IList<XslNode> actualArgs) {
2252
QilNode
filter = f.Filter(iChild, f.IsType(iChild, T.Content));
2266
QilNode
body = InvokeApplyFunction(compiler.Root, mode, /*actualArgs:*/null);
2328
private void SetLineInfoCheck(
QilNode
n, ISourceLineInfo lineInfo) {
2337
private static
QilNode
SetLineInfo(
QilNode
n, ISourceLineInfo lineInfo) {
2348
private
QilNode
AddDebugVariable(QilName name,
QilNode
value,
QilNode
content) {
2354
private
QilNode
SetDebugNs(
QilNode
n, QilList nsList) {
2356
QilNode
nsVar = GetNsVar(nsList);
2367
private
QilNode
AddCurrentPositionLast(
QilNode
content) {
2398
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(); }
68
QilNode
IXPathEnvironment.ResolveVariable(string prefix, string name) {
76
QilNode
var = this.scope.LookupVariable(name, ns);
93
QilNode
IXPathEnvironment.ResolveFunction(string prefix, string name, IList<
QilNode
> args, IFocus env) {
197
private
QilNode
GenerateScriptCall(QilName name, XmlExtensionFunction scrFunc, IList<
QilNode
> args) {
318
private
QilNode
CompileFnKey(
QilNode
name,
QilNode
keys, IFocus env) {
319
QilNode
result;
342
private
QilNode
CompileSingleKey(
QilNode
name,
QilNode
key, IFocus env) {
344
QilNode
result;
363
QilNode
resolvedName = ResolveQNameDynamic(/*ignoreDefaultNs:*/true, i);
370
private
QilNode
CompileSingleKey(List<Key> defList,
QilNode
key, IFocus env) {
377
QilNode
result = f.Sequence();
384
private
QilNode
CompileSingleKey(List<Key> defList, QilIterator key, QilIterator context) {
387
QilNode
keyRef = null;
402
QilNode
fdef = f.Error(Res.Xslt_UndefinedKey, name);
416
private
QilNode
CompileFnDocument(
QilNode
uris,
QilNode
baseNode) {
417
QilNode
result;
445
private
QilNode
CompileSingleDocument(
QilNode
uri,
QilNode
baseNode) {
447
QilNode
baseUri;
468
private
QilNode
CompileFormatNumber(
QilNode
value,
QilNode
formatPicture,
QilNode
formatName) {
509
QilNode
name = f.QName(resolvedName.Name, resolvedName.Namespace);
514
QilNode
name = ResolveQNameDynamic(/*ignoreDefaultNs:*/true, i);
519
private
QilNode
CompileUnparsedEntityUri(
QilNode
n) {
524
private
QilNode
CompileGenerateId(
QilNode
n) {
534
private XmlQualifiedName ResolveQNameThrow(bool ignoreDefaultNs,
QilNode
qilName) {
544
private
QilNode
CompileSystemProperty(
QilNode
name) {
564
private
QilNode
CompileElementAvailable(
QilNode
name) {
578
private
QilNode
CompileFunctionAvailable(
QilNode
name) {
596
private
QilNode
CompileMsNodeSet(
QilNode
n) {
608
private
QilNode
EXslObjectType(
QilNode
n) {
System\Xml\Xsl\Xslt\QilStrConcatenator.cs (2)
54
public void Append(
QilNode
value) {
67
public
QilNode
ToQil() {
System\Xml\Xsl\Xslt\XPathPatternBuilder.cs (53)
25
private
QilNode
fixupNode;
38
public
QilNode
FixupNode {
56
private void FixupFilterBinding(QilLoop filter,
QilNode
newBinding) {
61
public virtual
QilNode
EndBuild(
QilNode
result) {
76
public
QilNode
Operator(XPathOperator op,
QilNode
left,
QilNode
right) {
92
QilNode
nameTest = (
101
QilNode
typeTest = (
113
public
QilNode
Axis(XPathAxis xpathAxis, XPathNodeType nodeType, string prefix, string name) {
172
public
QilNode
JoinStep(
QilNode
left,
QilNode
right) {
202
QilNode
IXPathBuilder<
QilNode
>.Predicate(
QilNode
node,
QilNode
condition, bool isReverseStep) {
211
public
QilNode
BuildPredicates(
QilNode
nodeset, List<
QilNode
> predicates) {
213
List<
QilNode
> convertedPredicates = new List<
QilNode
>(predicates.Count);
214
foreach (
var
predicate in predicates) {
224
foreach (
var
predicate in convertedPredicates) {
234
QilNode
sibling = f.Content(parentIter);
241
QilNode
matchingSet = siblingFilter;
242
foreach (
var
predicate in convertedPredicates) {
250
QilNode
filterCurrent = f.Filter(matchNodeIter, f.Is(matchNodeIter, current));
260
public
QilNode
Function(string prefix, string name, IList<
QilNode
> args) {
263
QilNode
matches;
288
public
QilNode
String(string value) { return f.String(value); } // As argument of id() or key() function
289
public
QilNode
Number(double value) { return UnexpectedToken("Literal number"); }
290
public
QilNode
Variable(string prefix, string name) { return UnexpectedToken("Variable"); }
292
private
QilNode
UnexpectedToken(string tokenName) {
305
public static void SetPriority(
QilNode
node, double priority) {
311
public static double GetPriority(
QilNode
node) {
315
private static void SetLastParent(
QilNode
node, QilLoop parent) {
322
private static QilLoop GetLastParent(
QilNode
node) {
326
public static void CleanAnnotation(
QilNode
node) {
332
public IXPathBuilder<
QilNode
> GetPredicateBuilder(
QilNode
ctx) {
343
private readonly
QilNode
fixupCurrent, fixupPosition, fixupLast;
362
public
QilNode
ResolveVariable(string prefix, string name) {
365
public
QilNode
ResolveFunction(string prefix, string name, IList<
QilNode
> args, IFocus env) {
372
public
QilNode
GetCurrent() { numFixupCurrent++; return fixupCurrent; }
373
public
QilNode
GetPosition() { numFixupPosition++; return fixupPosition; }
374
public
QilNode
GetLast() { numFixupLast++; return fixupLast; }
388
public
QilNode
GetCurrent() {
392
public
QilNode
GetPosition() {
397
public
QilNode
GetLast() {
System\Xml\Xsl\Xslt\XPathPatternParser.cs (22)
15
using XPathParser = XPathParser<
QilNode
>;
20
public interface IPatternBuilder : IXPathBuilder<
QilNode
> {
21
IXPathBuilder<
QilNode
> GetPredicateBuilder(
QilNode
context);
28
public
QilNode
Parse(XPathScanner scanner, IPatternBuilder ptrnBuilder) {
31
QilNode
result = null;
51
private
QilNode
ParsePattern() {
52
QilNode
opnd = ParseLocationPathPattern();
64
private
QilNode
ParseLocationPathPattern() {
65
QilNode
opnd;
114
private
QilNode
ParseIdKeyPattern() {
118
List<
QilNode
> args = new List<
QilNode
>(2);
149
private
QilNode
ParseRelativePathPattern() {
155
QilNode
opnd = ParseStepPattern();
176
private
QilNode
ParseStepPattern() {
177
QilNode
opnd;
213
List<
QilNode
> predicates = new List<
QilNode
>();
231
private
QilNode
ParsePredicate(
QilNode
context) {
234
QilNode
result = predicateParser.Parse(scanner, ptrnBuilder.GetPredicateBuilder(context), LexKind.RBracket);
System\Xml\Xsl\Xslt\XslAst.cs (1)
250
public
QilNode
Value; // Contains value for WithParams and global VarPars
System\Xml\Xsl\Xslt\XsltQilFactory.cs (83)
24
public void CheckXsltType(
QilNode
n) {
46
public void CheckQName(
QilNode
n) {
51
public
QilNode
DefaultValueMarker() {
55
public
QilNode
IsDefaultValueMarker(
QilNode
n) {
59
public
QilNode
InvokeIsSameNodeSort(
QilNode
n1,
QilNode
n2) {
63
XsltMethods.IsSameNodeSort, T.BooleanX, new
QilNode
[] { n1, n2 }
67
public
QilNode
InvokeSystemProperty(
QilNode
n) {
70
XsltMethods.SystemProperty, T.Choice(T.DoubleX, T.StringX), new
QilNode
[] { n }
74
public
QilNode
InvokeElementAvailable(
QilNode
n) {
77
XsltMethods.ElementAvailable, T.BooleanX, new
QilNode
[] { n }
81
public
QilNode
InvokeCheckScriptNamespace(string nsUri) {
83
XsltMethods.CheckScriptNamespace, T.IntX, new
QilNode
[] { String(nsUri) }
87
public
QilNode
InvokeFunctionAvailable(
QilNode
n) {
90
XsltMethods.FunctionAvailable, T.BooleanX, new
QilNode
[] { n }
94
public
QilNode
InvokeBaseUri(
QilNode
n) {
97
XsltMethods.BaseUri, T.StringX, new
QilNode
[] { n }
101
public
QilNode
InvokeOnCurrentNodeChanged(
QilNode
n) {
104
XsltMethods.OnCurrentNodeChanged, T.IntX, new
QilNode
[] { n }
108
public
QilNode
InvokeLangToLcid(
QilNode
n, bool fwdCompat) {
111
XsltMethods.LangToLcid, T.IntX, new
QilNode
[] { n, Boolean(fwdCompat) }
115
public
QilNode
InvokeNumberFormat(
QilNode
value,
QilNode
format,
116
QilNode
lang,
QilNode
letterValue,
QilNode
groupingSeparator,
QilNode
groupingSize)
131
new
QilNode
[] { value, format, lang, letterValue, groupingSeparator, groupingSize }
135
public
QilNode
InvokeRegisterDecimalFormat(DecimalFormatDecl format) {
139
new
QilNode
[] {
146
public
QilNode
InvokeRegisterDecimalFormatter(
QilNode
formatPicture, DecimalFormatDecl format) {
151
new
QilNode
[] {
158
public
QilNode
InvokeFormatNumberStatic(
QilNode
value,
QilNode
decimalFormatIndex) {
162
XsltMethods.FormatNumberStatic, T.StringX, new
QilNode
[] { value, decimalFormatIndex }
166
public
QilNode
InvokeFormatNumberDynamic(
QilNode
value,
QilNode
formatPicture,
QilNode
decimalFormatName,
QilNode
errorMessageName) {
172
XsltMethods.FormatNumberDynamic, T.StringX, new
QilNode
[] { value, formatPicture, decimalFormatName, errorMessageName }
176
public
QilNode
InvokeOuterXml(
QilNode
n) {
179
XsltMethods.OuterXml, T.StringX, new
QilNode
[] { n }
183
public
QilNode
InvokeMsFormatDateTime(
QilNode
datetime,
QilNode
format,
QilNode
lang,
QilNode
isDate) {
189
XsltMethods.MSFormatDateTime, T.StringX, new
QilNode
[] { datetime, format, lang, isDate }
193
public
QilNode
InvokeMsStringCompare(
QilNode
x,
QilNode
y,
QilNode
lang,
QilNode
options) {
199
XsltMethods.MSStringCompare, T.DoubleX, new
QilNode
[] { x, y, lang, options }
203
public
QilNode
InvokeMsUtc(
QilNode
n) {
206
XsltMethods.MSUtc, T.StringX, new
QilNode
[] { n }
210
public
QilNode
InvokeMsNumber(
QilNode
n) {
212
XsltMethods.MSNumber, T.DoubleX, new
QilNode
[] { n }
216
public
QilNode
InvokeMsLocalName(
QilNode
n) {
219
XsltMethods.MSLocalName, T.StringX, new
QilNode
[] { n }
223
public
QilNode
InvokeMsNamespaceUri(
QilNode
n,
QilNode
currentNode) {
227
XsltMethods.MSNamespaceUri, T.StringX, new
QilNode
[] { n, currentNode }
231
public
QilNode
InvokeEXslObjectType(
QilNode
n) {
233
XsltMethods.EXslObjectType, T.StringX, new
QilNode
[] { n }