Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
CopyNamespacesAction.cs
Go to the documentation of this file.
2
4
5internal sealed class CopyNamespacesAction : Action
6{
7 private static readonly CopyNamespacesAction s_Action = new CopyNamespacesAction();
8
10 {
11 return s_Action;
12 }
13
14 internal override void Execute(Processor processor, ActionFrame frame)
15 {
16 while (processor.CanContinue)
17 {
18 switch (frame.State)
19 {
20 default:
21 return;
22 case 0:
23 if (!frame.Node.MoveToFirstNamespace(XPathNamespaceScope.ExcludeXml))
24 {
25 frame.Finished();
26 return;
27 }
28 frame.State = 2;
29 goto case 2;
30 case 2:
31 if (processor.BeginEvent(XPathNodeType.Namespace, null, frame.Node.LocalName, frame.Node.Value, empty: false))
32 {
33 frame.State = 4;
34 break;
35 }
36 return;
37 case 4:
38 if (processor.EndEvent(XPathNodeType.Namespace))
39 {
40 frame.State = 5;
41 break;
42 }
43 return;
44 case 5:
45 if (frame.Node.MoveToNextNamespace(XPathNamespaceScope.ExcludeXml))
46 {
47 frame.State = 2;
48 break;
49 }
50 frame.Node.MoveToParent();
51 frame.Finished();
52 return;
53 case 1:
54 case 3:
55 return;
56 }
57 }
58 }
59}
bool MoveToFirstNamespace(XPathNamespaceScope namespaceScope)
bool MoveToNextNamespace(XPathNamespaceScope namespaceScope)
override void Execute(Processor processor, ActionFrame frame)
static readonly CopyNamespacesAction s_Action