Skip to content

Commit 1778e19

Browse files
committed
Fix dotnet/android build
Context: dotnet/android#9750 dotnet/android#9750 attempts to test #1302, and it failed to build! …/src/Mono.Android/obj/Release/net10.0/android-35/mcw/Java.Util.Jar.Pack200.cs(229,54): error CS1109: Extension methods must be defined in a top level static class; IPackerExtensions is a nested class Indeed, what we actually had was: abstract partial class Pack200 { public partial interface IPacker { /* … */ } static partial class IPackerExtensions { public static void Pack (this IPacker packer, Stream output, Stream input) { … } } } `static` classes containing extension methods must be top-level, and `IPackerExtensions` is instead nested within `Pack200`. Fix `generator` so that this doesn't happen.
1 parent 40097db commit 1778e19

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

tools/generator/SourceWriters/BoundClass.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public BoundClass (ClassGen klass, CodeGenerationOptions opt, CodeGeneratorConte
8383
NestedTypes.Add (ic);
8484

8585
// Sibling classes
86-
if (!klass.AssemblyQualifiedName.Contains ('/')) {
86+
if (!klass.AssemblyQualifiedName.Contains ('+')) {
8787
foreach (InterfaceExtensionInfo nestedIface in klass.GetNestedInterfaceTypes ())
8888
if (nestedIface.Type.Methods.Any (m => m.CanHaveStringOverload) || nestedIface.Type.Methods.Any (m => m.Asyncify))
8989
sibling_types.Add (new InterfaceExtensionsClass (nestedIface.Type, nestedIface.DeclaringType, opt));

tools/generator/SourceWriters/BoundInterface.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public BoundInterface (InterfaceGen iface, CodeGenerationOptions opt, CodeGenera
7878
if (iface.IsConstSugar (opt))
7979
return;
8080

81-
if (!iface.AssemblyQualifiedName.Contains ('/')) {
81+
if (!iface.AssemblyQualifiedName.Contains ('+')) {
8282
if (iface.Methods.Any (m => m.CanHaveStringOverload) || iface.Methods.Any (m => m.Asyncify))
8383
post_sibling_types.Add (new InterfaceExtensionsClass (iface, null, opt));
8484
}

0 commit comments

Comments
 (0)