Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
QilScopedVisitor.cs
Go to the documentation of this file.
1
namespace
System.Xml.Xsl.Qil
;
2
3
internal
class
QilScopedVisitor
:
QilVisitor
4
{
5
protected
virtual
void
BeginScope
(
QilNode
node
)
6
{
7
}
8
9
protected
virtual
void
EndScope
(
QilNode
node
)
10
{
11
}
12
13
protected
virtual
void
BeforeVisit
(
QilNode
node
)
14
{
15
switch
(
node
.NodeType)
16
{
17
case
QilNodeType
.QilExpression:
18
{
19
QilExpression
qilExpression
= (
QilExpression
)
node
;
20
foreach
(
QilNode
globalParameter
in
qilExpression
.GlobalParameterList)
21
{
22
BeginScope
(
globalParameter
);
23
}
24
foreach
(
QilNode
globalVariable
in
qilExpression
.GlobalVariableList)
25
{
26
BeginScope
(
globalVariable
);
27
}
28
{
29
foreach
(
QilNode
function
in
qilExpression
.FunctionList)
30
{
31
BeginScope
(
function
);
32
}
33
break
;
34
}
35
}
36
case
QilNodeType
.Function:
37
{
38
foreach
(
QilNode
argument
in
((
QilFunction
)
node
).Arguments)
39
{
40
BeginScope
(
argument
);
41
}
42
break
;
43
}
44
case
QilNodeType
.Loop:
45
case
QilNodeType
.Filter:
46
case
QilNodeType
.Sort:
47
BeginScope
(((
QilLoop
)
node
).Variable);
48
break
;
49
}
50
}
51
52
protected
virtual
void
AfterVisit
(
QilNode
node
)
53
{
54
switch
(
node
.NodeType)
55
{
56
case
QilNodeType
.QilExpression:
57
{
58
QilExpression
qilExpression
= (
QilExpression
)
node
;
59
foreach
(
QilNode
function
in
qilExpression
.FunctionList)
60
{
61
EndScope
(
function
);
62
}
63
foreach
(
QilNode
globalVariable
in
qilExpression
.GlobalVariableList)
64
{
65
EndScope
(
globalVariable
);
66
}
67
{
68
foreach
(
QilNode
globalParameter
in
qilExpression
.GlobalParameterList)
69
{
70
EndScope
(
globalParameter
);
71
}
72
break
;
73
}
74
}
75
case
QilNodeType
.Function:
76
{
77
foreach
(
QilNode
argument
in
((
QilFunction
)
node
).Arguments)
78
{
79
EndScope
(
argument
);
80
}
81
break
;
82
}
83
case
QilNodeType
.Loop:
84
case
QilNodeType
.Filter:
85
case
QilNodeType
.Sort:
86
EndScope
(((
QilLoop
)
node
).Variable);
87
break
;
88
}
89
}
90
91
protected
override
QilNode
Visit
(
QilNode
n
)
92
{
93
BeforeVisit
(
n
);
94
QilNode
result =
base
.Visit(
n
);
95
AfterVisit
(
n
);
96
return
result;
97
}
98
}
System.Xml.Xsl.Qil.QilExpression
Definition
QilExpression.cs:7
System.Xml.Xsl.Qil.QilFunction
Definition
QilFunction.cs:4
System.Xml.Xsl.Qil.QilLoop
Definition
QilLoop.cs:4
System.Xml.Xsl.Qil.QilNode
Definition
QilNode.cs:7
System.Xml.Xsl.Qil.QilScopedVisitor.AfterVisit
virtual void AfterVisit(QilNode node)
Definition
QilScopedVisitor.cs:52
System.Xml.Xsl.Qil.QilScopedVisitor.BeginScope
virtual void BeginScope(QilNode node)
Definition
QilScopedVisitor.cs:5
System.Xml.Xsl.Qil.QilScopedVisitor.Visit
override QilNode Visit(QilNode n)
Definition
QilScopedVisitor.cs:91
System.Xml.Xsl.Qil.QilScopedVisitor.BeforeVisit
virtual void BeforeVisit(QilNode node)
Definition
QilScopedVisitor.cs:13
System.Xml.Xsl.Qil.QilScopedVisitor.EndScope
virtual void EndScope(QilNode node)
Definition
QilScopedVisitor.cs:9
System.Xml.Xsl.Qil.QilScopedVisitor
Definition
QilScopedVisitor.cs:4
System.Xml.Xsl.Qil.QilVisitor
Definition
QilVisitor.cs:4
System.Xml.Xsl.Qil.QilNodeType
QilNodeType
Definition
QilNodeType.cs:4
System.Xml.Xsl.Qil.QilNodeType.QilExpression
@ QilExpression
System.Xml.Xsl.Qil
Definition
IQilAnnotation.cs:1
System.Xml.ValueHandleType.Dictionary
@ Dictionary
source
System.Private.Xml
System.Xml.Xsl.Qil
QilScopedVisitor.cs
Generated by
1.10.0