Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
QilVisitor.cs
Go to the documentation of this file.
1namespace System.Xml.Xsl.Qil;
2
3internal abstract class QilVisitor
4{
5 protected virtual QilNode VisitAssumeReference(QilNode expr)
6 {
7 if (expr is QilReference)
8 {
9 return VisitReference(expr);
10 }
11 return Visit(expr);
12 }
13
14 protected virtual QilNode VisitChildren(QilNode parent)
15 {
16 for (int i = 0; i < parent.Count; i++)
17 {
18 if (IsReference(parent, i))
19 {
20 VisitReference(parent[i]);
21 }
22 else
23 {
24 Visit(parent[i]);
25 }
26 }
27 return parent;
28 }
29
30 protected virtual bool IsReference(QilNode parent, int childNum)
31 {
32 QilNode qilNode = parent[childNum];
33 if (qilNode != null)
34 {
35 switch (qilNode.NodeType)
36 {
37 case QilNodeType.For:
38 case QilNodeType.Let:
39 case QilNodeType.Parameter:
40 switch (parent.NodeType)
41 {
42 case QilNodeType.Loop:
43 case QilNodeType.Filter:
44 case QilNodeType.Sort:
45 return childNum == 1;
46 case QilNodeType.GlobalVariableList:
47 case QilNodeType.GlobalParameterList:
48 case QilNodeType.FormalParameterList:
49 return false;
50 default:
51 return true;
52 }
53 case QilNodeType.Function:
54 return parent.NodeType == QilNodeType.Invoke;
55 }
56 }
57 return false;
58 }
59
60 protected virtual QilNode Visit(QilNode n)
61 {
62 if (n == null)
63 {
64 return VisitNull();
65 }
66 return n.NodeType switch
67 {
175 _ => VisitUnknown(n),
176 };
177 }
178
179 protected virtual QilNode VisitReference(QilNode n)
180 {
181 if (n == null)
182 {
183 return VisitNull();
184 }
185 return n.NodeType switch
186 {
191 _ => VisitUnknown(n),
192 };
193 }
194
195 protected virtual QilNode VisitNull()
196 {
197 return null;
198 }
199
201 {
202 return VisitChildren(n);
203 }
204
206 {
207 return VisitChildren(n);
208 }
209
211 {
212 return VisitChildren(n);
213 }
214
216 {
217 return VisitChildren(n);
218 }
219
221 {
222 return VisitChildren(n);
223 }
224
226 {
227 return VisitChildren(n);
228 }
229
231 {
232 return VisitChildren(n);
233 }
234
235 protected virtual QilNode VisitBranchList(QilList n)
236 {
237 return VisitChildren(n);
238 }
239
241 {
242 return VisitChildren(n);
243 }
244
245 protected virtual QilNode VisitUnknown(QilNode n)
246 {
247 return VisitChildren(n);
248 }
249
251 {
252 return VisitChildren(n);
253 }
254
255 protected virtual QilNode VisitNop(QilUnary n)
256 {
257 return VisitChildren(n);
258 }
259
260 protected virtual QilNode VisitError(QilUnary n)
261 {
262 return VisitChildren(n);
263 }
264
265 protected virtual QilNode VisitWarning(QilUnary n)
266 {
267 return VisitChildren(n);
268 }
269
270 protected virtual QilNode VisitFor(QilIterator n)
271 {
272 return VisitChildren(n);
273 }
274
276 {
277 return n;
278 }
279
280 protected virtual QilNode VisitLet(QilIterator n)
281 {
282 return VisitChildren(n);
283 }
284
286 {
287 return n;
288 }
289
291 {
292 return VisitChildren(n);
293 }
294
296 {
297 return n;
298 }
299
301 {
302 return VisitChildren(n);
303 }
304
305 protected virtual QilNode VisitTrue(QilNode n)
306 {
307 return VisitChildren(n);
308 }
309
310 protected virtual QilNode VisitFalse(QilNode n)
311 {
312 return VisitChildren(n);
313 }
314
316 {
317 return VisitChildren(n);
318 }
319
321 {
322 return VisitChildren(n);
323 }
324
326 {
327 return VisitChildren(n);
328 }
329
331 {
332 return VisitChildren(n);
333 }
334
336 {
337 return VisitChildren(n);
338 }
339
341 {
342 return VisitChildren(n);
343 }
344
346 {
347 return VisitChildren(n);
348 }
349
351 {
352 return VisitChildren(n);
353 }
354
355 protected virtual QilNode VisitAnd(QilBinary n)
356 {
357 return VisitChildren(n);
358 }
359
360 protected virtual QilNode VisitOr(QilBinary n)
361 {
362 return VisitChildren(n);
363 }
364
365 protected virtual QilNode VisitNot(QilUnary n)
366 {
367 return VisitChildren(n);
368 }
369
371 {
372 return VisitChildren(n);
373 }
374
375 protected virtual QilNode VisitChoice(QilChoice n)
376 {
377 return VisitChildren(n);
378 }
379
380 protected virtual QilNode VisitLength(QilUnary n)
381 {
382 return VisitChildren(n);
383 }
384
385 protected virtual QilNode VisitSequence(QilList n)
386 {
387 return VisitChildren(n);
388 }
389
390 protected virtual QilNode VisitUnion(QilBinary n)
391 {
392 return VisitChildren(n);
393 }
394
396 {
397 return VisitChildren(n);
398 }
399
401 {
402 return VisitChildren(n);
403 }
404
405 protected virtual QilNode VisitAverage(QilUnary n)
406 {
407 return VisitChildren(n);
408 }
409
410 protected virtual QilNode VisitSum(QilUnary n)
411 {
412 return VisitChildren(n);
413 }
414
415 protected virtual QilNode VisitMinimum(QilUnary n)
416 {
417 return VisitChildren(n);
418 }
419
420 protected virtual QilNode VisitMaximum(QilUnary n)
421 {
422 return VisitChildren(n);
423 }
424
425 protected virtual QilNode VisitNegate(QilUnary n)
426 {
427 return VisitChildren(n);
428 }
429
430 protected virtual QilNode VisitAdd(QilBinary n)
431 {
432 return VisitChildren(n);
433 }
434
435 protected virtual QilNode VisitSubtract(QilBinary n)
436 {
437 return VisitChildren(n);
438 }
439
440 protected virtual QilNode VisitMultiply(QilBinary n)
441 {
442 return VisitChildren(n);
443 }
444
445 protected virtual QilNode VisitDivide(QilBinary n)
446 {
447 return VisitChildren(n);
448 }
449
450 protected virtual QilNode VisitModulo(QilBinary n)
451 {
452 return VisitChildren(n);
453 }
454
455 protected virtual QilNode VisitStrLength(QilUnary n)
456 {
457 return VisitChildren(n);
458 }
459
461 {
462 return VisitChildren(n);
463 }
464
466 {
467 return VisitChildren(n);
468 }
469
470 protected virtual QilNode VisitNe(QilBinary n)
471 {
472 return VisitChildren(n);
473 }
474
475 protected virtual QilNode VisitEq(QilBinary n)
476 {
477 return VisitChildren(n);
478 }
479
480 protected virtual QilNode VisitGt(QilBinary n)
481 {
482 return VisitChildren(n);
483 }
484
485 protected virtual QilNode VisitGe(QilBinary n)
486 {
487 return VisitChildren(n);
488 }
489
490 protected virtual QilNode VisitLt(QilBinary n)
491 {
492 return VisitChildren(n);
493 }
494
495 protected virtual QilNode VisitLe(QilBinary n)
496 {
497 return VisitChildren(n);
498 }
499
500 protected virtual QilNode VisitIs(QilBinary n)
501 {
502 return VisitChildren(n);
503 }
504
505 protected virtual QilNode VisitAfter(QilBinary n)
506 {
507 return VisitChildren(n);
508 }
509
510 protected virtual QilNode VisitBefore(QilBinary n)
511 {
512 return VisitChildren(n);
513 }
514
515 protected virtual QilNode VisitLoop(QilLoop n)
516 {
517 return VisitChildren(n);
518 }
519
520 protected virtual QilNode VisitFilter(QilLoop n)
521 {
522 return VisitChildren(n);
523 }
524
525 protected virtual QilNode VisitSort(QilLoop n)
526 {
527 return VisitChildren(n);
528 }
529
530 protected virtual QilNode VisitSortKey(QilSortKey n)
531 {
532 return VisitChildren(n);
533 }
534
536 {
537 return VisitChildren(n);
538 }
539
541 {
542 return VisitChildren(n);
543 }
544
546 {
547 return n;
548 }
549
550 protected virtual QilNode VisitInvoke(QilInvoke n)
551 {
552 return VisitChildren(n);
553 }
554
555 protected virtual QilNode VisitContent(QilUnary n)
556 {
557 return VisitChildren(n);
558 }
559
561 {
562 return VisitChildren(n);
563 }
564
565 protected virtual QilNode VisitParent(QilUnary n)
566 {
567 return VisitChildren(n);
568 }
569
570 protected virtual QilNode VisitRoot(QilUnary n)
571 {
572 return VisitChildren(n);
573 }
574
575 protected virtual QilNode VisitXmlContext(QilNode n)
576 {
577 return VisitChildren(n);
578 }
579
581 {
582 return VisitChildren(n);
583 }
584
586 {
587 return VisitChildren(n);
588 }
589
590 protected virtual QilNode VisitAncestor(QilUnary n)
591 {
592 return VisitChildren(n);
593 }
594
596 {
597 return VisitChildren(n);
598 }
599
600 protected virtual QilNode VisitPreceding(QilUnary n)
601 {
602 return VisitChildren(n);
603 }
604
606 {
607 return VisitChildren(n);
608 }
609
611 {
612 return VisitChildren(n);
613 }
614
616 {
617 return VisitChildren(n);
618 }
619
620 protected virtual QilNode VisitDeref(QilBinary n)
621 {
622 return VisitChildren(n);
623 }
624
626 {
627 return VisitChildren(n);
628 }
629
631 {
632 return VisitChildren(n);
633 }
634
636 {
637 return VisitChildren(n);
638 }
639
640 protected virtual QilNode VisitPICtor(QilBinary n)
641 {
642 return VisitChildren(n);
643 }
644
645 protected virtual QilNode VisitTextCtor(QilUnary n)
646 {
647 return VisitChildren(n);
648 }
649
651 {
652 return VisitChildren(n);
653 }
654
656 {
657 return VisitChildren(n);
658 }
659
661 {
662 return VisitChildren(n);
663 }
664
665 protected virtual QilNode VisitRtfCtor(QilBinary n)
666 {
667 return VisitChildren(n);
668 }
669
670 protected virtual QilNode VisitNameOf(QilUnary n)
671 {
672 return VisitChildren(n);
673 }
674
676 {
677 return VisitChildren(n);
678 }
679
681 {
682 return VisitChildren(n);
683 }
684
685 protected virtual QilNode VisitPrefixOf(QilUnary n)
686 {
687 return VisitChildren(n);
688 }
689
691 {
692 return VisitChildren(n);
693 }
694
696 {
697 return VisitChildren(n);
698 }
699
700 protected virtual QilNode VisitIsEmpty(QilUnary n)
701 {
702 return VisitChildren(n);
703 }
704
706 {
707 return VisitChildren(n);
708 }
709
711 {
712 return VisitChildren(n);
713 }
714
716 {
717 return VisitChildren(n);
718 }
719
721 {
722 return VisitChildren(n);
723 }
724
726 {
727 return VisitChildren(n);
728 }
729
731 {
732 return VisitChildren(n);
733 }
734
736 {
737 return VisitChildren(n);
738 }
739
740 protected virtual QilNode VisitXsltCopy(QilBinary n)
741 {
742 return VisitChildren(n);
743 }
744
746 {
747 return VisitChildren(n);
748 }
749
751 {
752 return VisitChildren(n);
753 }
754}
virtual QilNode VisitLiteralDecimal(QilLiteral n)
virtual QilNode VisitOr(QilBinary n)
virtual QilNode VisitAttribute(QilBinary n)
virtual QilNode VisitIs(QilBinary n)
virtual QilNode VisitPositionOf(QilUnary n)
virtual QilNode VisitModulo(QilBinary n)
virtual QilNode VisitXsltCopy(QilBinary n)
virtual QilNode VisitLiteralDouble(QilLiteral n)
virtual QilNode VisitLiteralInt32(QilLiteral n)
virtual QilNode VisitLoop(QilLoop n)
virtual QilNode VisitReference(QilNode n)
virtual QilNode VisitTrue(QilNode n)
virtual QilNode VisitStrParseQName(QilBinary n)
virtual QilNode VisitFunction(QilFunction n)
virtual QilNode VisitFor(QilIterator n)
virtual QilNode VisitDataSource(QilDataSource n)
virtual QilNode VisitBranchList(QilList n)
virtual QilNode VisitNull()
virtual QilNode VisitRawTextCtor(QilUnary n)
virtual QilNode VisitMinimum(QilUnary n)
virtual QilNode VisitFormalParameterList(QilList n)
virtual QilNode VisitFunctionReference(QilFunction n)
virtual QilNode VisitParent(QilUnary n)
virtual QilNode VisitUnknown(QilNode n)
virtual QilNode VisitXsltInvokeLateBound(QilInvokeLateBound n)
virtual QilNode VisitNodeRange(QilBinary n)
virtual QilNode VisitActualParameterList(QilList n)
virtual QilNode VisitNameOf(QilUnary n)
virtual QilNode VisitParameter(QilParameter n)
virtual QilNode VisitXsltInvokeEarlyBound(QilInvokeEarlyBound n)
virtual QilNode VisitStrLength(QilUnary n)
virtual QilNode VisitLength(QilUnary n)
virtual QilNode VisitGlobalParameterList(QilList n)
virtual QilNode VisitXsltConvert(QilTargetType n)
virtual QilNode VisitIsEmpty(QilUnary n)
virtual QilNode VisitPreceding(QilUnary n)
virtual QilNode VisitTypeAssert(QilTargetType n)
virtual QilNode VisitFilter(QilLoop n)
virtual QilNode VisitDocumentCtor(QilUnary n)
virtual QilNode VisitGt(QilBinary n)
virtual QilNode VisitNot(QilUnary n)
virtual QilNode VisitAncestor(QilUnary n)
virtual QilNode VisitOptimizeBarrier(QilUnary n)
virtual QilNode VisitGlobalVariableList(QilList n)
virtual QilNode VisitBefore(QilBinary n)
virtual QilNode VisitError(QilUnary n)
virtual QilNode VisitAssumeReference(QilNode expr)
Definition QilVisitor.cs:5
virtual QilNode VisitChoice(QilChoice n)
virtual QilNode VisitCommentCtor(QilUnary n)
virtual QilNode VisitXsltGenerateId(QilUnary n)
virtual QilNode VisitMultiply(QilBinary n)
virtual QilNode VisitFunctionList(QilList n)
virtual QilNode VisitDifference(QilBinary n)
virtual QilNode VisitStrConcat(QilStrConcat n)
virtual QilNode VisitParameterReference(QilParameter n)
virtual QilNode VisitForReference(QilIterator n)
virtual QilNode VisitSortKey(QilSortKey n)
virtual QilNode VisitAverage(QilUnary n)
virtual QilNode VisitIntersection(QilBinary n)
virtual QilNode VisitElementCtor(QilBinary n)
virtual QilNode VisitNamespaceUriOf(QilUnary n)
virtual QilNode VisitSequence(QilList n)
virtual QilNode VisitPrefixOf(QilUnary n)
virtual QilNode VisitPICtor(QilBinary n)
virtual QilNode VisitDescendant(QilUnary n)
virtual QilNode VisitLiteralQName(QilName n)
virtual QilNode VisitGe(QilBinary n)
virtual QilNode VisitAttributeCtor(QilBinary n)
virtual QilNode VisitXPathFollowing(QilUnary n)
virtual QilNode VisitAdd(QilBinary n)
virtual QilNode VisitNegate(QilUnary n)
virtual QilNode VisitChildren(QilNode parent)
Definition QilVisitor.cs:14
virtual bool IsReference(QilNode parent, int childNum)
Definition QilVisitor.cs:30
virtual QilNode VisitAncestorOrSelf(QilUnary n)
virtual QilNode VisitSortKeyList(QilList n)
virtual QilNode VisitAfter(QilBinary n)
virtual QilNode VisitLt(QilBinary n)
virtual QilNode VisitXPathPreceding(QilUnary n)
virtual QilNode VisitTextCtor(QilUnary n)
virtual QilNode VisitXPathNodeValue(QilUnary n)
virtual QilNode VisitLetReference(QilIterator n)
virtual QilNode VisitWarning(QilUnary n)
virtual QilNode VisitConditional(QilTernary n)
virtual QilNode VisitLocalNameOf(QilUnary n)
virtual QilNode VisitNop(QilUnary n)
virtual QilNode VisitDescendantOrSelf(QilUnary n)
virtual QilNode VisitUnion(QilBinary n)
virtual QilNode VisitIsType(QilTargetType n)
virtual QilNode VisitSubtract(QilBinary n)
virtual QilNode VisitRoot(QilUnary n)
virtual QilNode VisitFollowingSibling(QilUnary n)
virtual QilNode VisitMaximum(QilUnary n)
virtual QilNode VisitFalse(QilNode n)
virtual QilNode VisitLiteralString(QilLiteral n)
virtual QilNode VisitNe(QilBinary n)
virtual QilNode Visit(QilNode n)
Definition QilVisitor.cs:60
virtual QilNode VisitXPathNamespace(QilUnary n)
virtual QilNode VisitLet(QilIterator n)
virtual QilNode VisitXmlContext(QilNode n)
virtual QilNode VisitDivide(QilBinary n)
virtual QilNode VisitLiteralType(QilLiteral n)
virtual QilNode VisitSort(QilLoop n)
virtual QilNode VisitPrecedingSibling(QilUnary n)
virtual QilNode VisitEq(QilBinary n)
virtual QilNode VisitNamespaceDecl(QilBinary n)
virtual QilNode VisitLiteralObject(QilLiteral n)
virtual QilNode VisitQilExpression(QilExpression n)
virtual QilNode VisitSum(QilUnary n)
virtual QilNode VisitLiteralInt64(QilLiteral n)
virtual QilNode VisitXsltCopyOf(QilUnary n)
virtual QilNode VisitLe(QilBinary n)
virtual QilNode VisitRtfCtor(QilBinary n)
virtual QilNode VisitDeref(QilBinary n)
virtual QilNode VisitInvoke(QilInvoke n)
virtual QilNode VisitContent(QilUnary n)
virtual QilNode VisitDocOrderDistinct(QilUnary n)
virtual QilNode VisitAnd(QilBinary n)