1111
1212namespace Elastic . Transport . Extensions ;
1313
14- #pragma warning disable IL2026 , IL3050 // SystemTextJsonSerializer implementations must make sure to use an AOT compatible JsonSerializerOptions.TypeInfoResolver
15-
1614/// <summary>
1715/// A set of handy extension methods for <see cref="Serializer"/>
1816/// </summary>
@@ -42,6 +40,8 @@ public static byte[] SerializeToBytes<T>(
4240 /// that yields memory streams backed by pooled byte arrays.
4341 /// </param>
4442 /// <param name="formatting"><inheritdoc cref="SerializationFormatting" path="/summary"/></param>
43+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
44+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
4545 public static byte [ ] SerializeToBytes < T > (
4646 this Serializer serializer ,
4747 T ? data ,
@@ -86,6 +86,8 @@ public static byte[] SerializeToBytes(
8686 /// that yields memory streams backed by pooled byte arrays.
8787 /// </param>
8888 /// <param name="formatting"><inheritdoc cref="SerializationFormatting" path="/summary"/></param>
89+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
90+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
8991 public static byte [ ] SerializeToBytes (
9092 this Serializer serializer ,
9193 object ? data ,
@@ -130,6 +132,8 @@ public static string SerializeToString<T>(
130132 /// that yields memory streams backed by pooled byte arrays.
131133 /// </param>
132134 /// <param name="formatting"><inheritdoc cref="SerializationFormatting" path="/summary"/></param>
135+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
136+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
133137 public static string SerializeToString < T > (
134138 this Serializer serializer ,
135139 T ? data ,
@@ -177,6 +181,8 @@ public static string SerializeToString(
177181 /// that yields memory streams backed by pooled byte arrays.
178182 /// </param>
179183 /// <param name="formatting"><inheritdoc cref="SerializationFormatting" path="/summary"/></param>
184+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
185+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
180186 public static string SerializeToString (
181187 this Serializer serializer ,
182188 object ? data ,
@@ -229,6 +235,8 @@ public static void Serialize<T>(
229235 /// that yields memory streams backed by pooled byte arrays.
230236 /// </param>
231237 /// <param name="formatting"><inheritdoc cref="SerializationFormatting" path="/summary"/></param>
238+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
239+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
232240 public static void Serialize < T > (
233241 this Serializer serializer ,
234242 T ? data ,
@@ -288,6 +296,8 @@ public static void Serialize(
288296 /// that yields memory streams backed by pooled byte arrays.
289297 /// </param>
290298 /// <param name="formatting"><inheritdoc cref="SerializationFormatting" path="/summary"/></param>
299+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
300+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
291301 public static void Serialize (
292302 this Serializer serializer ,
293303 object ? data ,
@@ -329,6 +339,8 @@ public static void Serialize(
329339 /// that yields memory streams backed by pooled byte arrays.
330340 /// </param>
331341 /// <returns>The deserialized data.</returns>
342+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
343+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
332344 public static T ? Deserialize < T > (
333345 this Serializer serializer ,
334346 string input ,
@@ -358,6 +370,8 @@ public static void Serialize(
358370 /// that yields memory streams backed by pooled byte arrays.
359371 /// </param>
360372 /// <returns>The deserialized data.</returns>
373+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
374+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
361375 public static object ? Deserialize (
362376 this Serializer serializer ,
363377 string input ,
@@ -388,6 +402,8 @@ public static void Serialize(
388402 /// that yields memory streams backed by pooled byte arrays.
389403 /// </param>
390404 /// <returns>The deserialized data.</returns>
405+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
406+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
391407 public static T ? Deserialize < T > (
392408 this Serializer serializer ,
393409 ReadOnlySpan < byte > span ,
@@ -417,6 +433,8 @@ public static void Serialize(
417433 /// that yields memory streams backed by pooled byte arrays.
418434 /// </param>
419435 /// <returns>The deserialized data.</returns>
436+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
437+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
420438 public static object ? Deserialize (
421439 this Serializer serializer ,
422440 ReadOnlySpan < byte > span ,
@@ -447,6 +465,8 @@ public static void Serialize(
447465 /// that yields memory streams backed by pooled byte arrays.
448466 /// </param>
449467 /// <returns>The deserialized data.</returns>
468+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
469+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
450470 public static T ? Deserialize < T > (
451471 this Serializer serializer ,
452472 ReadOnlySpan < char > span ,
@@ -476,6 +496,8 @@ public static void Serialize(
476496 /// that yields memory streams backed by pooled byte arrays.
477497 /// </param>
478498 /// <returns>The deserialized data.</returns>
499+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
500+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
479501 public static object ? Deserialize (
480502 this Serializer serializer ,
481503 ReadOnlySpan < char > span ,
@@ -506,6 +528,8 @@ public static void Serialize(
506528 /// that yields memory streams backed by pooled byte arrays.
507529 /// </param>
508530 /// <returns>The deserialized data.</returns>
531+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
532+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
509533 public static T ? Deserialize < T > (
510534 this Serializer serializer ,
511535 ref Utf8JsonReader reader ,
@@ -542,6 +566,8 @@ public static void Serialize(
542566 /// that yields memory streams backed by pooled byte arrays.
543567 /// </param>
544568 /// <returns>The deserialized data.</returns>
569+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
570+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
545571 public static object ? Deserialize (
546572 this Serializer serializer ,
547573 ref Utf8JsonReader reader ,
@@ -579,6 +605,8 @@ public static void Serialize(
579605 /// that yields memory streams backed by pooled byte arrays.
580606 /// </param>
581607 /// <returns>The deserialized data.</returns>
608+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
609+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
582610 public static T ? Deserialize < T > (
583611 this Serializer serializer ,
584612 JsonNode node ,
@@ -613,6 +641,8 @@ public static void Serialize(
613641 /// that yields memory streams backed by pooled byte arrays.
614642 /// </param>
615643 /// <returns>The deserialized data.</returns>
644+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
645+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
616646 public static object ? Deserialize (
617647 this Serializer serializer ,
618648 JsonNode node ,
@@ -648,6 +678,8 @@ public static void Serialize(
648678 /// that yields memory streams backed by pooled byte arrays.
649679 /// </param>
650680 /// <returns>The deserialized data.</returns>
681+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
682+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
651683 public static T ? Deserialize < T > (
652684 this Serializer serializer ,
653685 JsonElement node ,
@@ -682,6 +714,8 @@ public static void Serialize(
682714 /// that yields memory streams backed by pooled byte arrays.
683715 /// </param>
684716 /// <returns>The deserialized data.</returns>
717+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
718+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
685719 public static object ? Deserialize (
686720 this Serializer serializer ,
687721 JsonElement node ,
@@ -713,6 +747,8 @@ public static void Serialize(
713747 /// <param name="serializer"><inheritdoc cref="Serializer" path="/summary"/></param>
714748 /// <param name="options">Receives the <see cref="JsonSerializerOptions"/>.</param>
715749 /// <param name="formatting"><inheritdoc cref="SerializationFormatting" path="/summary"/></param>
750+ [ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
751+ [ UnconditionalSuppressMessage ( "AotAnalysis" , "IL3050:RequiresDynamicCode" , Justification = "We always provide a static JsonTypeInfoResolver" ) ]
716752 public static bool TryGetJsonSerializerOptions (
717753 this Serializer serializer ,
718754 [ NotNullWhen ( true ) ] out JsonSerializerOptions ? options ,
@@ -728,5 +764,3 @@ public static bool TryGetJsonSerializerOptions(
728764 return false ;
729765 }
730766}
731-
732- #pragma warning restore IL2026 , IL3050
0 commit comments