Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
LocalScopeHandleCollection.cs
Go to the documentation of this file.
1
using
System.Collections
;
2
using
System.Collections.Generic
;
3
4
namespace
System.Reflection.Metadata
;
5
6
public
readonly
struct
LocalScopeHandleCollection
:
IReadOnlyCollection
<LocalScopeHandle>,
IEnumerable
<LocalScopeHandle>,
IEnumerable
7
{
8
public
struct
Enumerator
:
IEnumerator
<LocalScopeHandle>,
IEnumerator
,
IDisposable
9
{
10
private
readonly
MetadataReader
_reader
;
11
12
private
readonly
int
_lastRowId
;
13
14
private
int
_currentRowId
;
15
16
public
LocalScopeHandle
Current
=>
LocalScopeHandle
.
FromRowId
((
int
)((
long
)
_currentRowId
& 0
xFFFFFFL
));
17
18
object
IEnumerator.Current =>
Current
;
19
20
internal
Enumerator
(
MetadataReader
reader,
int
firstRowId
,
int
lastRowId
)
21
{
22
_reader
= reader;
23
_lastRowId
=
lastRowId
;
24
_currentRowId
=
firstRowId
- 1;
25
}
26
27
public
bool
MoveNext
()
28
{
29
if
(
_currentRowId
>=
_lastRowId
)
30
{
31
_currentRowId
= 16777216;
32
return
false
;
33
}
34
_currentRowId
++;
35
return
true
;
36
}
37
38
void
IEnumerator
.
Reset
()
39
{
40
throw
new
NotSupportedException
();
41
}
42
43
void
IDisposable
.
Dispose
()
44
{
45
}
46
}
47
48
public
struct
ChildrenEnumerator
:
IEnumerator
<LocalScopeHandle>,
IEnumerator
,
IDisposable
49
{
50
private
readonly
MetadataReader
_reader
;
51
52
private
readonly
int
_parentEndOffset
;
53
54
private
readonly
int
_parentRowId
;
55
56
private
readonly
MethodDefinitionHandle
_parentMethodRowId
;
57
58
private
int
_currentRowId
;
59
60
public
LocalScopeHandle
Current
=>
LocalScopeHandle
.
FromRowId
((
int
)((
long
)
_currentRowId
& 0
xFFFFFFL
));
61
62
object
IEnumerator.Current =>
Current
;
63
64
internal
ChildrenEnumerator
(
MetadataReader
reader,
int
parentRowId
)
65
{
66
_reader
= reader;
67
_parentEndOffset
= reader.
LocalScopeTable
.GetEndOffset(
parentRowId
);
68
_parentMethodRowId
= reader.
LocalScopeTable
.GetMethod(
parentRowId
);
69
_currentRowId
= 0;
70
_parentRowId
=
parentRowId
;
71
}
72
73
public
bool
MoveNext
()
74
{
75
int
currentRowId
=
_currentRowId
;
76
int
num;
77
int
num2
;
78
switch
(
currentRowId
)
79
{
80
case
16777216:
81
return
false
;
82
case
0:
83
num = -1;
84
num2
=
_parentRowId
+ 1;
85
break
;
86
default
:
87
num =
_reader
.
LocalScopeTable
.GetEndOffset(
currentRowId
);
88
num2
=
currentRowId
+ 1;
89
break
;
90
}
91
int
numberOfRows
=
_reader
.
LocalScopeTable
.NumberOfRows;
92
int
endOffset
;
93
while
(
true
)
94
{
95
if
(
num2
>
numberOfRows
||
_parentMethodRowId
!=
_reader
.
LocalScopeTable
.GetMethod(
num2
))
96
{
97
_currentRowId
= 16777216;
98
return
false
;
99
}
100
endOffset
=
_reader
.
LocalScopeTable
.GetEndOffset(
num2
);
101
if
(
endOffset
> num)
102
{
103
break
;
104
}
105
num2
++;
106
}
107
if
(
endOffset
>
_parentEndOffset
)
108
{
109
_currentRowId
= 16777216;
110
return
false
;
111
}
112
_currentRowId
=
num2
;
113
return
true
;
114
}
115
116
void
IEnumerator
.
Reset
()
117
{
118
throw
new
NotSupportedException
();
119
}
120
121
void
IDisposable
.
Dispose
()
122
{
123
}
124
}
125
126
private
readonly
MetadataReader
_reader
;
127
128
private
readonly
int
_firstRowId
;
129
130
private
readonly
int
_lastRowId
;
131
132
public
int
Count
=>
_lastRowId
-
_firstRowId
+ 1;
133
134
internal
LocalScopeHandleCollection
(
MetadataReader
reader,
int
methodDefinitionRowId
)
135
{
136
_reader
= reader;
137
if
(
methodDefinitionRowId
== 0)
138
{
139
_firstRowId
= 1;
140
_lastRowId
= reader.
LocalScopeTable
.NumberOfRows;
141
}
142
else
143
{
144
reader.
LocalScopeTable
.GetLocalScopeRange(
methodDefinitionRowId
,
out
_firstRowId
,
out
_lastRowId
);
145
}
146
}
147
148
public
Enumerator
GetEnumerator
()
149
{
150
return
new
Enumerator
(
_reader
,
_firstRowId
,
_lastRowId
);
151
}
152
153
IEnumerator<LocalScopeHandle>
IEnumerable<LocalScopeHandle>
.
GetEnumerator
()
154
{
155
return
GetEnumerator
();
156
}
157
158
IEnumerator
IEnumerable
.
GetEnumerator
()
159
{
160
return
GetEnumerator
();
161
}
162
}
System.Collections.Generic.Dictionary.GetEnumerator
Enumerator GetEnumerator()
Definition
Dictionary.cs:984
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.NotSupportedException
Definition
NotSupportedException.cs:9
System.Reflection.Metadata.MetadataReader.LocalScopeTable
LocalScopeTableReader LocalScopeTable
Definition
MetadataReader.cs:169
System.Reflection.Metadata.MetadataReader
Definition
MetadataReader.cs:12
System.Collections.Generic.IEnumerable.GetEnumerator
new IEnumerator< T > GetEnumerator()
System.Collections.Generic.IEnumerable
Definition
IEnumerable.cs:4
System.Collections.Generic.IEnumerator
Definition
IEnumerator.cs:4
System.Collections.Generic.IReadOnlyCollection
Definition
IReadOnlyCollection.cs:4
System.Collections.IEnumerator.Reset
void Reset()
System.IDisposable.Dispose
void Dispose()
System.IDisposable
Definition
IDisposable.cs:4
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
System.Collections
Definition
BlockingCollection.cs:8
System.Reflection.Metadata
Definition
AssemblyExtensions.cs:4
System.Reflection.Metadata.LocalScopeHandleCollection.ChildrenEnumerator._reader
readonly MetadataReader _reader
Definition
LocalScopeHandleCollection.cs:50
System.Reflection.Metadata.LocalScopeHandleCollection.ChildrenEnumerator._parentMethodRowId
readonly MethodDefinitionHandle _parentMethodRowId
Definition
LocalScopeHandleCollection.cs:56
System.Reflection.Metadata.LocalScopeHandleCollection.ChildrenEnumerator.ChildrenEnumerator
ChildrenEnumerator(MetadataReader reader, int parentRowId)
Definition
LocalScopeHandleCollection.cs:64
System.Reflection.Metadata.LocalScopeHandleCollection.ChildrenEnumerator._parentEndOffset
readonly int _parentEndOffset
Definition
LocalScopeHandleCollection.cs:52
System.Reflection.Metadata.LocalScopeHandleCollection.ChildrenEnumerator.MoveNext
bool MoveNext()
Definition
LocalScopeHandleCollection.cs:73
System.Reflection.Metadata.LocalScopeHandleCollection.ChildrenEnumerator._parentRowId
readonly int _parentRowId
Definition
LocalScopeHandleCollection.cs:54
System.Reflection.Metadata.LocalScopeHandleCollection.ChildrenEnumerator._currentRowId
int _currentRowId
Definition
LocalScopeHandleCollection.cs:58
System.Reflection.Metadata.LocalScopeHandleCollection.ChildrenEnumerator.Current
LocalScopeHandle Current
Definition
LocalScopeHandleCollection.cs:60
System.Reflection.Metadata.LocalScopeHandleCollection.ChildrenEnumerator.Current
object IEnumerator. Current
Definition
LocalScopeHandleCollection.cs:62
System.Reflection.Metadata.LocalScopeHandleCollection.ChildrenEnumerator
Definition
LocalScopeHandleCollection.cs:49
System.Reflection.Metadata.LocalScopeHandleCollection.Enumerator._lastRowId
readonly int _lastRowId
Definition
LocalScopeHandleCollection.cs:12
System.Reflection.Metadata.LocalScopeHandleCollection.Enumerator._currentRowId
int _currentRowId
Definition
LocalScopeHandleCollection.cs:14
System.Reflection.Metadata.LocalScopeHandleCollection.Enumerator._reader
readonly MetadataReader _reader
Definition
LocalScopeHandleCollection.cs:10
System.Reflection.Metadata.LocalScopeHandleCollection.Enumerator.MoveNext
bool MoveNext()
Definition
LocalScopeHandleCollection.cs:27
System.Reflection.Metadata.LocalScopeHandleCollection.Enumerator.Current
LocalScopeHandle Current
Definition
LocalScopeHandleCollection.cs:16
System.Reflection.Metadata.LocalScopeHandleCollection.Enumerator.Enumerator
Enumerator(MetadataReader reader, int firstRowId, int lastRowId)
Definition
LocalScopeHandleCollection.cs:20
System.Reflection.Metadata.LocalScopeHandleCollection.Enumerator.Current
object IEnumerator. Current
Definition
LocalScopeHandleCollection.cs:18
System.Reflection.Metadata.LocalScopeHandleCollection.Enumerator
Definition
LocalScopeHandleCollection.cs:9
System.Reflection.Metadata.LocalScopeHandleCollection.LocalScopeHandleCollection
LocalScopeHandleCollection(MetadataReader reader, int methodDefinitionRowId)
Definition
LocalScopeHandleCollection.cs:134
System.Reflection.Metadata.LocalScopeHandleCollection._firstRowId
readonly int _firstRowId
Definition
LocalScopeHandleCollection.cs:128
System.Reflection.Metadata.LocalScopeHandleCollection.GetEnumerator
Enumerator GetEnumerator()
Definition
LocalScopeHandleCollection.cs:148
System.Reflection.Metadata.LocalScopeHandleCollection.Count
int Count
Definition
LocalScopeHandleCollection.cs:132
System.Reflection.Metadata.LocalScopeHandleCollection._lastRowId
readonly int _lastRowId
Definition
LocalScopeHandleCollection.cs:130
System.Reflection.Metadata.LocalScopeHandleCollection._reader
readonly MetadataReader _reader
Definition
LocalScopeHandleCollection.cs:126
System.Reflection.Metadata.LocalScopeHandleCollection
Definition
LocalScopeHandleCollection.cs:7
System.Reflection.Metadata.LocalScopeHandle.FromRowId
static LocalScopeHandle FromRowId(int rowId)
Definition
LocalScopeHandle.cs:16
System.Reflection.Metadata.LocalScopeHandle
Definition
LocalScopeHandle.cs:4
System.Reflection.Metadata.MethodDefinitionHandle
Definition
MethodDefinitionHandle.cs:4
source
System.Reflection.Metadata
System.Reflection.Metadata
LocalScopeHandleCollection.cs
Generated by
1.10.0