50283a8b97
Fix lookup of block proxy attributes to look in protocols declared on base classes. Broken pseudo code: class BaseApplicationDelegate : NSObject, IUIApplicationDelegate {} class MyApplicationDelegate : BaseApplicationDelegate { [Export("application:didReceiveRemoteNotification:fetchCompletionHandler:")] public void DidReceiveRemoteNotification (UIApplication application, NSDictionary userInfo, Action<UIBackgroundFetchResult> completionHandler) { } } the static registrar wouldn't figure out that the DidReceiveRemoteNotification method comes from the UIApplicationDelegate, because it would only look in protocols defined on MyApplicationDelegate, not any base classes. The fix is to look in base classes too. Also: * Fix a boolean logic error when matching parameters between methods in another (rarely used) code path when looking for matching binding methods in the extension class for protocols with optional members. * Add tests. Fixes https://github.com/dotnet/maui/issues/6259. |
||
---|---|---|
.. | ||
dotnet | ||
iOS | ||
macOS | ||
ApiDefinition.cs | ||
ApiProtocol.cs | ||
CodeBehind.cs | ||
Messaging.cs | ||
ProtocolTest.cs | ||
RegistrarBindingTest.cs | ||
RuntimeTest.cs | ||
StructsAndEnums.cs | ||
libtest.linkwith.cs |