* Enable nullability and fix code accordingly.
* Use 'is' and 'is not' instead of '==' and '!=' for object identity.
* Use 'nameof (parameter)' instaed of string constants.
Add a new DisposableObject class, which is a new base class below
NativeObject, to be used for types that aren't reference counted, but still
disposable. NativeObject is now implemented on top of this type, adding
support for reference counting.
Also change several type to use DisposableObject as their base type, which
makes it possible to share a lot more code and delete a good chunk of
duplicated code.
Depending on the metadata order the symbol will be reported against a
different framework and cause false positives.
Re-using one of the declaration solves this - even if they should,
ideally, be moved to a separated/shared type (like one per fx)
Fixes https://github.com/xamarin/maccore/issues/638
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
Beside eliminating a bit of code duplication this solve the random
(metadata order) xtro report
> ?unknown-entry? !unknown-pinvoke! close bound in 'macOS-ObjCRuntime.ignore'
because it was reported against two namespaces and we don't check
for duplicate p/invokes (largely because there's tons of them in
OpenTK)
Fixes https://github.com/xamarin/maccore/issues/602
* [Darwin] Fix kqueue/kevent bindings to actually work.
Fix kqueue/kevent bindings to actually work. The P/Invoke signatures were
badly broken (missing an argument), so there's no way this could ever have
worked.
Additionally obsoletes kevent signatures that return bool (they're ignoring
vital information: how many events were actually returned from kevent), and
add overloads that do the right thing.
* [Darwin] Improve input validation and add more tests.