You were the preprocessor we wished C# had natively
Removing PMCS requires these changes:
* Remove XamCore from src/
* Remove XamCore from tools/
* Remove XamCore from runtime/
* nint/nuint enum conversion
* _compat_ enum conversion
* NSAction conversion
* Hand fix single API incorrectly converted by PMCS to unbreak compatibility
- Due to a bug in PMCS, the nuint was incorrectly converted in this API.
- However, as that ship as sailed, we must "fix" it until XAMCORE_4_0
* Update readme
* Bump macios-binaries
There are a number of availability constructs that were uncommon enough / difficult to handle in the generator update or dead simple enough to change.
Some of them include:
- Multiple platforms |'ed into one Availability attributes.
- 32-bit arch Availability attributes were really uncommon and hand processing allowed
them to be skipped completely
- Convert Since, MavericksAttribute/MountainLionAttribute/LionAttribute, and a bunch of Availability (Introduced) to short forms like [Mac] and [iOS].
I also had to patch PMCS to correctly handle PlatformArchitecture arguments, which is ironic because a PR soon after this will delete all of that code.
Remove EAWiFiUnconfiguredAccessoryBrowser from the tvOS API,
because it's unusable (no way to create instances, no static methods,
not even any usable instance methods).
reference:
!extra-designated-initializer! EAWiFiUnconfiguredAccessoryBrowser::initWithDelegate:queue: is incorrectly decorated with an [DesignatedInitializer] attribute