diff --git a/src/StreamJsonRpc.Analyzers/GeneratorModels/FullModel.cs b/src/StreamJsonRpc.Analyzers/GeneratorModels/FullModel.cs
index 405a83a3b..6553d90ee 100644
--- a/src/StreamJsonRpc.Analyzers/GeneratorModels/FullModel.cs
+++ b/src/StreamJsonRpc.Analyzers/GeneratorModels/FullModel.cs
@@ -64,6 +64,7 @@ private void GenerateOptionalInterfaceExtensionMethods(SourceProductionContext c
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+ #pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
using StreamJsonRpc;
diff --git a/src/StreamJsonRpc.Analyzers/GeneratorModels/InterfaceModel.cs b/src/StreamJsonRpc.Analyzers/GeneratorModels/InterfaceModel.cs
index 96b43572b..53108042c 100644
--- a/src/StreamJsonRpc.Analyzers/GeneratorModels/InterfaceModel.cs
+++ b/src/StreamJsonRpc.Analyzers/GeneratorModels/InterfaceModel.cs
@@ -18,7 +18,7 @@ namespace StreamJsonRpc.Analyzers.GeneratorModels;
/// The methods in the interface.
/// The events in the interface.
/// Indicates whether the interface has additional members that are not supported.
-internal record InterfaceModel(string FullName, string Name, ImmutableEquatableArray TypeParameters, Container? Container, ImmutableEquatableArray Methods, ImmutableEquatableArray Events, bool HasUnsupportedMemberTypes)
+internal record InterfaceModel(string FullName, string Name, ImmutableEquatableArray<(VarianceKind Variance, string Identifier)> TypeParameters, Container? Container, ImmutableEquatableArray Methods, ImmutableEquatableArray Events, bool HasUnsupportedMemberTypes)
{
internal required bool IsPartial { get; init; }
@@ -77,7 +77,7 @@ internal static InterfaceModel Create(INamedTypeSymbol iface, KnownSymbols symbo
return new InterfaceModel(
iface.ToDisplayString(ProxyGenerator.FullyQualifiedNoGlobalWithNullableFormat),
iface.Name,
- [.. iface.TypeParameters.Select(tp => tp.Name)],
+ [.. iface.TypeParameters.Select(tp => (tp.Variance, tp.Name))],
Container.CreateFor((INamespaceOrTypeSymbol?)iface.ContainingType ?? iface.ContainingNamespace, cancellationToken),
methods.ToImmutableEquatableArray(),
events.ToImmutableEquatableArray(),
diff --git a/src/StreamJsonRpc.Analyzers/GeneratorModels/ProxyModel.cs b/src/StreamJsonRpc.Analyzers/GeneratorModels/ProxyModel.cs
index fa0857956..8a6b7a1bf 100644
--- a/src/StreamJsonRpc.Analyzers/GeneratorModels/ProxyModel.cs
+++ b/src/StreamJsonRpc.Analyzers/GeneratorModels/ProxyModel.cs
@@ -74,7 +74,7 @@ internal ProxyModel(ImmutableEquatableSet interfaces, string? ex
internal void WriteInterfaceMapping(SourceWriter writer, InterfaceModel iface)
{
string genericTypeParameters = iface.TypeParameters.Length > 0
- ? $"<{string.Join(", ", iface.TypeParameters)}>"
+ ? $"<{string.Join(", ", iface.TypeParameters.Select(WriteTypeParameter))}>"
: string.Empty;
writer.WriteLine($$"""
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof({{ProxyGenerator.GenerationNamespace}}.{{this.Name}}{{this.GenericTypeDefinitionSuffix}}))]
@@ -111,6 +111,7 @@ internal void GenerateSource(SourceProductionContext context, bool isPublic)
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+ #pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
""");
@@ -291,4 +292,12 @@ private static string CreateProxyName(ImmutableEquatableSet inte
string additionalInterfaceHashString = Convert.ToBase64String(additionalInterfaceHash).TrimEnd('=').Replace('+', '_').Replace('/', '_');
return $"{sorted[0]}{additionalInterfaceHashString[..8]}";
}
+
+ private static string WriteTypeParameter((VarianceKind Variance, string Identifier) typeParameter) => typeParameter.Variance switch
+ {
+ VarianceKind.None => typeParameter.Identifier,
+ VarianceKind.In => $"in {typeParameter.Identifier}",
+ VarianceKind.Out => $"out {typeParameter.Identifier}",
+ _ => throw new InvalidOperationException($"Unknown variance kind: {typeParameter.Variance}."),
+ };
}
diff --git a/test/StreamJsonRpc.Analyzer.Tests/ProxyGeneratorTests.cs b/test/StreamJsonRpc.Analyzer.Tests/ProxyGeneratorTests.cs
index 56814e6c7..ddccbb94d 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/ProxyGeneratorTests.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/ProxyGeneratorTests.cs
@@ -389,6 +389,30 @@ public partial interface IGenericMarshalable
""");
}
+ [Fact]
+ public async Task RpcMarshalable_Generic_WithInModifier()
+ {
+ await VerifyCS.RunDefaultAsync("""
+ [RpcMarshalable]
+ public partial interface IGenericMarshalable
+ {
+ Task DoSomethingWithParameterAsync(T parameter);
+ }
+ """);
+ }
+
+ [Fact]
+ public async Task RpcMarshalable_Generic_WithOutModifier()
+ {
+ await VerifyCS.RunDefaultAsync("""
+ [RpcMarshalable]
+ public partial interface IGenericMarshalable
+ {
+ Task DoSomethingWithParameterAsync();
+ }
+ """);
+ }
+
[Fact]
public async Task RpcMarshalable_GenericWithClosedPrescriptions()
{
@@ -415,6 +439,34 @@ public partial interface IGenericMarshalable
""");
}
+#if NET
+ [Fact]
+ public async Task ExperimentalApis()
+ {
+ await VerifyCS.RunDefaultAsync("""
+ using System.Diagnostics.CodeAnalysis;
+
+ [Experimental("MYEXPERIMENT1")]
+ public struct CustomType { }
+
+ [RpcMarshalable]
+ [RpcMarshalableOptionalInterfaceAttribute(1, typeof(SomeExperimentalInterface2))]
+ [Experimental("MYEXPERIMENT2")]
+ public partial interface SomeExperimentalInterface
+ {
+ Task AddAsync(int a, CustomType t, CancellationToken token);
+ }
+
+ [RpcMarshalable(IsOptional = true)]
+ [Experimental("MYEXPERIMENT2")]
+ public partial interface SomeExperimentalInterface2 : IDisposable
+ {
+ Task AddAsync(int a, CustomType t, CancellationToken token);
+ }
+ """);
+ }
+#endif
+
///
/// Verifies that an RpcMarshalable attribute on an interface with both valid and invalid members does not break the build (but it will report a diagnostic, as tested elsewhere).
///
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/EmptyInterface/IFoo.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/EmptyInterface/IFoo.g.cs
index 4c384c114..e93f1a78b 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/EmptyInterface/IFoo.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/EmptyInterface/IFoo.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IFoo_Proxy))]
partial interface IFoo
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Events/IFoo.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Events/IFoo.g.cs
index 392e28f4d..e153d8386 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Events/IFoo.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Events/IFoo.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IFoo_Proxy))]
partial interface IFoo
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/ExperimentalApis/OptionalInterfaceExtensions.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/ExperimentalApis/OptionalInterfaceExtensions.g.cs
new file mode 100644
index 000000000..7c64e1952
--- /dev/null
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/ExperimentalApis/OptionalInterfaceExtensions.g.cs
@@ -0,0 +1,23 @@
+//
+
+#nullable enable
+#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
+
+using StreamJsonRpc;
+
+/// Extension methods for interfaces acting as optional interfaces on proxies.
+[global::System.CodeDom.Compiler.GeneratedCodeAttribute("StreamJsonRpc.Analyzers", "x.x.x.x")]
+[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
+public static partial class StreamJsonRpcOptionalInterfaceAccessors
+{
+ ///
+ public static bool Is(this SomeExperimentalInterface self, global::System.Type type) => self is global::StreamJsonRpc.IClientProxy proxy ? proxy.Is(type) : type.IsAssignableFrom(self.GetType());
+ ///
+ public static T? As(this SomeExperimentalInterface self) where T : class => self is global::StreamJsonRpc.IClientProxy proxy ? proxy.As() : self as T;
+
+ ///
+ public static bool Is(this SomeExperimentalInterface2 self, global::System.Type type) => self is global::StreamJsonRpc.IClientProxy proxy ? proxy.Is(type) : type.IsAssignableFrom(self.GetType());
+ ///
+ public static T? As(this SomeExperimentalInterface2 self) where T : class => self is global::StreamJsonRpc.IClientProxy proxy ? proxy.As() : self as T;
+}
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/ExperimentalApis/SomeExperimentalInterface.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/ExperimentalApis/SomeExperimentalInterface.g.cs
new file mode 100644
index 000000000..93f82ad71
--- /dev/null
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/ExperimentalApis/SomeExperimentalInterface.g.cs
@@ -0,0 +1,60 @@
+//
+
+#nullable enable
+#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
+
+[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.SomeExperimentalInterface_Proxy))]
+partial interface SomeExperimentalInterface
+{
+}
+
+namespace StreamJsonRpc.Generated
+{
+
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("StreamJsonRpc.Analyzers", "x.x.x.x")]
+ internal class SomeExperimentalInterface_Proxy : global::StreamJsonRpc.Reflection.ProxyBase
+ , global::SomeExperimentalInterface
+ {
+
+ private static readonly global::System.Collections.Generic.IReadOnlyDictionary AddAsyncNamedArgumentDeclaredTypes1 = new global::System.Collections.Generic.Dictionary
+ {
+ ["a"] = typeof(int),
+ ["t"] = typeof(global::CustomType),
+ };
+
+ private static readonly global::System.Collections.Generic.IReadOnlyList AddAsyncPositionalArgumentDeclaredTypes1 = new global::System.Collections.Generic.List
+ {
+ typeof(int),
+ typeof(global::CustomType),
+ };
+
+ private string? transformedAddAsync1;
+
+ public SomeExperimentalInterface_Proxy(global::StreamJsonRpc.JsonRpc client, global::StreamJsonRpc.Reflection.ProxyInputs inputs)
+ : base(client, inputs)
+ {
+ }
+
+ global::System.Threading.Tasks.Task global::SomeExperimentalInterface.AddAsync(int a, global::CustomType t, global::System.Threading.CancellationToken token)
+ {
+ if (this.IsDisposed) throw new global::System.ObjectDisposedException(this.GetType().FullName);
+
+ this.OnCallingMethod("AddAsync");
+ string rpcMethodName = this.transformedAddAsync1 ??= this.TransformMethodName("AddAsync", typeof(global::SomeExperimentalInterface));
+ global::System.Threading.Tasks.Task result = this.Options.ServerRequiresNamedArguments ?
+ this.JsonRpc.InvokeWithParameterObjectAsync(rpcMethodName, ConstructNamedArgs(), AddAsyncNamedArgumentDeclaredTypes1, token) :
+ this.JsonRpc.InvokeWithCancellationAsync(rpcMethodName, [a, t], AddAsyncPositionalArgumentDeclaredTypes1, token);
+ this.OnCalledMethod("AddAsync");
+
+ return result;
+
+ global::System.Collections.Generic.Dictionary ConstructNamedArgs()
+ => new()
+ {
+ ["a"] = a,
+ ["t"] = t,
+ };
+ }
+ }
+}
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/ExperimentalApis/SomeExperimentalInterface2.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/ExperimentalApis/SomeExperimentalInterface2.g.cs
new file mode 100644
index 000000000..b7423923a
--- /dev/null
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/ExperimentalApis/SomeExperimentalInterface2.g.cs
@@ -0,0 +1,60 @@
+//
+
+#nullable enable
+#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
+
+[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.SomeExperimentalInterface2_Proxy))]
+partial interface SomeExperimentalInterface2
+{
+}
+
+namespace StreamJsonRpc.Generated
+{
+
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("StreamJsonRpc.Analyzers", "x.x.x.x")]
+ internal class SomeExperimentalInterface2_Proxy : global::StreamJsonRpc.Reflection.ProxyBase
+ , global::SomeExperimentalInterface2
+ {
+
+ private static readonly global::System.Collections.Generic.IReadOnlyDictionary AddAsyncNamedArgumentDeclaredTypes1 = new global::System.Collections.Generic.Dictionary
+ {
+ ["a"] = typeof(int),
+ ["t"] = typeof(global::CustomType),
+ };
+
+ private static readonly global::System.Collections.Generic.IReadOnlyList AddAsyncPositionalArgumentDeclaredTypes1 = new global::System.Collections.Generic.List
+ {
+ typeof(int),
+ typeof(global::CustomType),
+ };
+
+ private string? transformedAddAsync1;
+
+ public SomeExperimentalInterface2_Proxy(global::StreamJsonRpc.JsonRpc client, global::StreamJsonRpc.Reflection.ProxyInputs inputs)
+ : base(client, inputs)
+ {
+ }
+
+ global::System.Threading.Tasks.Task global::SomeExperimentalInterface2.AddAsync(int a, global::CustomType t, global::System.Threading.CancellationToken token)
+ {
+ if (this.IsDisposed) throw new global::System.ObjectDisposedException(this.GetType().FullName);
+
+ this.OnCallingMethod("AddAsync");
+ string rpcMethodName = this.transformedAddAsync1 ??= this.TransformMethodName("AddAsync", typeof(global::SomeExperimentalInterface2));
+ global::System.Threading.Tasks.Task result = this.Options.ServerRequiresNamedArguments ?
+ this.JsonRpc.InvokeWithParameterObjectAsync(rpcMethodName, ConstructNamedArgs(), AddAsyncNamedArgumentDeclaredTypes1, token) :
+ this.JsonRpc.InvokeWithCancellationAsync(rpcMethodName, [a, t], AddAsyncPositionalArgumentDeclaredTypes1, token);
+ this.OnCalledMethod("AddAsync");
+
+ return result;
+
+ global::System.Collections.Generic.Dictionary ConstructNamedArgs()
+ => new()
+ {
+ ["a"] = a,
+ ["t"] = t,
+ };
+ }
+ }
+}
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/ExperimentalApis/SomeExperimentalInterfaceMDGoEVkn.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/ExperimentalApis/SomeExperimentalInterfaceMDGoEVkn.g.cs
new file mode 100644
index 000000000..23c84e738
--- /dev/null
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/ExperimentalApis/SomeExperimentalInterfaceMDGoEVkn.g.cs
@@ -0,0 +1,101 @@
+//
+
+#nullable enable
+#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
+
+[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.SomeExperimentalInterfaceMDGoEVkn_Proxy))]
+partial interface SomeExperimentalInterface
+{
+}
+
+[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.SomeExperimentalInterfaceMDGoEVkn_Proxy))]
+partial interface SomeExperimentalInterface2
+{
+}
+
+namespace StreamJsonRpc.Generated
+{
+
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("StreamJsonRpc.Analyzers", "x.x.x.x")]
+ internal class SomeExperimentalInterfaceMDGoEVkn_Proxy : global::StreamJsonRpc.Reflection.ProxyBase
+ , global::SomeExperimentalInterface
+ , global::SomeExperimentalInterface2
+ {
+
+ private static readonly global::System.Collections.Generic.IReadOnlyDictionary AddAsyncNamedArgumentDeclaredTypes1 = new global::System.Collections.Generic.Dictionary
+ {
+ ["a"] = typeof(int),
+ ["t"] = typeof(global::CustomType),
+ };
+
+ private static readonly global::System.Collections.Generic.IReadOnlyList AddAsyncPositionalArgumentDeclaredTypes1 = new global::System.Collections.Generic.List
+ {
+ typeof(int),
+ typeof(global::CustomType),
+ };
+
+ private string? transformedAddAsync1;
+
+ private static readonly global::System.Collections.Generic.IReadOnlyDictionary AddAsyncNamedArgumentDeclaredTypes2 = new global::System.Collections.Generic.Dictionary
+ {
+ ["a"] = typeof(int),
+ ["t"] = typeof(global::CustomType),
+ };
+
+ private static readonly global::System.Collections.Generic.IReadOnlyList AddAsyncPositionalArgumentDeclaredTypes2 = new global::System.Collections.Generic.List
+ {
+ typeof(int),
+ typeof(global::CustomType),
+ };
+
+ private string? transformedAddAsync2;
+
+ public SomeExperimentalInterfaceMDGoEVkn_Proxy(global::StreamJsonRpc.JsonRpc client, global::StreamJsonRpc.Reflection.ProxyInputs inputs)
+ : base(client, inputs)
+ {
+ }
+
+ global::System.Threading.Tasks.Task global::SomeExperimentalInterface.AddAsync(int a, global::CustomType t, global::System.Threading.CancellationToken token)
+ {
+ if (this.IsDisposed) throw new global::System.ObjectDisposedException(this.GetType().FullName);
+
+ this.OnCallingMethod("AddAsync");
+ string rpcMethodName = this.transformedAddAsync1 ??= this.TransformMethodName("AddAsync", typeof(global::SomeExperimentalInterface));
+ global::System.Threading.Tasks.Task result = this.Options.ServerRequiresNamedArguments ?
+ this.JsonRpc.InvokeWithParameterObjectAsync(rpcMethodName, ConstructNamedArgs(), AddAsyncNamedArgumentDeclaredTypes1, token) :
+ this.JsonRpc.InvokeWithCancellationAsync(rpcMethodName, [a, t], AddAsyncPositionalArgumentDeclaredTypes1, token);
+ this.OnCalledMethod("AddAsync");
+
+ return result;
+
+ global::System.Collections.Generic.Dictionary ConstructNamedArgs()
+ => new()
+ {
+ ["a"] = a,
+ ["t"] = t,
+ };
+ }
+
+ global::System.Threading.Tasks.Task global::SomeExperimentalInterface2.AddAsync(int a, global::CustomType t, global::System.Threading.CancellationToken token)
+ {
+ if (this.IsDisposed) throw new global::System.ObjectDisposedException(this.GetType().FullName);
+
+ this.OnCallingMethod("AddAsync");
+ string rpcMethodName = this.transformedAddAsync2 ??= this.TransformMethodName("AddAsync", typeof(global::SomeExperimentalInterface2));
+ global::System.Threading.Tasks.Task result = this.Options.ServerRequiresNamedArguments ?
+ this.JsonRpc.InvokeWithParameterObjectAsync(rpcMethodName, ConstructNamedArgs(), AddAsyncNamedArgumentDeclaredTypes2, token) :
+ this.JsonRpc.InvokeWithCancellationAsync(rpcMethodName, [a, t], AddAsyncPositionalArgumentDeclaredTypes2, token);
+ this.OnCalledMethod("AddAsync");
+
+ return result;
+
+ global::System.Collections.Generic.Dictionary ConstructNamedArgs()
+ => new()
+ {
+ ["a"] = a,
+ ["t"] = t,
+ };
+ }
+ }
+}
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Export_MixedInterfaceVisibility/IInternalService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Export_MixedInterfaceVisibility/IInternalService.g.cs
index 1ebd3ad4c..5c661abe9 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Export_MixedInterfaceVisibility/IInternalService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Export_MixedInterfaceVisibility/IInternalService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IInternalService_Proxy))]
partial interface IInternalService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Export_MixedInterfaceVisibility/IInternalServiceznU4si_t.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Export_MixedInterfaceVisibility/IInternalServiceznU4si_t.g.cs
index cbbfb6075..f6c879e68 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Export_MixedInterfaceVisibility/IInternalServiceznU4si_t.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Export_MixedInterfaceVisibility/IInternalServiceznU4si_t.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IInternalServiceznU4si_t_Proxy))]
partial interface IPublicService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Export_MixedInterfaceVisibility/IPublicService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Export_MixedInterfaceVisibility/IPublicService.g.cs
index 080515e5d..bc9a0b8dc 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Export_MixedInterfaceVisibility/IPublicService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Export_MixedInterfaceVisibility/IPublicService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IPublicService_Proxy))]
partial interface IPublicService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_ArrayInitializer/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_ArrayInitializer/IMyService.g.cs
index 21a23a163..6c6ffc31b 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_ArrayInitializer/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_ArrayInitializer/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_ArrayInitializer/IMyService2.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_ArrayInitializer/IMyService2.g.cs
index e8015c26f..1652a0af8 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_ArrayInitializer/IMyService2.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_ArrayInitializer/IMyService2.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService2_Proxy))]
partial interface IMyService2
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_ArrayInitializer/IMyServiceZiHkAQOD.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_ArrayInitializer/IMyServiceZiHkAQOD.g.cs
index 77f3ba892..9579d348c 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_ArrayInitializer/IMyServiceZiHkAQOD.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_ArrayInitializer/IMyServiceZiHkAQOD.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyServiceZiHkAQOD_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_CollectionInitializer/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_CollectionInitializer/IMyService.g.cs
index 21a23a163..6c6ffc31b 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_CollectionInitializer/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_CollectionInitializer/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_CollectionInitializer/IMyService2.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_CollectionInitializer/IMyService2.g.cs
index e8015c26f..1652a0af8 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_CollectionInitializer/IMyService2.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_CollectionInitializer/IMyService2.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService2_Proxy))]
partial interface IMyService2
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_CollectionInitializer/IMyServiceZiHkAQOD.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_CollectionInitializer/IMyServiceZiHkAQOD.g.cs
index 77f3ba892..9579d348c 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_CollectionInitializer/IMyServiceZiHkAQOD.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_CollectionInitializer/IMyServiceZiHkAQOD.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyServiceZiHkAQOD_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_DistinctYetRedundantMethods/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_DistinctYetRedundantMethods/IMyService.g.cs
index a8107c3de..ac4396db6 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_DistinctYetRedundantMethods/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_DistinctYetRedundantMethods/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_DistinctYetRedundantMethods/IMyService2.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_DistinctYetRedundantMethods/IMyService2.g.cs
index f0773b84d..d1f4165bd 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_DistinctYetRedundantMethods/IMyService2.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_DistinctYetRedundantMethods/IMyService2.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService2_Proxy))]
partial interface IMyService2
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_DistinctYetRedundantMethods/IMyServiceZiHkAQOD.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_DistinctYetRedundantMethods/IMyServiceZiHkAQOD.g.cs
index 0ba580674..73241ba48 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_DistinctYetRedundantMethods/IMyServiceZiHkAQOD.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_DistinctYetRedundantMethods/IMyServiceZiHkAQOD.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyServiceZiHkAQOD_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_OneDerivesFromTheOther/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_OneDerivesFromTheOther/IMyService.g.cs
index a8107c3de..ac4396db6 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_OneDerivesFromTheOther/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_OneDerivesFromTheOther/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_OneDerivesFromTheOther/IMyService2.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_OneDerivesFromTheOther/IMyService2.g.cs
index 5a9ed1e96..6120af7ba 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_OneDerivesFromTheOther/IMyService2.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_OneDerivesFromTheOther/IMyService2.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService2_Proxy))]
partial interface IMyService2
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_OneDerivesFromTheOther/IMyServiceZiHkAQOD.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_OneDerivesFromTheOther/IMyServiceZiHkAQOD.g.cs
index a30b30915..6e6f7779c 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_OneDerivesFromTheOther/IMyServiceZiHkAQOD.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachMultipleInterfaces_OneDerivesFromTheOther/IMyServiceZiHkAQOD.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyServiceZiHkAQOD_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachOfTNoOptions/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachOfTNoOptions/IMyService.g.cs
index cc0c4e4da..73f1341a6 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachOfTNoOptions/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachOfTNoOptions/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachTwice/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachTwice/IMyService.g.cs
index cc0c4e4da..73f1341a6 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachTwice/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachTwice/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachTwice/IMyService2.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachTwice/IMyService2.g.cs
index f72ff9e64..fefc77b16 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachTwice/IMyService2.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachTwice/IMyService2.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService2_Proxy))]
partial interface IMyService2
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachType/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachType/IMyService.g.cs
index cc0c4e4da..73f1341a6 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachType/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachType/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachTypeWithOptions/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachTypeWithOptions/IMyService.g.cs
index cc0c4e4da..73f1341a6 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachTypeWithOptions/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachTypeWithOptions/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachWithOptions/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachWithOptions/IMyService.g.cs
index cc0c4e4da..73f1341a6 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachWithOptions/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_AttachWithOptions/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_ForbidExternalProxies_DifferentProject/ContractsLib.IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_ForbidExternalProxies_DifferentProject/ContractsLib.IMyService.g.cs
index c34a184f0..c563666fb 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_ForbidExternalProxies_DifferentProject/ContractsLib.IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_ForbidExternalProxies_DifferentProject/ContractsLib.IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_ForbidExternalProxies_SameProject/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_ForbidExternalProxies_SameProject/IMyService.g.cs
index c34a184f0..c563666fb 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_ForbidExternalProxies_SameProject/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_ForbidExternalProxies_SameProject/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_StaticHandler/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_StaticHandler/IMyService.g.cs
index cc0c4e4da..73f1341a6 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_StaticHandler/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_StaticHandler/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_StaticHandlerOptions/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_StaticHandlerOptions/IMyService.g.cs
index cc0c4e4da..73f1341a6 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_StaticHandlerOptions/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_StaticHandlerOptions/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_StaticStream/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_StaticStream/IMyService.g.cs
index cc0c4e4da..73f1341a6 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_StaticStream/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_StaticStream/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_StaticStreamStream/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_StaticStreamStream/IMyService.g.cs
index cc0c4e4da..73f1341a6 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_StaticStreamStream/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interceptor_StaticStreamStream/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_DerivesFromIDisposable/IFoo.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_DerivesFromIDisposable/IFoo.g.cs
index a0ec3ebb9..51393ca9e 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_DerivesFromIDisposable/IFoo.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_DerivesFromIDisposable/IFoo.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IFoo_Proxy))]
partial interface IFoo
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_DerivesFromIDisposal/IAmDisposable.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_DerivesFromIDisposal/IAmDisposable.g.cs
index ad1923f15..f4647090a 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_DerivesFromIDisposal/IAmDisposable.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_DerivesFromIDisposal/IAmDisposable.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IAmDisposable_Proxy))]
partial interface IAmDisposable
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_DerivesFromOthers/IFoo2.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_DerivesFromOthers/IFoo2.g.cs
index 7ed018ff0..bf1ceb794 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_DerivesFromOthers/IFoo2.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_DerivesFromOthers/IFoo2.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IFoo2_Proxy))]
partial interface IFoo2
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_DerivesFromOthersWithRedundantMethods/ICalc.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_DerivesFromOthersWithRedundantMethods/ICalc.g.cs
index 6b827dc42..7e4eae7f7 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_DerivesFromOthersWithRedundantMethods/ICalc.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_DerivesFromOthersWithRedundantMethods/ICalc.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.ICalc_Proxy))]
partial interface ICalc
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_HasAsyncDisposeWithoutIDisposable/IFoo.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_HasAsyncDisposeWithoutIDisposable/IFoo.g.cs
index e722bc3e3..69e6e0154 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_HasAsyncDisposeWithoutIDisposable/IFoo.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_HasAsyncDisposeWithoutIDisposable/IFoo.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IFoo_Proxy))]
partial interface IFoo
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_HasNestedTypes/IHaveNestedTypes.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_HasNestedTypes/IHaveNestedTypes.g.cs
index 1df559114..8042f5f67 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_HasNestedTypes/IHaveNestedTypes.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Interface_HasNestedTypes/IHaveNestedTypes.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IHaveNestedTypes_Proxy))]
partial interface IHaveNestedTypes
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/MethodNamesCustomizedByAttribute/IMyRpc.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/MethodNamesCustomizedByAttribute/IMyRpc.g.cs
index 7cd583bfe..a775cfc92 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/MethodNamesCustomizedByAttribute/IMyRpc.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/MethodNamesCustomizedByAttribute/IMyRpc.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyRpc_Proxy))]
partial interface IMyRpc
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/NameRequiredContainingTypeQualifier/A.IMyRpc.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/NameRequiredContainingTypeQualifier/A.IMyRpc.g.cs
index e59e7dbcc..099a82c28 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/NameRequiredContainingTypeQualifier/A.IMyRpc.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/NameRequiredContainingTypeQualifier/A.IMyRpc.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
namespace StreamJsonRpc.Generated
{
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/NameRequiredContainingTypeQualifier/B.IMyRpc.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/NameRequiredContainingTypeQualifier/B.IMyRpc.g.cs
index 48c9e6eb1..4ffd894e6 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/NameRequiredContainingTypeQualifier/B.IMyRpc.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/NameRequiredContainingTypeQualifier/B.IMyRpc.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
namespace StreamJsonRpc.Generated
{
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/NamesRequiredNamespaceQualifier/A.IMyRpc.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/NamesRequiredNamespaceQualifier/A.IMyRpc.g.cs
index 50320941a..78e641a5e 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/NamesRequiredNamespaceQualifier/A.IMyRpc.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/NamesRequiredNamespaceQualifier/A.IMyRpc.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
namespace A
{
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/NamesRequiredNamespaceQualifier/B.IMyRpc.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/NamesRequiredNamespaceQualifier/B.IMyRpc.g.cs
index 20a172953..c29d3c803 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/NamesRequiredNamespaceQualifier/B.IMyRpc.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/NamesRequiredNamespaceQualifier/B.IMyRpc.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
namespace B
{
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/NestedInType/Wrapper.IMyRpc.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/NestedInType/Wrapper.IMyRpc.g.cs
index 7ca463786..061168bd7 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/NestedInType/Wrapper.IMyRpc.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/NestedInType/Wrapper.IMyRpc.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
partial class Wrapper
{
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/NestedInTypeAndNamespace/A.Wrapper.IMyRpc.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/NestedInTypeAndNamespace/A.Wrapper.IMyRpc.g.cs
index 972b0d138..0f02e824a 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/NestedInTypeAndNamespace/A.Wrapper.IMyRpc.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/NestedInTypeAndNamespace/A.Wrapper.IMyRpc.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
namespace A
{
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/NonPartialNestedInPartialType/Wrapper.IMyRpc.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/NonPartialNestedInPartialType/Wrapper.IMyRpc.g.cs
index e9706fa05..c6ea3dfe4 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/NonPartialNestedInPartialType/Wrapper.IMyRpc.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/NonPartialNestedInPartialType/Wrapper.IMyRpc.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
namespace StreamJsonRpc.Generated
{
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/NullableTypeArgument/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/NullableTypeArgument/IMyService.g.cs
index 6f4a067a7..7522d5f98 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/NullableTypeArgument/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/NullableTypeArgument/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_NoEmptyGroup/IMyServiceYOaIB1ve.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_NoEmptyGroup/IMyServiceYOaIB1ve.g.cs
index 00f262008..8b5c7056c 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_NoEmptyGroup/IMyServiceYOaIB1ve.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_NoEmptyGroup/IMyServiceYOaIB1ve.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyServiceYOaIB1ve_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_NoEmptyGroup/IMyServiceZiHkAQOD.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_NoEmptyGroup/IMyServiceZiHkAQOD.g.cs
index d8c2447e5..6c7a27ec0 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_NoEmptyGroup/IMyServiceZiHkAQOD.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_NoEmptyGroup/IMyServiceZiHkAQOD.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyServiceZiHkAQOD_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_OneEmptyGroup/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_OneEmptyGroup/IMyService.g.cs
index cc0c4e4da..73f1341a6 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_OneEmptyGroup/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_OneEmptyGroup/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_OneEmptyGroup/IMyServiceYOaIB1ve.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_OneEmptyGroup/IMyServiceYOaIB1ve.g.cs
index 00f262008..8b5c7056c 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_OneEmptyGroup/IMyServiceYOaIB1ve.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_OneEmptyGroup/IMyServiceYOaIB1ve.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyServiceYOaIB1ve_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_OneEmptyGroup/IMyServiceZiHkAQOD.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_OneEmptyGroup/IMyServiceZiHkAQOD.g.cs
index d8c2447e5..6c7a27ec0 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_OneEmptyGroup/IMyServiceZiHkAQOD.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/OneProxyPerInterfaceGroup_OneEmptyGroup/IMyServiceZiHkAQOD.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyServiceZiHkAQOD_Proxy))]
partial interface IMyService
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Overloads/IFoo.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Overloads/IFoo.g.cs
index 7d097d5ad..aeebc9f99 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Overloads/IFoo.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Overloads/IFoo.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IFoo_Proxy))]
partial interface IFoo
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/PartialNestedInNonPartialType/Wrapper.IMyRpc.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/PartialNestedInNonPartialType/Wrapper.IMyRpc.g.cs
index e9706fa05..c6ea3dfe4 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/PartialNestedInNonPartialType/Wrapper.IMyRpc.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/PartialNestedInNonPartialType/Wrapper.IMyRpc.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
namespace StreamJsonRpc.Generated
{
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/Public_NotNested/IMyRpc.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/Public_NotNested/IMyRpc.g.cs
index dc40e414b..3b0faf8f6 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/Public_NotNested/IMyRpc.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/Public_NotNested/IMyRpc.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyRpc_Proxy))]
partial interface IMyRpc
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable/IMyRpc.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable/IMyRpc.g.cs
index dc40e414b..3b0faf8f6 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable/IMyRpc.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable/IMyRpc.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyRpc_Proxy))]
partial interface IMyRpc
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_Generic/IGenericMarshalable_T_.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_Generic/IGenericMarshalable_T_.g.cs
index 78719bf09..795f64e60 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_Generic/IGenericMarshalable_T_.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_Generic/IGenericMarshalable_T_.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IGenericMarshalable_Proxy<>))]
partial interface IGenericMarshalable
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_GenericWithClosedPrescriptions/IGenericMarshalable_T_.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_GenericWithClosedPrescriptions/IGenericMarshalable_T_.g.cs
index a6fa3a196..c18bc68a0 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_GenericWithClosedPrescriptions/IGenericMarshalable_T_.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_GenericWithClosedPrescriptions/IGenericMarshalable_T_.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IGenericMarshalable_Proxy<>))]
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IGenericMarshalable_Proxy))]
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_GenericWithClosedPrescriptions_Arity2/IGenericMarshalable_T1, T2_.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_GenericWithClosedPrescriptions_Arity2/IGenericMarshalable_T1, T2_.g.cs
index 00a4c8402..0829f6260 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_GenericWithClosedPrescriptions_Arity2/IGenericMarshalable_T1, T2_.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_GenericWithClosedPrescriptions_Arity2/IGenericMarshalable_T1, T2_.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IGenericMarshalable_Proxy<,>))]
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IGenericMarshalable_Proxy))]
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_Generic_WithInModifier/IGenericMarshalable_T_.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_Generic_WithInModifier/IGenericMarshalable_T_.g.cs
new file mode 100644
index 000000000..60314b40b
--- /dev/null
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_Generic_WithInModifier/IGenericMarshalable_T_.g.cs
@@ -0,0 +1,57 @@
+//
+
+#nullable enable
+#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
+
+[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IGenericMarshalable_Proxy<>))]
+partial interface IGenericMarshalable
+{
+}
+
+namespace StreamJsonRpc.Generated
+{
+
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("StreamJsonRpc.Analyzers", "x.x.x.x")]
+ internal class IGenericMarshalable_Proxy : global::StreamJsonRpc.Reflection.ProxyBase
+ , global::IGenericMarshalable
+ {
+
+ private static readonly global::System.Collections.Generic.IReadOnlyDictionary DoSomethingWithParameterAsyncNamedArgumentDeclaredTypes1 = new global::System.Collections.Generic.Dictionary
+ {
+ ["parameter"] = typeof(T),
+ };
+
+ private static readonly global::System.Collections.Generic.IReadOnlyList DoSomethingWithParameterAsyncPositionalArgumentDeclaredTypes1 = new global::System.Collections.Generic.List
+ {
+ typeof(T),
+ };
+
+ private string? transformedDoSomethingWithParameterAsync1;
+
+ public IGenericMarshalable_Proxy(global::StreamJsonRpc.JsonRpc client, global::StreamJsonRpc.Reflection.ProxyInputs inputs)
+ : base(client, inputs)
+ {
+ }
+
+ global::System.Threading.Tasks.Task global::IGenericMarshalable.DoSomethingWithParameterAsync(T parameter)
+ {
+ if (this.IsDisposed) throw new global::System.ObjectDisposedException(this.GetType().FullName);
+
+ this.OnCallingMethod("DoSomethingWithParameterAsync");
+ string rpcMethodName = this.transformedDoSomethingWithParameterAsync1 ??= this.TransformMethodName("DoSomethingWithParameterAsync", typeof(global::IGenericMarshalable));
+ global::System.Threading.Tasks.Task result = this.Options.ServerRequiresNamedArguments ?
+ this.JsonRpc.InvokeWithParameterObjectAsync(rpcMethodName, ConstructNamedArgs(), DoSomethingWithParameterAsyncNamedArgumentDeclaredTypes1, default) :
+ this.JsonRpc.InvokeWithCancellationAsync(rpcMethodName, [parameter], DoSomethingWithParameterAsyncPositionalArgumentDeclaredTypes1, default);
+ this.OnCalledMethod("DoSomethingWithParameterAsync");
+
+ return result;
+
+ global::System.Collections.Generic.Dictionary ConstructNamedArgs()
+ => new()
+ {
+ ["parameter"] = parameter,
+ };
+ }
+ }
+}
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_Generic_WithOutModifier/IGenericMarshalable_T_.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_Generic_WithOutModifier/IGenericMarshalable_T_.g.cs
new file mode 100644
index 000000000..38b405116
--- /dev/null
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_Generic_WithOutModifier/IGenericMarshalable_T_.g.cs
@@ -0,0 +1,54 @@
+//
+
+#nullable enable
+#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
+
+[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IGenericMarshalable_Proxy<>))]
+partial interface IGenericMarshalable
+{
+}
+
+namespace StreamJsonRpc.Generated
+{
+
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("StreamJsonRpc.Analyzers", "x.x.x.x")]
+ internal class IGenericMarshalable_Proxy : global::StreamJsonRpc.Reflection.ProxyBase
+ , global::IGenericMarshalable
+ {
+
+ private static readonly global::System.Collections.Generic.IReadOnlyDictionary DoSomethingWithParameterAsyncNamedArgumentDeclaredTypes1 = new global::System.Collections.Generic.Dictionary
+ {
+ };
+
+ private static readonly global::System.Collections.Generic.IReadOnlyList DoSomethingWithParameterAsyncPositionalArgumentDeclaredTypes1 = new global::System.Collections.Generic.List
+ {
+ };
+
+ private string? transformedDoSomethingWithParameterAsync1;
+
+ public IGenericMarshalable_Proxy(global::StreamJsonRpc.JsonRpc client, global::StreamJsonRpc.Reflection.ProxyInputs inputs)
+ : base(client, inputs)
+ {
+ }
+
+ global::System.Threading.Tasks.Task global::IGenericMarshalable.DoSomethingWithParameterAsync()
+ {
+ if (this.IsDisposed) throw new global::System.ObjectDisposedException(this.GetType().FullName);
+
+ this.OnCallingMethod("DoSomethingWithParameterAsync");
+ string rpcMethodName = this.transformedDoSomethingWithParameterAsync1 ??= this.TransformMethodName("DoSomethingWithParameterAsync", typeof(global::IGenericMarshalable));
+ global::System.Threading.Tasks.Task result = this.Options.ServerRequiresNamedArguments ?
+ this.JsonRpc.InvokeWithParameterObjectAsync(rpcMethodName, ConstructNamedArgs(), DoSomethingWithParameterAsyncNamedArgumentDeclaredTypes1, default) :
+ this.JsonRpc.InvokeWithCancellationAsync(rpcMethodName, [], DoSomethingWithParameterAsyncPositionalArgumentDeclaredTypes1, default);
+ this.OnCalledMethod("DoSomethingWithParameterAsync");
+
+ return result;
+
+ global::System.Collections.Generic.Dictionary ConstructNamedArgs()
+ => new()
+ {
+ };
+ }
+ }
+}
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_HasEvent/IMarshalableWithEvents.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_HasEvent/IMarshalableWithEvents.g.cs
index 4f3711770..caea180af 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_HasEvent/IMarshalableWithEvents.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_HasEvent/IMarshalableWithEvents.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMarshalableWithEvents_Proxy))]
partial interface IMarshalableWithEvents
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_HasProperty/IMarshalableWithProperties.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_HasProperty/IMarshalableWithProperties.g.cs
index 798e9f27a..dad4cd3d0 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_HasProperty/IMarshalableWithProperties.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_HasProperty/IMarshalableWithProperties.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMarshalableWithProperties_Proxy))]
partial interface IMarshalableWithProperties
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_HasPropertyAndMethod/INotSoMarshalable.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_HasPropertyAndMethod/INotSoMarshalable.g.cs
index 235f56487..adf6c98b3 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_HasPropertyAndMethod/INotSoMarshalable.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_HasPropertyAndMethod/INotSoMarshalable.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.INotSoMarshalable_Proxy))]
partial interface INotSoMarshalable
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_HasStaticMethod/IMarshalableWithProperties.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_HasStaticMethod/IMarshalableWithProperties.g.cs
index 4e54b128d..c92d60cbb 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_HasStaticMethod/IMarshalableWithProperties.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_HasStaticMethod/IMarshalableWithProperties.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMarshalableWithProperties_Proxy))]
partial interface IMarshalableWithProperties
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods/IMarshalable.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods/IMarshalable.g.cs
index 6467f1f6a..58ca92540 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods/IMarshalable.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods/IMarshalable.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMarshalable_Proxy))]
partial interface IMarshalable
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods/IMarshalableSobURHW8.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods/IMarshalableSobURHW8.g.cs
index 722c62e0e..7ed7aa2bd 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods/IMarshalableSobURHW8.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods/IMarshalableSobURHW8.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMarshalableSobURHW8_Proxy))]
partial interface IMarshalable
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods/OptionalInterfaceExtensions.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods/OptionalInterfaceExtensions.g.cs
index a23bf04bf..82470fdb3 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods/OptionalInterfaceExtensions.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods/OptionalInterfaceExtensions.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
using StreamJsonRpc;
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NestedInClass/NS.Wrapper.IMarshalable.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NestedInClass/NS.Wrapper.IMarshalable.g.cs
index 22bfb80e7..89e0649e6 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NestedInClass/NS.Wrapper.IMarshalable.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NestedInClass/NS.Wrapper.IMarshalable.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
namespace NS
{
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NestedInClass/NS.Wrapper.IMarshalablegBnetfdo.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NestedInClass/NS.Wrapper.IMarshalablegBnetfdo.g.cs
index 4c0566cba..71d507a01 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NestedInClass/NS.Wrapper.IMarshalablegBnetfdo.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NestedInClass/NS.Wrapper.IMarshalablegBnetfdo.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
namespace NS
{
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NestedInClass/OptionalInterfaceExtensions.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NestedInClass/OptionalInterfaceExtensions.g.cs
index 9d29a4aaa..f50a9c7ac 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NestedInClass/OptionalInterfaceExtensions.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NestedInClass/OptionalInterfaceExtensions.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
using StreamJsonRpc;
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NotPublic/IMarshalable.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NotPublic/IMarshalable.g.cs
index 6467f1f6a..58ca92540 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NotPublic/IMarshalable.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NotPublic/IMarshalable.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMarshalable_Proxy))]
partial interface IMarshalable
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NotPublic/IMarshalableSobURHW8.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NotPublic/IMarshalableSobURHW8.g.cs
index 722c62e0e..7ed7aa2bd 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NotPublic/IMarshalableSobURHW8.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NotPublic/IMarshalableSobURHW8.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMarshalableSobURHW8_Proxy))]
partial interface IMarshalable
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NotPublic/OptionalInterfaceExtensions.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NotPublic/OptionalInterfaceExtensions.g.cs
index ef399fd27..689cd0907 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NotPublic/OptionalInterfaceExtensions.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/RpcMarshalable_OptionalInterfaces_WithExtensionMethods_NotPublic/OptionalInterfaceExtensions.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
using StreamJsonRpc;
diff --git a/test/StreamJsonRpc.Analyzer.Tests/Resources/UnsupportedReturnType/IMyService.g.cs b/test/StreamJsonRpc.Analyzer.Tests/Resources/UnsupportedReturnType/IMyService.g.cs
index e520544c6..7e7df82e5 100644
--- a/test/StreamJsonRpc.Analyzer.Tests/Resources/UnsupportedReturnType/IMyService.g.cs
+++ b/test/StreamJsonRpc.Analyzer.Tests/Resources/UnsupportedReturnType/IMyService.g.cs
@@ -2,6 +2,7 @@
#nullable enable
#pragma warning disable CS0436 // prefer local types to imported ones
+#pragma warning disable // Disable all warnings so that [Experimental] APIs don't flag anything.
[global::StreamJsonRpc.Reflection.JsonRpcProxyMappingAttribute(typeof(StreamJsonRpc.Generated.IMyService_Proxy))]
partial interface IMyService