xamarin-macios/tools/common
Rolf Bjarne Kvinge 9c2010e440
[registrar] Register models in the static registrar. (#3386)
* [registrar] Register models in the static registrar.

This also means we need to quiet a few types of warnings:.

* Models declares virtual methods of required protocol members. We don't
  export virtual methods (only when they're overridden are they exported),
  which results in numerous warnings about protocol members not being
  implemented:

        Xamarin.Mac.registrar.mobile.x86_64.m:37827:17: warning: method 'deviceBrowserView:selectionDidChange:' in protocol 'IKDeviceBrowserViewDelegate' not implemented [-Wprotocol]
        @implementation ImageKit_IKDeviceBrowserView__IKDeviceBrowserViewDelegate {
                        ^
        /Applications/Xcode92.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Quartz.framework/Frameworks/ImageKit.framework/Headers/IKDeviceBrowserView.h:29:1: note: method 'deviceBrowserView:selectionDidChange:' declared here
        - (void)deviceBrowserView: (IKDeviceBrowserView *)deviceBrowserView selectionDidChange: (ICDevice *)device;

* These two are the same as above, just for properties instead of methods.

        Xamarin.Mac.registrar.mobile.x86_64.m:31988:17: warning: auto property synthesis will not synthesize property 'boundingMapRect' declared in protocol 'MKOverlay' [-Wobjc-protocol-property-synthesis]
        @implementation MKOverlay {
                        ^
        /Applications/Xcode92.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKOverlay.h:24:43: note: property declared here
        @property (nonatomic, readonly) MKMapRect boundingMapRect;
                                                  ^
        Xamarin.Mac.registrar.mobile.x86_64.m:32002:1: note: add a '@synthesize' directive
        @end
        ^

        Xamarin.Mac.registrar.mobile.i386.m:28957:17: warning: property 'repeatCount' requires method 'repeatCount' to be defined - use @synthesize, @dynamic or provide a method implementation in this class implementation [-Wobjc-property-implementation]
        @implementation CAMediaTiming {
                        ^
        /Applications/Xcode92.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAMediaTiming.h:58:17: note: property declared here
        @property float repeatCount;
                ^

* [AVFoundation] Special-case AVCaptureDataOutputSynchronizer[Delegate] in the registrar for macOS.

This class and protocol were incorrectly added to our macOS bindings, but
since we can't remove them because it would break backwards compatibility, we
must skip them manually in the registrar, since the registrar would otherwise
produce uncompilable code:

    In file included from Xamarin.Mac.registrar.full.x86_64.m:2:
    ./Xamarin.Mac.registrar.full.x86_64.h:2929:63: error: 'AVCaptureDataOutputSynchronizerDelegate' is unavailable: not available on macOS
    @interface AVCaptureDataOutputSynchronizerDelegate : NSObject<AVCaptureDataOutputSynchronizerDelegate> {
                                                                  ^
    /Applications/Xcode92.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDataOutputSynchronizer.h:101:11: note: 'AVCaptureDataOutputSynchronizerDelegate' has been explicitly marked unavailable here
    @protocol AVCaptureDataOutputSynchronizerDelegate <NSObject>
              ^
    In file included from Xamarin.Mac.registrar.mobile.x86_64.m:2:
    ./Xamarin.Mac.registrar.mobile.x86_64.h:3370:63: error: 'AVCaptureDataOutputSynchronizerDelegate' is unavailable: not available on macOS
    @interface AVCaptureDataOutputSynchronizerDelegate : NSObject<AVCaptureDataOutputSynchronizerDelegate> {

* [AVFoundation] Stub out AVCaptureDataOutputSynchronizer[Delegate] on macOS.

AVCaptureDataOutputSynchronizer[Delegate] were incorrectly added to our macOS
bindings, which makes the static registrar's life difficult. So remove those
bindings, and re-implemented them as normal classes, without any attributes,
which makes the static registrar ignore them (to a certain extent: enough to
not generate uncompilable code at least).

* [registrar] Remove more model exclusion code.

* [xtro] Update ignored entries.
2018-02-05 22:19:34 +01:00
..
Application.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
Assembly.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
BuildTasks.cs [mtouch] Add support for creating a dot file of the build tree. 2017-02-10 14:46:30 +01:00
CompilerFlags.cs Merge latest d15-3 fixes into xcode9 (#2660) 2017-09-12 13:08:55 -04:00
CoreResolver.cs [Mmp] Allow multiple assemblies to be passed to generate the registrar (#3129) 2018-01-25 19:57:44 -05:00
DerivedLinkContext.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
Driver.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
Frameworks.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
MachO.cs Merge xcode9 into d15-4[-xi] (#2710) 2017-09-15 17:53:16 -04:00
Make.common Move MT0091 to common code so Xamarin.Mac can benefit from the more f… (#2780) 2017-09-29 12:45:53 -05:00
Optimizations.cs [mtouch/mmp] Give users more control over optimizations, and share more code between mtouch and mmp. (#3242) 2018-01-23 11:33:48 +01:00
PInvokeWrapperGenerator.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
SdkVersions.cs.in Move MT0091 to common code so Xamarin.Mac can benefit from the more f… (#2780) 2017-09-29 12:45:53 -05:00
StaticRegistrar.cs [registrar] Register models in the static registrar. (#3386) 2018-02-05 22:19:34 +01:00
StringUtils.cs [mtouch][mmp] Allow the use of major-only version numbers in arguments. Fixes #60280 (#3029) 2017-11-23 11:16:30 -05:00
Symbols.cs [mmp] Fix symbol name for 32-bit Objective-C classes. Fixes #58861. (#2506) 2017-08-24 09:42:08 +02:00
Target.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
TargetFramework.cs [generator] Don't define 'GENERATOR', since IKVM sources use the same name (for something else). (#1811) 2017-03-02 07:13:10 +01:00
cache.cs Merge Quote methods into a single class instead of multiple versions (#2153) 2017-06-06 12:32:25 -08:00