Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
StackOrQueueConverter.cs
Go to the documentation of this file.
3
5
7{
8 protected sealed override void Add(in object value, ref ReadStack state)
9 {
10 Action<TCollection, object> action = (Action<TCollection, object>)state.Current.JsonTypeInfo.AddMethodDelegate;
11 action((TCollection)state.Current.ReturnValue, value);
12 }
13
24
26 {
28 if (state.Current.CollectionEnumerator == null)
29 {
30 enumerator = value.GetEnumerator();
31 if (!enumerator.MoveNext())
32 {
33 return true;
34 }
35 }
36 else
37 {
38 enumerator = state.Current.CollectionEnumerator;
39 }
41 do
42 {
43 if (ShouldFlush(writer, ref state))
44 {
46 return false;
47 }
48 object value2 = enumerator.Current;
50 {
52 return false;
53 }
54 }
55 while (enumerator.MoveNext());
56 return true;
57 }
58}
override void Add(in object value, ref ReadStack state)
override bool OnWriteResume(Utf8JsonWriter writer, TCollection value, JsonSerializerOptions options, ref WriteStack state)
override void CreateCollection(ref Utf8JsonReader reader, ref ReadStack state, JsonSerializerOptions options)
static JsonConverter< TElement > GetElementConverter(JsonTypeInfo elementTypeInfo)
JsonTypeInfo(Type type, JsonSerializerOptions options)
static void ThrowNotSupportedException_CannotPopulateCollection(Type type, ref Utf8JsonReader reader, ref ReadStack state)