Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
XmlILElementAnalyzer.cs
Go to the documentation of this file.
3
5
7{
8 private readonly NameTable _attrNames = new NameTable();
9
10 private readonly ArrayList _dupAttrs = new ArrayList();
11
13 : base(fac)
14 {
15 }
16
27
29 {
30 if (ndLoop.XmlType.MaybeMany)
31 {
33 }
34 base.AnalyzeLoop(ndLoop, info);
35 }
36
38 {
39 if (ndCopy.NodeType == QilNodeType.AttributeCtor)
40 {
43 }
44 else
45 {
47 }
48 base.AnalyzeCopy(ndCopy, info);
49 }
50
52 {
53 if (ndAttr.Left.NodeType == QilNodeType.LiteralQName)
54 {
58 {
60 int i;
61 for (i = 0; i < _dupAttrs.Count; i++)
62 {
64 if ((object)xmlQualifiedName2.Name == xmlQualifiedName.Name && (object)xmlQualifiedName2.Namespace == xmlQualifiedName.Namespace)
65 {
67 }
68 }
69 if (i >= _dupAttrs.Count)
70 {
72 }
73 }
74 if (!info.IsNamespaceInScope)
75 {
77 }
78 }
79 else
80 {
82 }
83 }
84
86 {
87 if ((typ.NodeKinds & XmlNodeKindFlags.Attribute) != 0)
88 {
92 }
93 if ((typ.NodeKinds & XmlNodeKindFlags.Namespace) != 0)
94 {
97 {
99 }
100 }
101 }
102}
virtual int Add(object? value)
override string Add(string key)
Definition NameTable.cs:33
static XmlILConstructInfo Write(QilNode nd)
void AnalyzeAttributeCtor(QilBinary ndAttr, XmlILConstructInfo info)
override void AnalyzeLoop(QilLoop ndLoop, XmlILConstructInfo info)
override void AnalyzeCopy(QilNode ndCopy, XmlILConstructInfo info)
override QilNode Analyze(QilNode ndElem, QilNode ndContent)