Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
QilPatternVisitor.cs
Go to the documentation of this file.
4
5namespace System.Xml.Xsl.Qil;
6
7internal abstract class QilPatternVisitor : QilReplaceVisitor
8{
9 internal sealed class QilPatterns
10 {
11 private readonly BitArray _bits;
12
13 public QilPatterns(int szBits, bool allSet)
14 {
16 }
17
18 public void Add(int i)
19 {
20 _bits.Set(i, value: true);
21 }
22
23 public bool IsSet(int i)
24 {
25 return _bits[i];
26 }
27 }
28
31
32 public QilPatterns Patterns { get; set; }
33
34 public int Threshold { get; } = int.MaxValue;
35
36
37 public int ReplacementCount { get; private set; }
38
39 private int LastReplacement
40 {
42 set
43 {
45 }
46 }
47
49
55
56 protected virtual bool AllowReplace(int pattern, QilNode original)
57 {
58 if (Matching)
59 {
61 LastReplacement = pattern;
62 return true;
63 }
64 return false;
65 }
66
67 protected virtual QilNode Replace(int pattern, QilNode original, QilNode replacement)
68 {
70 return replacement;
71 }
72
73 [return: NotNullIfNotNull("node")]
74 protected virtual QilNode NoReplace(QilNode node)
75 {
76 return node;
77 }
78
79 protected override QilNode Visit(QilNode node)
80 {
81 if (node == null)
82 {
83 return VisitNull();
84 }
86 return base.Visit(node);
87 }
88
90 {
91 return NoReplace(n);
92 }
93
94 protected override QilNode VisitFunctionList(QilList n)
95 {
96 return NoReplace(n);
97 }
98
100 {
101 return NoReplace(n);
102 }
103
105 {
106 return NoReplace(n);
107 }
108
110 {
111 return NoReplace(n);
112 }
113
115 {
116 return NoReplace(n);
117 }
118
119 protected override QilNode VisitSortKeyList(QilList n)
120 {
121 return NoReplace(n);
122 }
123
124 protected override QilNode VisitBranchList(QilList n)
125 {
126 return NoReplace(n);
127 }
128
130 {
131 return NoReplace(n);
132 }
133
134 protected override QilNode VisitUnknown(QilNode n)
135 {
136 return NoReplace(n);
137 }
138
140 {
141 return NoReplace(n);
142 }
143
144 protected override QilNode VisitNop(QilUnary n)
145 {
146 return NoReplace(n);
147 }
148
149 protected override QilNode VisitError(QilUnary n)
150 {
151 return NoReplace(n);
152 }
153
154 protected override QilNode VisitWarning(QilUnary n)
155 {
156 return NoReplace(n);
157 }
158
159 protected override QilNode VisitFor(QilIterator n)
160 {
161 return NoReplace(n);
162 }
163
165 {
166 return NoReplace(n);
167 }
168
169 protected override QilNode VisitLet(QilIterator n)
170 {
171 return NoReplace(n);
172 }
173
175 {
176 return NoReplace(n);
177 }
178
180 {
181 return NoReplace(n);
182 }
183
185 {
186 return NoReplace(n);
187 }
188
189 protected override QilNode VisitPositionOf(QilUnary n)
190 {
191 return NoReplace(n);
192 }
193
194 protected override QilNode VisitTrue(QilNode n)
195 {
196 return NoReplace(n);
197 }
198
199 protected override QilNode VisitFalse(QilNode n)
200 {
201 return NoReplace(n);
202 }
203
205 {
206 return NoReplace(n);
207 }
208
210 {
211 return NoReplace(n);
212 }
213
215 {
216 return NoReplace(n);
217 }
218
220 {
221 return NoReplace(n);
222 }
223
225 {
226 return NoReplace(n);
227 }
228
229 protected override QilNode VisitLiteralQName(QilName n)
230 {
231 return NoReplace(n);
232 }
233
235 {
236 return NoReplace(n);
237 }
238
240 {
241 return NoReplace(n);
242 }
243
244 protected override QilNode VisitAnd(QilBinary n)
245 {
246 return NoReplace(n);
247 }
248
249 protected override QilNode VisitOr(QilBinary n)
250 {
251 return NoReplace(n);
252 }
253
254 protected override QilNode VisitNot(QilUnary n)
255 {
256 return NoReplace(n);
257 }
258
260 {
261 return NoReplace(n);
262 }
263
264 protected override QilNode VisitChoice(QilChoice n)
265 {
266 return NoReplace(n);
267 }
268
269 protected override QilNode VisitLength(QilUnary n)
270 {
271 return NoReplace(n);
272 }
273
274 protected override QilNode VisitSequence(QilList n)
275 {
276 return NoReplace(n);
277 }
278
279 protected override QilNode VisitUnion(QilBinary n)
280 {
281 return NoReplace(n);
282 }
283
285 {
286 return NoReplace(n);
287 }
288
289 protected override QilNode VisitDifference(QilBinary n)
290 {
291 return NoReplace(n);
292 }
293
294 protected override QilNode VisitAverage(QilUnary n)
295 {
296 return NoReplace(n);
297 }
298
299 protected override QilNode VisitSum(QilUnary n)
300 {
301 return NoReplace(n);
302 }
303
304 protected override QilNode VisitMinimum(QilUnary n)
305 {
306 return NoReplace(n);
307 }
308
309 protected override QilNode VisitMaximum(QilUnary n)
310 {
311 return NoReplace(n);
312 }
313
314 protected override QilNode VisitNegate(QilUnary n)
315 {
316 return NoReplace(n);
317 }
318
319 protected override QilNode VisitAdd(QilBinary n)
320 {
321 return NoReplace(n);
322 }
323
324 protected override QilNode VisitSubtract(QilBinary n)
325 {
326 return NoReplace(n);
327 }
328
329 protected override QilNode VisitMultiply(QilBinary n)
330 {
331 return NoReplace(n);
332 }
333
334 protected override QilNode VisitDivide(QilBinary n)
335 {
336 return NoReplace(n);
337 }
338
339 protected override QilNode VisitModulo(QilBinary n)
340 {
341 return NoReplace(n);
342 }
343
344 protected override QilNode VisitStrLength(QilUnary n)
345 {
346 return NoReplace(n);
347 }
348
350 {
351 return NoReplace(n);
352 }
353
355 {
356 return NoReplace(n);
357 }
358
359 protected override QilNode VisitNe(QilBinary n)
360 {
361 return NoReplace(n);
362 }
363
364 protected override QilNode VisitEq(QilBinary n)
365 {
366 return NoReplace(n);
367 }
368
369 protected override QilNode VisitGt(QilBinary n)
370 {
371 return NoReplace(n);
372 }
373
374 protected override QilNode VisitGe(QilBinary n)
375 {
376 return NoReplace(n);
377 }
378
379 protected override QilNode VisitLt(QilBinary n)
380 {
381 return NoReplace(n);
382 }
383
384 protected override QilNode VisitLe(QilBinary n)
385 {
386 return NoReplace(n);
387 }
388
389 protected override QilNode VisitIs(QilBinary n)
390 {
391 return NoReplace(n);
392 }
393
394 protected override QilNode VisitAfter(QilBinary n)
395 {
396 return NoReplace(n);
397 }
398
399 protected override QilNode VisitBefore(QilBinary n)
400 {
401 return NoReplace(n);
402 }
403
404 protected override QilNode VisitLoop(QilLoop n)
405 {
406 return NoReplace(n);
407 }
408
409 protected override QilNode VisitFilter(QilLoop n)
410 {
411 return NoReplace(n);
412 }
413
414 protected override QilNode VisitSort(QilLoop n)
415 {
416 return NoReplace(n);
417 }
418
419 protected override QilNode VisitSortKey(QilSortKey n)
420 {
421 return NoReplace(n);
422 }
423
425 {
426 return NoReplace(n);
427 }
428
429 protected override QilNode VisitFunction(QilFunction n)
430 {
431 return NoReplace(n);
432 }
433
435 {
436 return NoReplace(n);
437 }
438
439 protected override QilNode VisitInvoke(QilInvoke n)
440 {
441 return NoReplace(n);
442 }
443
444 protected override QilNode VisitContent(QilUnary n)
445 {
446 return NoReplace(n);
447 }
448
449 protected override QilNode VisitAttribute(QilBinary n)
450 {
451 return NoReplace(n);
452 }
453
454 protected override QilNode VisitParent(QilUnary n)
455 {
456 return NoReplace(n);
457 }
458
459 protected override QilNode VisitRoot(QilUnary n)
460 {
461 return NoReplace(n);
462 }
463
464 protected override QilNode VisitXmlContext(QilNode n)
465 {
466 return NoReplace(n);
467 }
468
469 protected override QilNode VisitDescendant(QilUnary n)
470 {
471 return NoReplace(n);
472 }
473
475 {
476 return NoReplace(n);
477 }
478
479 protected override QilNode VisitAncestor(QilUnary n)
480 {
481 return NoReplace(n);
482 }
483
485 {
486 return NoReplace(n);
487 }
488
489 protected override QilNode VisitPreceding(QilUnary n)
490 {
491 return NoReplace(n);
492 }
493
495 {
496 return NoReplace(n);
497 }
498
500 {
501 return NoReplace(n);
502 }
503
504 protected override QilNode VisitNodeRange(QilBinary n)
505 {
506 return NoReplace(n);
507 }
508
509 protected override QilNode VisitDeref(QilBinary n)
510 {
511 return NoReplace(n);
512 }
513
515 {
516 return NoReplace(n);
517 }
518
520 {
521 return NoReplace(n);
522 }
523
524 protected override QilNode VisitCommentCtor(QilUnary n)
525 {
526 return NoReplace(n);
527 }
528
529 protected override QilNode VisitPICtor(QilBinary n)
530 {
531 return NoReplace(n);
532 }
533
534 protected override QilNode VisitTextCtor(QilUnary n)
535 {
536 return NoReplace(n);
537 }
538
539 protected override QilNode VisitRawTextCtor(QilUnary n)
540 {
541 return NoReplace(n);
542 }
543
545 {
546 return NoReplace(n);
547 }
548
550 {
551 return NoReplace(n);
552 }
553
554 protected override QilNode VisitRtfCtor(QilBinary n)
555 {
556 return NoReplace(n);
557 }
558
559 protected override QilNode VisitNameOf(QilUnary n)
560 {
561 return NoReplace(n);
562 }
563
564 protected override QilNode VisitLocalNameOf(QilUnary n)
565 {
566 return NoReplace(n);
567 }
568
570 {
571 return NoReplace(n);
572 }
573
574 protected override QilNode VisitPrefixOf(QilUnary n)
575 {
576 return NoReplace(n);
577 }
578
580 {
581 return NoReplace(n);
582 }
583
584 protected override QilNode VisitIsType(QilTargetType n)
585 {
586 return NoReplace(n);
587 }
588
589 protected override QilNode VisitIsEmpty(QilUnary n)
590 {
591 return NoReplace(n);
592 }
593
595 {
596 return NoReplace(n);
597 }
598
600 {
601 return NoReplace(n);
602 }
603
605 {
606 return NoReplace(n);
607 }
608
610 {
611 return NoReplace(n);
612 }
613
615 {
616 return NoReplace(n);
617 }
618
620 {
621 return NoReplace(n);
622 }
623
625 {
626 return NoReplace(n);
627 }
628
629 protected override QilNode VisitXsltCopy(QilBinary n)
630 {
631 return NoReplace(n);
632 }
633
634 protected override QilNode VisitXsltCopyOf(QilUnary n)
635 {
636 return NoReplace(n);
637 }
638
640 {
641 return NoReplace(n);
642 }
643}
void Set(int index, bool value)
Definition BitArray.cs:326
ISourceLineInfo SourceLine
Definition QilNode.cs:41
override QilNode VisitGe(QilBinary n)
override QilNode VisitDivide(QilBinary n)
override QilNode VisitNodeRange(QilBinary n)
override QilNode VisitCommentCtor(QilUnary n)
virtual QilNode NoReplace(QilNode node)
override QilNode VisitOr(QilBinary n)
override QilNode VisitMinimum(QilUnary n)
override QilNode VisitParameterReference(QilParameter n)
override QilNode VisitLiteralInt64(QilLiteral n)
override QilNode VisitAfter(QilBinary n)
override QilNode VisitSortKeyList(QilList n)
override QilNode VisitOptimizeBarrier(QilUnary n)
override QilNode VisitFunctionReference(QilFunction n)
override QilNode VisitLiteralDouble(QilLiteral n)
QilPatternVisitor(QilPatterns patterns, QilFactory f)
override QilNode VisitLetReference(QilIterator n)
override QilNode VisitTypeAssert(QilTargetType n)
override QilNode VisitLiteralQName(QilName n)
override QilNode VisitSortKey(QilSortKey n)
override QilNode VisitStrConcat(QilStrConcat n)
override QilNode VisitNe(QilBinary n)
override QilNode VisitLoop(QilLoop n)
override QilNode VisitParent(QilUnary n)
override QilNode VisitLiteralDecimal(QilLiteral n)
override QilNode VisitGlobalParameterList(QilList n)
override QilNode VisitAncestor(QilUnary n)
override QilNode VisitFalse(QilNode n)
override QilNode VisitAttribute(QilBinary n)
override QilNode VisitFunction(QilFunction n)
override QilNode VisitIsType(QilTargetType n)
override QilNode VisitNamespaceUriOf(QilUnary n)
override QilNode VisitRoot(QilUnary n)
override QilNode VisitXsltCopyOf(QilUnary n)
override QilNode VisitXsltInvokeEarlyBound(QilInvokeEarlyBound n)
override QilNode VisitPrecedingSibling(QilUnary n)
override QilNode VisitNegate(QilUnary n)
override QilNode VisitIsEmpty(QilUnary n)
override QilNode VisitXPathNodeValue(QilUnary n)
override QilNode VisitGt(QilBinary n)
override QilNode VisitSubtract(QilBinary n)
override QilNode VisitAverage(QilUnary n)
override QilNode VisitDifference(QilBinary n)
override QilNode VisitXPathFollowing(QilUnary n)
override QilNode VisitPositionOf(QilUnary n)
override QilNode VisitTextCtor(QilUnary n)
override QilNode VisitIntersection(QilBinary n)
override QilNode VisitDescendant(QilUnary n)
override QilNode VisitParameter(QilParameter n)
override QilNode VisitRawTextCtor(QilUnary n)
override QilNode VisitXPathNamespace(QilUnary n)
override QilNode VisitFunctionList(QilList n)
override QilNode VisitDescendantOrSelf(QilUnary n)
override QilNode VisitForReference(QilIterator n)
override QilNode VisitPICtor(QilBinary n)
override QilNode VisitContent(QilUnary n)
override QilNode VisitError(QilUnary n)
override QilNode VisitQilExpression(QilExpression n)
virtual QilNode Replace(int pattern, QilNode original, QilNode replacement)
override QilNode VisitLiteralType(QilLiteral n)
override QilNode VisitStrLength(QilUnary n)
override QilNode VisitConditional(QilTernary n)
override QilNode VisitXsltGenerateId(QilUnary n)
override QilNode VisitNamespaceDecl(QilBinary n)
override QilNode VisitBranchList(QilList n)
override QilNode VisitUnknown(QilNode n)
override QilNode VisitAncestorOrSelf(QilUnary n)
override QilNode VisitEq(QilBinary n)
override QilNode VisitAdd(QilBinary n)
override QilNode VisitFor(QilIterator n)
override QilNode VisitNop(QilUnary n)
override QilNode VisitFilter(QilLoop n)
override QilNode VisitMaximum(QilUnary n)
override QilNode VisitNot(QilUnary n)
override QilNode VisitAnd(QilBinary n)
override QilNode VisitFormalParameterList(QilList n)
override QilNode Visit(QilNode node)
override QilNode VisitSort(QilLoop n)
override QilNode VisitLiteralInt32(QilLiteral n)
override QilNode VisitDocOrderDistinct(QilUnary n)
override QilNode VisitXsltInvokeLateBound(QilInvokeLateBound n)
override QilNode VisitLe(QilBinary n)
override QilNode VisitMultiply(QilBinary n)
override QilNode VisitWarning(QilUnary n)
override QilNode VisitDocumentCtor(QilUnary n)
override QilNode VisitElementCtor(QilBinary n)
override QilNode VisitXPathPreceding(QilUnary n)
override QilNode VisitRtfCtor(QilBinary n)
override QilNode VisitPreceding(QilUnary n)
override QilNode VisitBefore(QilBinary n)
override QilNode VisitLength(QilUnary n)
override QilNode VisitSum(QilUnary n)
override QilNode VisitXsltConvert(QilTargetType n)
override QilNode VisitNameOf(QilUnary n)
virtual bool AllowReplace(int pattern, QilNode original)
override QilNode VisitFollowingSibling(QilUnary n)
override QilNode VisitStrParseQName(QilBinary n)
override QilNode VisitUnion(QilBinary n)
override QilNode VisitLt(QilBinary n)
override QilNode VisitDeref(QilBinary n)
override QilNode VisitModulo(QilBinary n)
override QilNode VisitActualParameterList(QilList n)
override QilNode VisitPrefixOf(QilUnary n)
override QilNode VisitGlobalVariableList(QilList n)
override QilNode VisitInvoke(QilInvoke n)
override QilNode VisitAttributeCtor(QilBinary n)
override QilNode VisitSequence(QilList n)
override QilNode VisitXsltCopy(QilBinary n)
override QilNode VisitLocalNameOf(QilUnary n)
override QilNode VisitTrue(QilNode n)
override QilNode VisitDataSource(QilDataSource n)
override QilNode VisitChoice(QilChoice n)
override QilNode VisitXmlContext(QilNode n)
override QilNode VisitIs(QilBinary n)
override QilNode VisitLet(QilIterator n)
override QilNode VisitLiteralObject(QilLiteral n)
override QilNode VisitLiteralString(QilLiteral n)
override QilNode VisitChildren(QilNode parent)
virtual QilNode VisitNull()