Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
IEnumerableDefaultConverter.cs
Go to the documentation of this file.
1
using
System.Collections.Generic
;
2
3
namespace
System.Text.Json.Serialization.Converters
;
4
5
internal
abstract
class
IEnumerableDefaultConverter
<
TCollection
, TElement> :
JsonCollectionConverter
<TCollection, TElement>
where
TCollection
:
IEnumerable
<TElement>
6
{
7
internal
override
bool
CanHaveIdMetadata
=>
true
;
8
9
protected
override
bool
OnWriteResume
(
Utf8JsonWriter
writer
,
TCollection
value
,
JsonSerializerOptions
options
,
ref
WriteStack
state
)
10
{
11
IEnumerator<TElement>
enumerator
;
12
if
(
state
.Current.CollectionEnumerator ==
null
)
13
{
14
enumerator
=
value
.
GetEnumerator
();
15
if
(!
enumerator
.MoveNext())
16
{
17
enumerator
.Dispose();
18
return
true
;
19
}
20
}
21
else
22
{
23
enumerator
= (
IEnumerator<TElement>
)
state
.Current.CollectionEnumerator;
24
}
25
JsonConverter<TElement>
elementConverter
=
JsonCollectionConverter<TCollection, TElement>
.GetElementConverter(
ref
state
);
26
do
27
{
28
if
(ShouldFlush(
writer
,
ref
state
))
29
{
30
state.Current.CollectionEnumerator
=
enumerator
;
31
return
false
;
32
}
33
TElement
value2
=
enumerator
.Current;
34
if
(!
elementConverter
.TryWrite(
writer
,
in
value2
,
options
,
ref
state
))
35
{
36
state.Current.CollectionEnumerator
=
enumerator
;
37
return
false
;
38
}
39
}
40
while
(
enumerator
.MoveNext());
41
enumerator
.Dispose();
42
return
true
;
43
}
44
}
System.Collections.Generic.Dictionary.GetEnumerator
Enumerator GetEnumerator()
Definition
Dictionary.cs:984
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Text.Json.JsonSerializerOptions
Definition
JsonSerializerOptions.cs:17
System.Text.Json.Serialization.Converters.IEnumerableDefaultConverter.OnWriteResume
override bool OnWriteResume(Utf8JsonWriter writer, TCollection value, JsonSerializerOptions options, ref WriteStack state)
Definition
IEnumerableDefaultConverter.cs:9
System.Text.Json.Serialization.Converters.IEnumerableDefaultConverter.CanHaveIdMetadata
override bool CanHaveIdMetadata
Definition
IEnumerableDefaultConverter.cs:7
System.Text.Json.Serialization.Converters.IEnumerableDefaultConverter
Definition
IEnumerableDefaultConverter.cs:6
System.Text.Json.Serialization.JsonCollectionConverter
Definition
JsonCollectionConverter.cs:7
System.Text.Json.Utf8JsonWriter
Definition
Utf8JsonWriter.cs:14
System.Collections.Generic.IEnumerable
Definition
IEnumerable.cs:4
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
System.Text.Json.Serialization.Converters
Definition
ArrayConverter.cs:3
System.Text.Json.ConverterStrategy.Dictionary
@ Dictionary
System.ExceptionArgument.value
@ value
System.ExceptionArgument.options
@ options
System.ExceptionArgument.state
@ state
System.ExceptionArgument.writer
@ writer
System.Text.Json.WriteStack
Definition
WriteStack.cs:14
source
System.Text.Json
System.Text.Json.Serialization.Converters
IEnumerableDefaultConverter.cs
Generated by
1.10.0