Updates referencesource to .NET 4.7
[mono-project.git] / mcs / class / referencesource / System.Data.SqlXml / System / Xml / Xsl / Xslt / XslVisitor.cs
blob28c95f3a31d8bd19124c279e56d6d64b5c017690
1 //------------------------------------------------------------------------------
2 // <copyright file="XslVisitor.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
4 // </copyright>
5 // <owner current="true" primary="true">Microsoft</owner>
6 //------------------------------------------------------------------------------
8 namespace System.Xml.Xsl.Xslt {
10 internal abstract class XslVisitor<T> {
11 protected virtual T Visit(XslNode node) {
12 switch (node.NodeType) {
13 case XslNodeType.ApplyImports : return VisitApplyImports ((XslNode) node);
14 case XslNodeType.ApplyTemplates : return VisitApplyTemplates ((XslNode) node);
15 case XslNodeType.Attribute : return VisitAttribute ((NodeCtor) node);
16 case XslNodeType.AttributeSet : return VisitAttributeSet ((AttributeSet)node);
17 case XslNodeType.CallTemplate : return VisitCallTemplate ((XslNode) node);
18 case XslNodeType.Choose : return VisitChoose ((XslNode) node);
19 case XslNodeType.Comment : return VisitComment ((XslNode) node);
20 case XslNodeType.Copy : return VisitCopy ((XslNode) node);
21 case XslNodeType.CopyOf : return VisitCopyOf ((XslNode) node);
22 case XslNodeType.Element : return VisitElement ((NodeCtor) node);
23 case XslNodeType.Error : return VisitError ((XslNode) node);
24 case XslNodeType.ForEach : return VisitForEach ((XslNode) node);
25 case XslNodeType.If : return VisitIf ((XslNode) node);
26 case XslNodeType.Key : return VisitKey ((Key) node);
27 case XslNodeType.List : return VisitList ((XslNode) node);
28 case XslNodeType.LiteralAttribute : return VisitLiteralAttribute((XslNode) node);
29 case XslNodeType.LiteralElement : return VisitLiteralElement ((XslNode) node);
30 case XslNodeType.Message : return VisitMessage ((XslNode) node);
31 case XslNodeType.Nop : return VisitNop ((XslNode) node);
32 case XslNodeType.Number : return VisitNumber ((Number) node);
33 case XslNodeType.Otherwise : return VisitOtherwise ((XslNode) node);
34 case XslNodeType.Param : return VisitParam ((VarPar) node);
35 case XslNodeType.PI : return VisitPI ((XslNode) node);
36 case XslNodeType.Sort : return VisitSort ((Sort) node);
37 case XslNodeType.Template : return VisitTemplate ((Template) node);
38 case XslNodeType.Text : return VisitText ((Text) node);
39 case XslNodeType.UseAttributeSet : return VisitUseAttributeSet ((XslNode) node);
40 case XslNodeType.ValueOf : return VisitValueOf ((XslNode) node);
41 case XslNodeType.ValueOfDoe : return VisitValueOfDoe ((XslNode) node);
42 case XslNodeType.Variable : return VisitVariable ((VarPar) node);
43 case XslNodeType.WithParam : return VisitWithParam ((VarPar) node);
44 default : return VisitUnknown ((XslNode) node);
48 protected virtual T VisitApplyImports (XslNode node) { return VisitChildren( node ); }
49 protected virtual T VisitApplyTemplates (XslNode node) { return VisitChildren( node ); }
50 protected virtual T VisitAttribute (NodeCtor node) { return VisitChildren( node ); }
51 protected virtual T VisitAttributeSet (AttributeSet node) { return VisitChildren( node ); }
52 protected virtual T VisitCallTemplate (XslNode node) { return VisitChildren( node ); }
53 protected virtual T VisitChoose (XslNode node) { return VisitChildren( node ); }
54 protected virtual T VisitComment (XslNode node) { return VisitChildren( node ); }
55 protected virtual T VisitCopy (XslNode node) { return VisitChildren( node ); }
56 protected virtual T VisitCopyOf (XslNode node) { return VisitChildren( node ); }
57 protected virtual T VisitElement (NodeCtor node) { return VisitChildren( node ); }
58 protected virtual T VisitError (XslNode node) { return VisitChildren( node ); }
59 protected virtual T VisitForEach (XslNode node) { return VisitChildren( node ); }
60 protected virtual T VisitIf (XslNode node) { return VisitChildren( node ); }
61 protected virtual T VisitKey (Key node) { return VisitChildren( node ); }
62 protected virtual T VisitList (XslNode node) { return VisitChildren( node ); }
63 protected virtual T VisitLiteralAttribute(XslNode node) { return VisitChildren( node ); }
64 protected virtual T VisitLiteralElement (XslNode node) { return VisitChildren( node ); }
65 protected virtual T VisitMessage (XslNode node) { return VisitChildren( node ); }
66 protected virtual T VisitNop (XslNode node) { return VisitChildren( node ); }
67 protected virtual T VisitNumber (Number node) { return VisitChildren( node ); }
68 protected virtual T VisitOtherwise (XslNode node) { return VisitChildren( node ); }
69 protected virtual T VisitParam (VarPar node) { return VisitChildren( node ); }
70 protected virtual T VisitPI (XslNode node) { return VisitChildren( node ); }
71 protected virtual T VisitSort (Sort node) { return VisitChildren( node ); }
72 protected virtual T VisitTemplate (Template node) { return VisitChildren( node ); }
73 protected virtual T VisitText (Text node) { return VisitChildren( node ); }
74 protected virtual T VisitUseAttributeSet (XslNode node) { return VisitChildren( node ); }
75 protected virtual T VisitValueOf (XslNode node) { return VisitChildren( node ); }
76 protected virtual T VisitValueOfDoe (XslNode node) { return VisitChildren( node ); }
77 protected virtual T VisitVariable (VarPar node) { return VisitChildren( node ); }
78 protected virtual T VisitWithParam (VarPar node) { return VisitChildren( node ); }
79 protected virtual T VisitUnknown (XslNode node) { return VisitChildren( node ); }
81 protected virtual T VisitChildren(XslNode node) {
82 foreach (XslNode child in node.Content) {
83 this.Visit(child);
85 return default(T);