[AppKit/UIKit] Merge the definitions of NS[Mutable]ParagraphStyle. (#9261)

* Reduces code duplication.
* Makes the macOS versions thread-safe (the iOS versions have been thread-safe
  for years: 2c6a5303a7).
* A few parameters names were different in the definitions; I chose to keep the ones in Xamarin.iOS, since they looked better.
* Xamarin.Mac had two methods, SetTextBlocks and SetTextLists, in place of an actual property override (for the mutable setter), this was fixed to be an actual property overload, and compat methods were implemented.
* xtro needed an update to cope with multiple static methods for the same selector.
This commit is contained in:
Rolf Bjarne Kvinge 2020-08-04 14:25:24 +02:00 коммит произвёл GitHub
Родитель 21ee5a7f74
Коммит 5327564109
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
10 изменённых файлов: 278 добавлений и 331 удалений

43
src/AppKit/Compat.cs Normal file
Просмотреть файл

@ -0,0 +1,43 @@
using System;
using System.ComponentModel;
using Foundation;
using ObjCRuntime;
namespace AppKit {
partial class NSMutableParagraphStyle {
#if !XAMCORE_4_0
[Obsolete ("Use the 'TextBlocks' property instead.", false)]
[EditorBrowsable (EditorBrowsableState.Never)]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
public virtual void SetTextBlocks (NSTextBlock[] array)
{
if (array == null)
throw new ArgumentNullException (nameof (array));
var nsa_array = NSArray.FromNSObjects (array);
if (IsDirectBinding) {
global::ObjCRuntime.Messaging.void_objc_msgSend_IntPtr (this.Handle, selSetTextBlocks_Handle, nsa_array.Handle);
} else {
global::ObjCRuntime.Messaging.void_objc_msgSendSuper_IntPtr (this.SuperHandle, selSetTextBlocks_Handle, nsa_array.Handle);
}
nsa_array.Dispose ();
}
[Obsolete ("Use the 'TextLists' property instead.", false)]
[EditorBrowsable (EditorBrowsableState.Never)]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
public virtual void SetTextLists (NSTextList[] array)
{
if (array == null)
throw new ArgumentNullException (nameof (array));
var nsa_array = NSArray.FromNSObjects (array);
if (IsDirectBinding) {
global::ObjCRuntime.Messaging.void_objc_msgSend_IntPtr (this.Handle, selSetTextLists_Handle, nsa_array.Handle);
} else {
global::ObjCRuntime.Messaging.void_objc_msgSendSuper_IntPtr (this.SuperHandle, selSetTextLists_Handle, nsa_array.Handle);
}
nsa_array.Dispose ();
}
#endif
}
}

Просмотреть файл

@ -10785,173 +10785,6 @@ namespace AppKit {
IntPtr Constructor (CGRect contentRect, NSWindowStyle aStyle, NSBackingStore bufferingType, bool deferCreation);
}
[BaseType (typeof (NSObject))]
interface NSParagraphStyle : NSSecureCoding, NSMutableCopying {
[Static]
[Export ("defaultParagraphStyle", ArgumentSemantic.Copy)]
NSParagraphStyle DefaultParagraphStyle { get; [NotImplemented] set; }
[Static]
[Export ("defaultWritingDirectionForLanguage:")]
NSWritingDirection DefaultWritingDirection (string languageName);
[Export ("lineSpacing")]
nfloat LineSpacing { get; [NotImplemented] set; }
[Export ("paragraphSpacing")]
nfloat ParagraphSpacing { get; [NotImplemented] set; }
[Export ("alignment")]
NSTextAlignment Alignment { get; [NotImplemented] set; }
[Export ("headIndent")]
nfloat HeadIndent { get; [NotImplemented] set; }
[Export ("tailIndent")]
nfloat TailIndent { get; [NotImplemented] set; }
[Export ("firstLineHeadIndent")]
nfloat FirstLineHeadIndent { get; [NotImplemented] set; }
[Export ("tabStops")]
NSTextTab [] TabStops { get; [NotImplemented] set; }
[Export ("minimumLineHeight")]
nfloat MinimumLineHeight { get; [NotImplemented] set; }
[Export ("maximumLineHeight")]
nfloat MaximumLineHeight { get; [NotImplemented] set; }
[Export ("lineBreakMode")]
NSLineBreakMode LineBreakMode { get; [NotImplemented] set; }
[Export ("baseWritingDirection")]
NSWritingDirection BaseWritingDirection { get; [NotImplemented] set; }
[Export ("lineHeightMultiple")]
nfloat LineHeightMultiple { get; [NotImplemented] set; }
[Export ("paragraphSpacingBefore")]
nfloat ParagraphSpacingBefore { get; [NotImplemented] set; }
[Export ("defaultTabInterval")]
nfloat DefaultTabInterval { get; [NotImplemented] set; }
[Export ("textBlocks")]
NSTextTableBlock [] TextBlocks { get; [NotImplemented] set; }
[Export ("textLists")]
NSTextList[] TextLists { get; [NotImplemented] set; }
[Export ("hyphenationFactor")]
float HyphenationFactor { get; [NotImplemented] set; } /* float, not CGFloat */
[Export ("tighteningFactorForTruncation")]
float TighteningFactorForTruncation { get; [NotImplemented] set; } /* float, not CGFloat */
[Export ("headerLevel")]
nint HeaderLevel { get; [NotImplemented] set; }
// @property (readonly) BOOL allowsDefaultTighteningForTruncation __attribute__((availability(macosx, introduced=10.11)));
[Mac (10,11)]
[Export ("allowsDefaultTighteningForTruncation")]
bool AllowsDefaultTighteningForTruncation { get; }
}
[BaseType (typeof (NSParagraphStyle))]
interface NSMutableParagraphStyle {
[Export ("addTabStop:")]
[PostGet ("TabStops")]
void AddTabStop (NSTextTab anObject);
[Export ("removeTabStop:")]
[PostGet ("TabStops")]
void RemoveTabStop (NSTextTab anObject);
[Export ("tabStops", ArgumentSemantic.Copy)]
[Override]
NSTextTab [] TabStops { get; set; }
[Export ("setParagraphStyle:")]
void SetParagraphStyle (NSParagraphStyle obj);
[Export ("defaultTabInterval")]
[Override]
nfloat DefaultTabInterval { get; set; }
[Export ("setTextBlocks:")]
void SetTextBlocks (NSTextBlock [] array);
[Export ("setTextLists:")]
void SetTextLists (NSTextList [] array);
[Export ("tighteningFactorForTruncation")]
[Override]
float TighteningFactorForTruncation { get; set; } /* float, not CGFloat */
[Export ("headerLevel")]
[Override]
nint HeaderLevel { get; set; }
[Export ("lineSpacing")]
[Override]
nfloat LineSpacing { get; set; }
[Export ("alignment")]
[Override]
NSTextAlignment Alignment { get; set; }
[Export ("headIndent")]
[Override]
nfloat HeadIndent { get; set; }
[Export ("tailIndent")]
[Override]
nfloat TailIndent { get; set; }
[Export ("firstLineHeadIndent")]
[Override]
nfloat FirstLineHeadIndent { get; set; }
[Export ("minimumLineHeight")]
[Override]
nfloat MinimumLineHeight { get; set; }
[Export ("maximumLineHeight")]
[Override]
nfloat MaximumLineHeight { get; set; }
[Export ("lineBreakMode")]
[Override]
NSLineBreakMode LineBreakMode { get; set; }
[Export ("baseWritingDirection")]
[Override]
NSWritingDirection BaseWritingDirection { get; set; }
[Export ("lineHeightMultiple")]
[Override]
nfloat LineHeightMultiple { get; set; }
[Export ("paragraphSpacing")]
[Override]
nfloat ParagraphSpacing { get; set; }
[Export ("paragraphSpacingBefore")]
[Override]
nfloat ParagraphSpacingBefore { get; set; }
[Export ("hyphenationFactor")]
[Override]
float HyphenationFactor { get; set; } /* float, not CGFloat */
[Mac (10,11)]
[Export ("allowsDefaultTighteningForTruncation")]
bool AllowsDefaultTighteningForTruncation { get; set; }
}
[Mac (10,10)]
[BaseType (typeof (NSGestureRecognizer))]
interface NSPanGestureRecognizer : NSCoding {

Просмотреть файл

@ -77,6 +77,7 @@ APPKIT_SOURCES = \
AppKit/AppKitSynchronizationContext.cs \
AppKit/AppKitThreadAccessException.cs \
AppKit/BeginSheet.cs \
AppKit/Compat.cs \
AppKit/DoubleWrapper.cs \
AppKit/EventArgs.cs \
AppKit/Functions.cs \

Просмотреть файл

@ -518,152 +518,6 @@ namespace UIKit {
}
#endif // !WATCH
[ThreadSafe]
[BaseType (typeof (NSObject))]
interface NSParagraphStyle : NSSecureCoding, NSMutableCopying {
[Export ("lineSpacing")]
nfloat LineSpacing { get; [NotImplemented] set; }
[Export ("paragraphSpacing")]
nfloat ParagraphSpacing { get; [NotImplemented] set; }
[Export ("alignment")]
UITextAlignment Alignment { get; [NotImplemented] set; }
[Export ("headIndent")]
nfloat HeadIndent { get; [NotImplemented] set; }
[Export ("tailIndent")]
nfloat TailIndent { get; [NotImplemented] set; }
[Export ("firstLineHeadIndent")]
nfloat FirstLineHeadIndent { get; [NotImplemented] set; }
[Export ("minimumLineHeight")]
nfloat MinimumLineHeight { get; [NotImplemented] set; }
[Export ("maximumLineHeight")]
nfloat MaximumLineHeight { get; [NotImplemented] set; }
[Export ("lineBreakMode")]
UILineBreakMode LineBreakMode { get; [NotImplemented] set; }
[Export ("baseWritingDirection")]
NSWritingDirection BaseWritingDirection { get; [NotImplemented] set; }
[Export ("lineHeightMultiple")]
nfloat LineHeightMultiple { get; [NotImplemented] set; }
[Export ("paragraphSpacingBefore")]
nfloat ParagraphSpacingBefore { get; [NotImplemented] set; }
[Export ("hyphenationFactor")]
float HyphenationFactor { get; [NotImplemented] set; } // Returns a float, not nfloat.
[Static]
[Export ("defaultWritingDirectionForLanguage:")]
NSWritingDirection GetDefaultWritingDirection (string languageName);
[Static]
[Export ("defaultParagraphStyle")]
NSParagraphStyle Default { get; }
[iOS (7,0)]
[Export ("defaultTabInterval")]
nfloat DefaultTabInterval { get; [NotImplemented] set; }
[iOS (7,0)]
[Export ("tabStops", ArgumentSemantic.Copy)]
NSTextTab[] TabStops { get; [NotImplemented] set; }
[iOS (9,0)]
[Export ("allowsDefaultTighteningForTruncation")]
bool AllowsDefaultTighteningForTruncation { get; [NotImplemented] set; }
}
[ThreadSafe]
[BaseType (typeof (NSParagraphStyle))]
interface NSMutableParagraphStyle {
[Export ("lineSpacing")]
[Override]
nfloat LineSpacing { get; set; }
[Export ("alignment")]
[Override]
UITextAlignment Alignment { get; set; }
[Export ("headIndent")]
[Override]
nfloat HeadIndent { get; set; }
[Export ("tailIndent")]
[Override]
nfloat TailIndent { get; set; }
[Export ("firstLineHeadIndent")]
[Override]
nfloat FirstLineHeadIndent { get; set; }
[Export ("minimumLineHeight")]
[Override]
nfloat MinimumLineHeight { get; set; }
[Export ("maximumLineHeight")]
[Override]
nfloat MaximumLineHeight { get; set; }
[Export ("lineBreakMode")]
[Override]
UILineBreakMode LineBreakMode { get; set; }
[Export ("baseWritingDirection")]
[Override]
NSWritingDirection BaseWritingDirection { get; set; }
[Export ("lineHeightMultiple")]
[Override]
nfloat LineHeightMultiple { get; set; }
[Export ("paragraphSpacing")]
[Override]
nfloat ParagraphSpacing { get; set; }
[Export ("paragraphSpacingBefore")]
[Override]
nfloat ParagraphSpacingBefore { get; set; }
[Export ("hyphenationFactor")]
[Override]
float HyphenationFactor { get; set; } // Returns a float, not nfloat.
[iOS (7,0)]
[Export ("defaultTabInterval")]
[Override]
nfloat DefaultTabInterval { get; set; }
[iOS (7,0)]
[Export ("tabStops", ArgumentSemantic.Copy)]
[Override]
NSTextTab[] TabStops { get; set; }
[iOS (9,0)]
[Override]
[Export ("allowsDefaultTighteningForTruncation")]
bool AllowsDefaultTighteningForTruncation { get; set; }
[iOS (9,0)]
[Export ("addTabStop:")]
void AddTabStop (NSTextTab textTab);
[iOS (9,0)]
[Export ("removeTabStop:")]
void RemoveTabStop (NSTextTab textTab);
[iOS (9,0)]
[Export ("setParagraphStyle:")]
void SetParagraphStyle (NSParagraphStyle paragraphStyle);
}
[iOS (7,0)]
[BaseType (typeof (NSObject))]
interface NSTextTab : NSCoding, NSCopying, NSSecureCoding {

Просмотреть файл

@ -24,6 +24,8 @@ using NSImageScaling=System.Object;
using NSRulerMarker=System.Object;
using NSRulerView=System.Object;
using NSTextBlock=System.Object;
using NSTextList=System.Object;
using NSTextTableBlock=System.Object;
using NSTextStorageEditedFlags=System.Object;
using NSTextView=System.Object;
using NSTypesetter=System.Object;
@ -36,6 +38,14 @@ using NSTextStorage=System.Object;
#endif // WATCH
#endif // !MONOMAC
#if MONOMAC
using TextAlignment=AppKit.NSTextAlignment;
using LineBreakMode=AppKit.NSLineBreakMode;
#else
using TextAlignment=UIKit.UITextAlignment;
using LineBreakMode=UIKit.UILineBreakMode;
#endif
#if MONOMAC
namespace AppKit {
#else
@ -1273,4 +1283,212 @@ namespace UIKit {
[Export ("reloadSectionsWithIdentifiers:")]
void ReloadSections (SectionIdentifierType [] sectionIdentifiers);
}
[ThreadSafe]
[BaseType (typeof (NSObject))]
interface NSParagraphStyle : NSSecureCoding, NSMutableCopying {
[Export ("lineSpacing")]
nfloat LineSpacing { get; [NotImplemented] set; }
[Export ("paragraphSpacing")]
nfloat ParagraphSpacing { get; [NotImplemented] set; }
[Export ("alignment")]
TextAlignment Alignment { get; [NotImplemented] set; }
[Export ("headIndent")]
nfloat HeadIndent { get; [NotImplemented] set; }
[Export ("tailIndent")]
nfloat TailIndent { get; [NotImplemented] set; }
[Export ("firstLineHeadIndent")]
nfloat FirstLineHeadIndent { get; [NotImplemented] set; }
[Export ("minimumLineHeight")]
nfloat MinimumLineHeight { get; [NotImplemented] set; }
[Export ("maximumLineHeight")]
nfloat MaximumLineHeight { get; [NotImplemented] set; }
[Export ("lineBreakMode")]
LineBreakMode LineBreakMode { get; [NotImplemented] set; }
[Export ("baseWritingDirection")]
NSWritingDirection BaseWritingDirection { get; [NotImplemented] set; }
[Export ("lineHeightMultiple")]
nfloat LineHeightMultiple { get; [NotImplemented] set; }
[Export ("paragraphSpacingBefore")]
nfloat ParagraphSpacingBefore { get; [NotImplemented] set; }
[Export ("hyphenationFactor")]
float HyphenationFactor { get; [NotImplemented] set; } // Returns a float, not nfloat.
[Static]
[Export ("defaultWritingDirectionForLanguage:")]
NSWritingDirection GetDefaultWritingDirection ([NullAllowed] string languageName);
#if MONOMAC && !XAMCORE_4_0
[Obsolete ("Use the 'GetDefaultWritingDirection' method instead.")]
[Static]
[Export ("defaultWritingDirectionForLanguage:")]
NSWritingDirection DefaultWritingDirection ([NullAllowed] string languageName);
#endif
[Static]
[Export ("defaultParagraphStyle", ArgumentSemantic.Copy)]
NSParagraphStyle Default { get; }
#if MONOMAC && !XAMCORE_4_0
[Obsolete ("Use the 'Default' property instead.")]
[Static]
[Export ("defaultParagraphStyle", ArgumentSemantic.Copy)]
NSParagraphStyle DefaultParagraphStyle { get; [NotImplemented] set; }
#endif
[iOS (7,0)]
[Export ("defaultTabInterval")]
nfloat DefaultTabInterval { get; [NotImplemented] set; }
[iOS (7,0)]
[Export ("tabStops", ArgumentSemantic.Copy)]
[NullAllowed]
NSTextTab[] TabStops { get; [NotImplemented] set; }
[iOS (9,0)]
[Mac (10,11)]
[Export ("allowsDefaultTighteningForTruncation")]
bool AllowsDefaultTighteningForTruncation { get; [NotImplemented] set; }
[NoiOS, NoTV, NoWatch]
[Export ("textBlocks")]
#if XAMCORE_4_0
NSTextBlock [] TextBlocks { get; [NotImplemented] set; }
#else
NSTextTableBlock [] TextBlocks { get; [NotImplemented] set; }
#endif
[NoiOS, NoTV, NoWatch]
[Export ("textLists")]
NSTextList[] TextLists { get; [NotImplemented] set; }
[NoiOS, NoTV, NoWatch]
[Export ("tighteningFactorForTruncation")]
float TighteningFactorForTruncation { get; [NotImplemented] set; } /* float, not CGFloat */
[NoiOS, NoTV, NoWatch]
[Export ("headerLevel")]
nint HeaderLevel { get; [NotImplemented] set; }
}
[ThreadSafe]
[BaseType (typeof (NSParagraphStyle))]
interface NSMutableParagraphStyle {
[Export ("lineSpacing")]
[Override]
nfloat LineSpacing { get; set; }
[Export ("alignment")]
[Override]
TextAlignment Alignment { get; set; }
[Export ("headIndent")]
[Override]
nfloat HeadIndent { get; set; }
[Export ("tailIndent")]
[Override]
nfloat TailIndent { get; set; }
[Export ("firstLineHeadIndent")]
[Override]
nfloat FirstLineHeadIndent { get; set; }
[Export ("minimumLineHeight")]
[Override]
nfloat MinimumLineHeight { get; set; }
[Export ("maximumLineHeight")]
[Override]
nfloat MaximumLineHeight { get; set; }
[Export ("lineBreakMode")]
[Override]
LineBreakMode LineBreakMode { get; set; }
[Export ("baseWritingDirection")]
[Override]
NSWritingDirection BaseWritingDirection { get; set; }
[Export ("lineHeightMultiple")]
[Override]
nfloat LineHeightMultiple { get; set; }
[Export ("paragraphSpacing")]
[Override]
nfloat ParagraphSpacing { get; set; }
[Export ("paragraphSpacingBefore")]
[Override]
nfloat ParagraphSpacingBefore { get; set; }
[Export ("hyphenationFactor")]
[Override]
float HyphenationFactor { get; set; } // Returns a float, not nfloat.
[iOS (7,0)]
[Export ("defaultTabInterval")]
[Override]
nfloat DefaultTabInterval { get; set; }
[iOS (7,0)]
[Export ("tabStops", ArgumentSemantic.Copy)]
[Override]
[NullAllowed]
NSTextTab[] TabStops { get; set; }
[iOS (9,0)]
[Mac (10,11)]
[Override]
[Export ("allowsDefaultTighteningForTruncation")]
bool AllowsDefaultTighteningForTruncation { get; set; }
[iOS (9,0)]
[Export ("addTabStop:")]
void AddTabStop (NSTextTab textTab);
[iOS (9,0)]
[Export ("removeTabStop:")]
void RemoveTabStop (NSTextTab textTab);
[iOS (9,0)]
[Export ("setParagraphStyle:")]
void SetParagraphStyle (NSParagraphStyle paragraphStyle);
[NoiOS, NoTV, NoWatch]
[Override]
[Export ("textBlocks")]
#if XAMCORE_4_0
NSTextBlock [] TextBlocks { get; set; }
#else
NSTextTableBlock [] TextBlocks { get; set; }
#endif
[NoiOS, NoTV, NoWatch]
[Override]
[Export ("textLists")]
NSTextList [] TextLists { get; set; }
[NoiOS, NoTV, NoWatch]
[Export ("tighteningFactorForTruncation")]
[Override]
float TighteningFactorForTruncation { get; set; } /* float, not CGFloat */
[NoiOS, NoTV, NoWatch]
[Export ("headerLevel")]
[Override]
nint HeaderLevel { get; set; }
}
}

Просмотреть файл

@ -17,7 +17,7 @@ namespace Extrospection {
public class SelectorCheck : BaseVisitor {
HashSet<string> qualified_selectors = new HashSet<string> ();
Dictionary<string, Helpers.ArgumentSemantic> qualified_properties = new Dictionary<string, Helpers.ArgumentSemantic> ();
Dictionary<string, List<Tuple<MethodDefinition, Helpers.ArgumentSemantic>>> qualified_properties = new Dictionary<string, List<Tuple<MethodDefinition, Helpers.ArgumentSemantic>>> ();
// most selectors will be found in [Export] attribtues
public override void VisitManagedMethod (MethodDefinition method)
@ -38,7 +38,9 @@ namespace Extrospection {
var argumentSemantic = Helpers.ArgumentSemantic.Assign; // Default
if (ca.ConstructorArguments.Count > 1) {
argumentSemantic = (Helpers.ArgumentSemantic)ca.ConstructorArguments [1].Value;
qualified_properties.Add (methodDefinition, argumentSemantic);
if (!qualified_properties.TryGetValue (methodDefinition, out var list))
qualified_properties [methodDefinition] = list = new List<Tuple<MethodDefinition, Helpers.ArgumentSemantic>> ();
list.Add (new Tuple<MethodDefinition, Helpers.ArgumentSemantic> (method, argumentSemantic));
}
qualified_selectors.Add (methodDefinition);
@ -66,12 +68,18 @@ namespace Extrospection {
var nativeArgumentSemantic = decl.Attributes.ToArgumentSemantic ();
var nativeMethodDefinition = decl.QualifiedName;
bool found = qualified_properties.TryGetValue (nativeMethodDefinition, out var managedArgumentSemantic);
if (found && managedArgumentSemantic != nativeArgumentSemantic) {
// FIXME: only Copy mistakes are reported now
if (managedArgumentSemantic == Helpers.ArgumentSemantic.Copy || nativeArgumentSemantic == Helpers.ArgumentSemantic.Copy) {
// FIXME: rule disactivated for now
//Log.On (framework).Add ($"!incorrect-argument-semantic! Native '{nativeMethodDefinition}' is declared as ({nativeArgumentSemantic.ToUsableString ().ToLowerInvariant ()}) but mapped to 'ArgumentSemantic.{managedArgumentSemantic.ToUsableString ()}'");
if (qualified_properties.TryGetValue (nativeMethodDefinition, out var managedArgumentSemanticList)) {
foreach (var entry in managedArgumentSemanticList) {
var method = entry.Item1;
var managedArgumentSemantic = entry.Item2;
if (managedArgumentSemantic != nativeArgumentSemantic) {
// FIXME: only Copy mistakes are reported now
if (managedArgumentSemantic == Helpers.ArgumentSemantic.Copy || nativeArgumentSemantic == Helpers.ArgumentSemantic.Copy) {
// FIXME: rule disactivated for now
// Log.On (framework).Add ($"!incorrect-argument-semantic! Native '{nativeMethodDefinition}' is declared as ({nativeArgumentSemantic.ToUsableString ().ToLowerInvariant ()}) but mapped to 'ArgumentSemantic.{managedArgumentSemantic.ToUsableString ()}' in '{method}'");
}
}
}
}
}

Просмотреть файл

@ -203,7 +203,6 @@
!missing-null-allowed! 'Foundation.NSUrl UIKit.UIDocumentPickerExtensionViewController::get_OriginalUrl()' is missing an [NullAllowed] on return type
!missing-null-allowed! 'Foundation.NSUrlRequest UIKit.UIWebView::get_Request()' is missing an [NullAllowed] on return type
!missing-null-allowed! 'Foundation.NSUuid UIKit.UIDevice::get_IdentifierForVendor()' is missing an [NullAllowed] on return type
!missing-null-allowed! 'Foundation.NSWritingDirection UIKit.NSParagraphStyle::GetDefaultWritingDirection(System.String)' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'ObjCRuntime.Class UIKit.UIStateRestoring::get_ObjectRestorationClass()' is missing an [NullAllowed] on return type
!missing-null-allowed! 'System.Boolean UIKit.UIApplicationDelegate::FinishedLaunching(UIKit.UIApplication,Foundation.NSDictionary)' is missing an [NullAllowed] on parameter #1
!missing-null-allowed! 'System.Boolean UIKit.UIApplicationDelegate::OpenUrl(UIKit.UIApplication,Foundation.NSUrl,System.String,Foundation.NSObject)' is missing an [NullAllowed] on parameter #2
@ -263,7 +262,6 @@
!missing-null-allowed! 'System.Void Foundation.NSObject::set_AccessibilityAttributedUserInputLabels(Foundation.NSAttributedString[])' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'System.Void Foundation.NSObject::set_AccessibilityUserInputLabels(System.String[])' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'System.Void UIKit.NSLayoutManagerDelegate::DidCompleteLayout(UIKit.NSLayoutManager,UIKit.NSTextContainer,System.Boolean)' is missing an [NullAllowed] on parameter #1
!missing-null-allowed! 'System.Void UIKit.NSMutableParagraphStyle::set_TabStops(UIKit.NSTextTab[])' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'System.Void UIKit.UIAccessibilityCustomAction::.ctor(System.String,Foundation.NSObject,ObjCRuntime.Selector)' is missing an [NullAllowed] on parameter #1
!missing-null-allowed! 'System.Void UIKit.UIAlertController::AddTextField(System.Action`1<UIKit.UITextField>)' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'System.Void UIKit.UIApplication::set_ScheduledLocalNotifications(UIKit.UILocalNotification[])' is missing an [NullAllowed] on parameter #0

Просмотреть файл

@ -825,8 +825,6 @@
!missing-selector! NSMutableAttributedString::fixAttributesInRange: not bound
!missing-selector! NSMutableFontCollection::exclusionDescriptors not bound
!missing-selector! NSMutableFontCollection::queryDescriptors not bound
!missing-selector! NSMutableParagraphStyle::textBlocks not bound
!missing-selector! NSMutableParagraphStyle::textLists not bound
!missing-selector! NSNib::instantiateNibWithOwner:topLevelObjects: not bound
!missing-selector! NSObject::accessibilityActionDescription: not bound
!missing-selector! NSObject::accessibilityArrayAttributeCount: not bound
@ -1496,7 +1494,6 @@
!missing-null-allowed! 'AppKit.NSWindow[] AppKit.NSWindow::get_ChildWindows()' is missing an [NullAllowed] on return type
!missing-null-allowed! 'AppKit.NSWindow[] AppKit.NSWindowDelegate::CustomWindowsToEnterFullScreen(AppKit.NSWindow)' is missing an [NullAllowed] on return type
!missing-null-allowed! 'AppKit.NSWindow[] AppKit.NSWindowDelegate::CustomWindowsToExitFullScreen(AppKit.NSWindow)' is missing an [NullAllowed] on return type
!missing-null-allowed! 'AppKit.NSWritingDirection AppKit.NSParagraphStyle::DefaultWritingDirection(System.String)' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'CoreGraphics.CGColorSpace AppKit.NSColorSpace::get_ColorSpace()' is missing an [NullAllowed] on return type
!missing-null-allowed! 'CoreGraphics.CGImage AppKit.NSBitmapImageRep::get_CGImage()' is missing an [NullAllowed] on return type
!missing-null-allowed! 'CoreGraphics.CGImage AppKit.NSImage::AsCGImage(CoreGraphics.CGRect&,AppKit.NSGraphicsContext,Foundation.NSDictionary)' is missing an [NullAllowed] on return type
@ -1959,7 +1956,6 @@
!missing-null-allowed! 'System.Void AppKit.NSMenuItemCell::set_MenuItem(AppKit.NSMenuItem)' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'System.Void AppKit.NSMutableFontCollection::SetExclusionDescriptors(AppKit.NSFontDescriptor[])' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'System.Void AppKit.NSMutableFontCollection::SetQueryDescriptors(AppKit.NSFontDescriptor[])' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'System.Void AppKit.NSMutableParagraphStyle::set_TabStops(AppKit.NSTextTab[])' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'System.Void AppKit.NSNib::.ctor(Foundation.NSData,Foundation.NSBundle)' is missing an [NullAllowed] on parameter #1
!missing-null-allowed! 'System.Void AppKit.NSObjectController::.ctor(Foundation.NSObject)' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'System.Void AppKit.NSObjectController::Add(Foundation.NSObject)' is missing an [NullAllowed] on parameter #0

Просмотреть файл

@ -190,7 +190,6 @@
!missing-null-allowed! 'Foundation.NSString UIKit.UITableViewHeaderFooterView::get_ReuseIdentifier()' is missing an [NullAllowed] on return type
!missing-null-allowed! 'Foundation.NSUndoManager UIKit.UIResponder::get_UndoManager()' is missing an [NullAllowed] on return type
!missing-null-allowed! 'Foundation.NSUuid UIKit.UIDevice::get_IdentifierForVendor()' is missing an [NullAllowed] on return type
!missing-null-allowed! 'Foundation.NSWritingDirection UIKit.NSParagraphStyle::GetDefaultWritingDirection(System.String)' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'ObjCRuntime.Class UIKit.UIStateRestoring::get_ObjectRestorationClass()' is missing an [NullAllowed] on return type
!missing-null-allowed! 'System.Boolean UIKit.UIApplicationDelegate::FinishedLaunching(UIKit.UIApplication,Foundation.NSDictionary)' is missing an [NullAllowed] on parameter #1
!missing-null-allowed! 'System.Boolean UIKit.UIApplicationDelegate::WillFinishLaunching(UIKit.UIApplication,Foundation.NSDictionary)' is missing an [NullAllowed] on parameter #1
@ -225,7 +224,6 @@
!missing-null-allowed! 'System.Void Foundation.NSObject::set_AccessibilityAttributedUserInputLabels(Foundation.NSAttributedString[])' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'System.Void Foundation.NSObject::set_AccessibilityUserInputLabels(System.String[])' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'System.Void UIKit.NSLayoutManagerDelegate::DidCompleteLayout(UIKit.NSLayoutManager,UIKit.NSTextContainer,System.Boolean)' is missing an [NullAllowed] on parameter #1
!missing-null-allowed! 'System.Void UIKit.NSMutableParagraphStyle::set_TabStops(UIKit.NSTextTab[])' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'System.Void UIKit.UIAccessibilityCustomAction::.ctor(System.String,Foundation.NSObject,ObjCRuntime.Selector)' is missing an [NullAllowed] on parameter #1
!missing-null-allowed! 'System.Void UIKit.UIAlertController::AddTextField(System.Action`1<UIKit.UITextField>)' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'System.Void UIKit.UIApplicationDelegate::HandleWatchKitExtensionRequest(UIKit.UIApplication,Foundation.NSDictionary,System.Action`1<Foundation.NSDictionary>)' is missing an [NullAllowed] on parameter #1

Просмотреть файл

@ -49,8 +49,6 @@
!missing-null-allowed! 'Foundation.NSData Foundation.NSAttributedString::GetDataFromRange(Foundation.NSRange,Foundation.NSDictionary,Foundation.NSError&)' is missing an [NullAllowed] on return type
!missing-null-allowed! 'Foundation.NSFileWrapper Foundation.NSAttributedString::GetFileWrapperFromRange(Foundation.NSRange,Foundation.NSDictionary,Foundation.NSError&)' is missing an [NullAllowed] on return type
!missing-null-allowed! 'Foundation.NSObject UIKit.UIFontDescriptor::GetObject(Foundation.NSString)' is missing an [NullAllowed] on return type
!missing-null-allowed! 'Foundation.NSWritingDirection UIKit.NSParagraphStyle::GetDefaultWritingDirection(System.String)' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'System.Void UIKit.NSMutableParagraphStyle::set_TabStops(UIKit.NSTextTab[])' is missing an [NullAllowed] on parameter #0
!missing-null-allowed! 'UIKit.UIFontDescriptor UIKit.UIFontDescriptor::CreateWithTraits(UIKit.UIFontDescriptorSymbolicTraits)' is missing an [NullAllowed] on return type
!missing-null-allowed! 'UIKit.UIImage UIKit.UIImage::CreateAnimatedImage(System.String,System.Double)' is missing an [NullAllowed] on return type
!missing-null-allowed! 'UIKit.UIImage UIKit.UIImage::CreateAnimatedImage(System.String,UIKit.UIEdgeInsets,System.Double)' is missing an [NullAllowed] on return type