Getters/Setters with [NoMac] still generates Selector.GetHandle fields
- Dominant language
- C#
- Stars
- 2.9k
- Forks
- 576
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 123
Description
It seems that accessors with [NoMac] attributes doesn't prevent the generator from writing code to fetch the selector for those unavailable members.
This change:
```diff
From e62bdcd7c44f00377069a20e19a3c6e0bdf819ec Mon Sep 17 00:00:00 2001
From: Rolf Bjarne Kvinge
Date: Thu, 19 Jan 2023 09:24:26 +0100
Subject: [PATCH] [Foundation] There's no reason to conditionally exclude code
for macOS when the member has a NoMac attribute.
This ensures that all platform assemblies know that the member doesn't exist
on macOS.
---
src/foundation.cs | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/foundation.cs b/src/foundation.cs
index b6e27e43e02..d1a2b681464 100644
--- a/src/foundation.cs
+++ b/src/foundation.cs
@@ -10980,10 +10980,8 @@ partial interface NSItemProvider : NSCopying {
[Export ("preferredPresentationSize")]
CGSize PreferredPresentationSize {
get;
-#if !MONOMAC
[NoMac]
set;
-#endif
}
[NoiOS, NoTV, NoWatch, NoMacCatalyst]
```
shouldn't result in this diff in the generator code:
```diff
diff --git a/old/dotnet/macos/generated-sources/Foundation/NSItemProvider.g.cs b/new/dotnet/macos/generated-sources/Foundation/NSItemProvider.g.cs
index 2509cf3..4694821 100644
--- a/old/dotnet/macos/generated-sources/Foundation/NSItemProvider.g.cs
+++ b/new/dotnet/macos/generated-sources/Foundation/NSItemProvider.g.cs
@@ -153,6 +153,9 @@ namespace Foundation {
const string selRegisteredTypeIdentifiersWithFileOptions_ = "registeredTypeIdentifiersWithFileOptions:";
static readonly NativeHandle selRegisteredTypeIdentifiersWithFileOptions_Handle = Selector.GetHandle ("registeredTypeIdentifiersWithFileOptions:");
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
+ const string selSetPreferredPresentationSize_ = "setPreferredPresentationSize:";
+ static readonly NativeHandle selSetPreferredPresentationSize_Handle = Selector.GetHandle ("setPreferredPresentationSize:");
+ [BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
const string selSetPreviewImageHandler_ = "setPreviewImageHandler:";
static readonly NativeHandle selSetPreviewImageHandler_Handle = Selector.GetHandle ("setPreviewImageHandler:");
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
diff --git a/old/mac/full/Foundation/NSItemProvider.g.cs b/new/mac/full/Foundation/NSItemProvider.g.cs
index 47cbfdd..b2fa0d1 100644
--- a/old/mac/full/Foundation/NSItemProvider.g.cs
+++ b/new/mac/full/Foundation/NSItemProvider.g.cs
@@ -150,6 +150,9 @@ namespace Foundation {
const string selRegisteredTypeIdentifiersWithFileOptions_ = "registeredTypeIdentifiersWithFileOptions:";
static readonly IntPtr selRegisteredTypeIdentifiersWithFileOptions_Handle = Selector.GetHandle ("registeredTypeIdentifiersWithFileOptions:");
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
+ const string selSetPreferredPresentationSize_ = "setPreferredPresentationSize:";
+ static readonly IntPtr selSetPreferredPresentationSize_Handle = Selector.GetHandle ("setPreferredPresentationSize:");
+ [BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
const string selSetPreviewImageHandler_ = "setPreviewImageHandler:";
static readonly IntPtr selSetPreviewImageHandler_Handle = Selector.GetHandle ("setPreviewImageHandler:");
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
diff --git a/old/mac/mobile/Foundation/NSItemProvider.g.cs b/new/mac/mobile/Foundation/NSItemProvider.g.cs
index 47cbfdd..b2fa0d1 100644
--- a/old/mac/mobile/Foundation/NSItemProvider.g.cs
+++ b/new/mac/mobile/Foundation/NSItemProvider.g.cs
@@ -150,6 +150,9 @@ namespace Foundation {
const string selRegisteredTypeIdentifiersWithFileOptions_ = "registeredTypeIdentifiersWithFileOptions:";
static readonly IntPtr selRegisteredTypeIdentifiersWithFileOptions_Handle = Selector.GetHandle ("registeredTypeIdentifiersWithFileOptions:");
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
+ const string selSetPreferredPresentationSize_ = "setPreferredPresentationSize:";
+ static readonly IntPtr selSetPreferredPresentationSize_Handle = Selector.GetHandle ("setPreferredPresentationSize:");
+ [BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
const string selSetPreviewImageHandler_ = "setPreviewImageHandler:";
static readonly IntPtr selSetPreviewImageHandler_Handle = Selector.GetHandle ("setPreviewImageHandler:");
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
```
Ref: https://github.com/xamarin/xamarin-macios/pull/17299
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.