xamarin-macios/tools/common
Rolf Bjarne Kvinge 430a5e7ebe
[registrar] Don't throw NRE when finding methods that almost implement optional protocol members. (#3658) (#3659)
If a class implements a protocol with optional members, and that class also exports methods whose selectors match an optional member, but the signature doesn't match, we must show a useful warning instead of erroring out due to a NullReferenceException.

Fixes this:

    System.NullReferenceException: Object reference not set to an instance of an object
      at Registrar.StaticRegistrar.GetBlockProxyAttributeMethod (Mono.Cecil.MethodDefinition method, System.Int32 parameter) [0x00001] in /Users/builder/data/lanes/1381/9de35b83/source/xamarin-macios/tools/common/StaticRegistrar.cs:4113
      at Registrar.StaticRegistrar.GetBlockWrapperCreator (Registrar.Registrar+ObjCMethod obj_method, System.Int32 parameter) [0x001e1] in /Users/builder/data/lanes/1381/9de35b83/source/xamarin-macios/tools/common/StaticRegistrar.cs:4101
      at Registrar.StaticRegistrar.Specialize (Registrar.AutoIndentStringBuilder sb, Registrar.Registrar+ObjCMethod method, System.Collections.Generic.List`1[T] exceptions) [0x0216b] in /Users/builder/data/lanes/1381/9de35b83/source/xamarin-macios/tools/common/StaticRegistrar.cs:3683

when building the msbuild/tests/MyWatchKit2IntentsExtension project.
2018-03-06 14:40:45 +01:00
..
Application.cs [MMP] Allow resolving assemblies to the ones passed in command line args (#3575) (#3651) 2018-03-05 12:29:52 -06: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 resolving assemblies to the ones passed in command line args (#3575) (#3651) 2018-03-05 12:29:52 -06:00
DerivedLinkContext.cs [linker] The static registrar may need information about types that have been linked away, so make sure we can get that information by storing it somewhere. 2018-02-14 01:26:58 +01:00
Driver.cs [mmp] Add stripping of 32-bit dylibs to work with new App Store restrictions (#3387) (#3633) 2018-03-02 14:33:27 +01:00
Frameworks.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
MachO.cs [mmp] Add stripping of 32-bit dylibs to work with new App Store restrictions (#3387) (#3633) 2018-03-02 14:33:27 +01: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 [static registrar] Optimize creation of delegates for blocks. (#3623) (#3644) 2018-03-05 07:41:28 +01:00
PInvokeWrapperGenerator.cs [mtouch/mmp] Fix tracking of whether the static registrar should run again or not. Fixes #641. (#3534) (#3536) 2018-02-20 11:43:23 +01: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] Don't throw NRE when finding methods that almost implement optional protocol members. (#3658) (#3659) 2018-03-06 14:40:45 +01:00
StringUtils.cs [mmp] Add stripping of 32-bit dylibs to work with new App Store restrictions (#3387) (#3633) 2018-03-02 14:33:27 +01: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 [mtouch] Find the link context for code shared app extensions in the static registrar. Fixes #3514. (#3545) (#3557) 2018-02-21 15:10:20 +01: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