Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ImportDefinitionCollection.cs
Go to the documentation of this file.
1
using
System.Collections
;
2
using
System.Collections.Generic
;
3
using
System.Reflection.Internal
;
4
using
System.Reflection.Metadata.Ecma335
;
5
6
namespace
System.Reflection.Metadata
;
7
8
public
readonly
struct
ImportDefinitionCollection
:
IEnumerable
<ImportDefinition>,
IEnumerable
9
{
10
public
struct
Enumerator
:
IEnumerator
<ImportDefinition>,
IEnumerator
,
IDisposable
11
{
12
private
BlobReader
_reader
;
13
14
private
ImportDefinition
_current
;
15
16
public
ImportDefinition
Current
=>
_current
;
17
18
object
IEnumerator.Current =>
_current
;
19
20
internal
Enumerator
(
MemoryBlock
block
)
21
{
22
_reader
=
new
BlobReader
(
block
);
23
_current
=
default
(
ImportDefinition
);
24
}
25
26
public
bool
MoveNext
()
27
{
28
if
(
_reader
.
RemainingBytes
== 0)
29
{
30
return
false
;
31
}
32
ImportDefinitionKind
importDefinitionKind
= (
ImportDefinitionKind
)
_reader
.
ReadByte
();
33
switch
(
importDefinitionKind
)
34
{
35
case
ImportDefinitionKind
.ImportType:
36
{
37
Handle
typeOrNamespace
=
_reader
.
ReadTypeHandle
();
38
_current
=
new
ImportDefinition
(
importDefinitionKind
,
default
(
BlobHandle
),
default
(
AssemblyReferenceHandle
),
typeOrNamespace
);
39
break
;
40
}
41
case
ImportDefinitionKind
.ImportNamespace:
42
{
43
Handle
typeOrNamespace
=
MetadataTokens
.
BlobHandle
(
_reader
.
ReadCompressedInteger
());
44
_current
=
new
ImportDefinition
(
importDefinitionKind
,
default
(
BlobHandle
),
default
(
AssemblyReferenceHandle
),
typeOrNamespace
);
45
break
;
46
}
47
case
ImportDefinitionKind
.ImportAssemblyNamespace:
48
{
49
AssemblyReferenceHandle
assembly
=
MetadataTokens
.
AssemblyReferenceHandle
(
_reader
.
ReadCompressedInteger
());
50
Handle
typeOrNamespace
=
MetadataTokens
.
BlobHandle
(
_reader
.
ReadCompressedInteger
());
51
_current
=
new
ImportDefinition
(
importDefinitionKind
,
default
(
BlobHandle
),
assembly
,
typeOrNamespace
);
52
break
;
53
}
54
case
ImportDefinitionKind
.ImportAssemblyReferenceAlias:
55
_current
=
new
ImportDefinition
(
importDefinitionKind
,
MetadataTokens
.
BlobHandle
(
_reader
.
ReadCompressedInteger
()));
56
break
;
57
case
ImportDefinitionKind
.AliasAssemblyReference:
58
_current
=
new
ImportDefinition
(
importDefinitionKind
,
MetadataTokens
.
BlobHandle
(
_reader
.
ReadCompressedInteger
()),
MetadataTokens
.
AssemblyReferenceHandle
(
_reader
.
ReadCompressedInteger
()));
59
break
;
60
case
ImportDefinitionKind
.AliasType:
61
{
62
BlobHandle
alias2
=
MetadataTokens
.
BlobHandle
(
_reader
.
ReadCompressedInteger
());
63
Handle
typeOrNamespace
=
_reader
.
ReadTypeHandle
();
64
_current
=
new
ImportDefinition
(
importDefinitionKind
,
alias2
,
default
(
AssemblyReferenceHandle
),
typeOrNamespace
);
65
break
;
66
}
67
case
ImportDefinitionKind
.ImportXmlNamespace:
68
case
ImportDefinitionKind
.AliasNamespace:
69
{
70
BlobHandle
alias =
MetadataTokens
.
BlobHandle
(
_reader
.
ReadCompressedInteger
());
71
Handle
typeOrNamespace
=
MetadataTokens
.
BlobHandle
(
_reader
.
ReadCompressedInteger
());
72
_current
=
new
ImportDefinition
(
importDefinitionKind
, alias,
default
(
AssemblyReferenceHandle
),
typeOrNamespace
);
73
break
;
74
}
75
case
ImportDefinitionKind
.AliasAssemblyNamespace:
76
_current
=
new
ImportDefinition
(
importDefinitionKind
,
MetadataTokens
.
BlobHandle
(
_reader
.
ReadCompressedInteger
()),
MetadataTokens
.
AssemblyReferenceHandle
(
_reader
.
ReadCompressedInteger
()),
MetadataTokens
.
BlobHandle
(
_reader
.
ReadCompressedInteger
()));
77
break
;
78
default
:
79
throw
new
BadImageFormatException
(
System
.
SR
.
Format
(
System
.
SR
.
InvalidImportDefinitionKind
,
importDefinitionKind
));
80
}
81
return
true
;
82
}
83
84
public
void
Reset
()
85
{
86
_reader
.
Reset
();
87
_current
=
default
(
ImportDefinition
);
88
}
89
90
void
IDisposable
.
Dispose
()
91
{
92
}
93
}
94
95
private
readonly
MemoryBlock
_block
;
96
97
internal
ImportDefinitionCollection
(
MemoryBlock
block
)
98
{
99
_block
=
block
;
100
}
101
102
public
Enumerator
GetEnumerator
()
103
{
104
return
new
Enumerator
(
_block
);
105
}
106
107
IEnumerator<ImportDefinition>
IEnumerable<ImportDefinition>
.
GetEnumerator
()
108
{
109
return
GetEnumerator
();
110
}
111
112
IEnumerator
IEnumerable
.
GetEnumerator
()
113
{
114
return
GetEnumerator
();
115
}
116
}
System.BadImageFormatException
Definition
BadImageFormatException.cs:10
System.Collections.Generic.Dictionary.GetEnumerator
Enumerator GetEnumerator()
Definition
Dictionary.cs:984
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Reflection.Metadata.Ecma335.MetadataTokens.BlobHandle
static BlobHandle BlobHandle(int offset)
Definition
MetadataTokens.cs:372
System.Reflection.Metadata.Ecma335.MetadataTokens.AssemblyReferenceHandle
static AssemblyReferenceHandle AssemblyReferenceHandle(int rowNumber)
Definition
MetadataTokens.cs:297
System.Reflection.Metadata.Ecma335.MetadataTokens
Definition
MetadataTokens.cs:4
System.SR.Format
static string Format(string resourceFormat, object p1)
Definition
SR.cs:118
System.SR.InvalidImportDefinitionKind
static string InvalidImportDefinitionKind
Definition
SR.cs:132
System.SR
Definition
SR.cs:7
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.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.Internal
Definition
AbstractMemoryBlock.cs:4
System.Reflection.Metadata.Ecma335
Definition
ArrayShapeEncoder.cs:3
System.Reflection.Metadata.ImportDefinitionKind
ImportDefinitionKind
Definition
ImportDefinitionKind.cs:4
System.Reflection.Metadata
Definition
AssemblyExtensions.cs:4
System
Definition
BlockingCollection.cs:8
System.Reflection.Internal.MemoryBlock
Definition
MemoryBlock.cs:11
System.Reflection.Metadata.AssemblyReferenceHandle
Definition
AssemblyReferenceHandle.cs:4
System.Reflection.Metadata.BlobHandle
Definition
BlobHandle.cs:6
System.Reflection.Metadata.BlobReader.ReadCompressedInteger
int ReadCompressedInteger()
Definition
BlobReader.cs:303
System.Reflection.Metadata.BlobReader.ReadByte
unsafe byte ReadByte()
Definition
BlobReader.cs:153
System.Reflection.Metadata.BlobReader.Reset
unsafe void Reset()
Definition
BlobReader.cs:76
System.Reflection.Metadata.BlobReader.ReadTypeHandle
EntityHandle ReadTypeHandle()
Definition
BlobReader.cs:386
System.Reflection.Metadata.BlobReader.RemainingBytes
unsafe int RemainingBytes
Definition
BlobReader.cs:43
System.Reflection.Metadata.BlobReader
Definition
BlobReader.cs:10
System.Reflection.Metadata.Handle
Definition
Handle.cs:6
System.Reflection.Metadata.ImportDefinitionCollection.Enumerator.Reset
void Reset()
Definition
ImportDefinitionCollection.cs:84
System.Reflection.Metadata.ImportDefinitionCollection.Enumerator.Current
ImportDefinition Current
Definition
ImportDefinitionCollection.cs:16
System.Reflection.Metadata.ImportDefinitionCollection.Enumerator.MoveNext
bool MoveNext()
Definition
ImportDefinitionCollection.cs:26
System.Reflection.Metadata.ImportDefinitionCollection.Enumerator._current
ImportDefinition _current
Definition
ImportDefinitionCollection.cs:14
System.Reflection.Metadata.ImportDefinitionCollection.Enumerator._reader
BlobReader _reader
Definition
ImportDefinitionCollection.cs:12
System.Reflection.Metadata.ImportDefinitionCollection.Enumerator.Enumerator
Enumerator(MemoryBlock block)
Definition
ImportDefinitionCollection.cs:20
System.Reflection.Metadata.ImportDefinitionCollection.Enumerator
Definition
ImportDefinitionCollection.cs:11
System.Reflection.Metadata.ImportDefinitionCollection.ImportDefinitionCollection
ImportDefinitionCollection(MemoryBlock block)
Definition
ImportDefinitionCollection.cs:97
System.Reflection.Metadata.ImportDefinitionCollection._block
readonly MemoryBlock _block
Definition
ImportDefinitionCollection.cs:95
System.Reflection.Metadata.ImportDefinitionCollection.GetEnumerator
Enumerator GetEnumerator()
Definition
ImportDefinitionCollection.cs:102
System.Reflection.Metadata.ImportDefinitionCollection
Definition
ImportDefinitionCollection.cs:9
System.Reflection.Metadata.ImportDefinition
Definition
ImportDefinition.cs:4
source
System.Reflection.Metadata
System.Reflection.Metadata
ImportDefinitionCollection.cs
Generated by
1.10.0