Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
XmlILAnnotation.cs
Go to the documentation of this file.
3
5
6internal sealed class XmlILAnnotation : ListBase<object>
7{
8 private readonly object _annPrev;
9
11
12 private int _argPos;
13
15
17
19
21 {
22 get
23 {
24 return _funcMethod;
25 }
26 set
27 {
29 }
30 }
31
33 {
34 get
35 {
36 return _argPos;
37 }
38 set
39 {
40 _argPos = value;
41 }
42 }
43
45 {
46 get
47 {
48 return _iterInfo;
49 }
50 set
51 {
53 }
54 }
55
57 {
58 get
59 {
60 return _constrInfo;
61 }
62 set
63 {
65 }
66 }
67
69 {
70 get
71 {
72 return _optPatt;
73 }
74 set
75 {
77 }
78 }
79
80 public override int Count
81 {
82 get
83 {
84 if (_annPrev == null)
85 {
86 return 2;
87 }
88 return 3;
89 }
90 }
91
92 public override object this[int index]
93 {
94 get
95 {
96 if (_annPrev != null)
97 {
98 if (index == 0)
99 {
100 return _annPrev;
101 }
102 index--;
103 }
104 return index switch
105 {
106 0 => _constrInfo,
107 1 => _optPatt,
108 _ => throw new IndexOutOfRangeException(),
109 };
110 }
111 set
112 {
113 throw new NotSupportedException();
114 }
115 }
116
118 {
120 if (xmlILAnnotation == null)
121 {
122 xmlILAnnotation = (XmlILAnnotation)(nd.Annotation = new XmlILAnnotation(nd.Annotation));
123 }
124 return xmlILAnnotation;
125 }
126
127 private XmlILAnnotation(object annPrev)
128 {
130 }
131}
static XmlILAnnotation Write(QilNode nd)