* Subclass NativeObject to reuse object lifetime code.
* Enable nullability and fix code accordingly.
* Use 'is' and 'is not' instead of '==' and '!=' for object identity.
* Use CFString.CreateNative/ReleaseNative instead of other means to create
native strings (the fastest and least memory hungry option).
* Use the null-safe NativeObjectExtensions.GetHandle extension method to get
the handle instead of checking for null (avoids some code duplication).
* Use 'nameof (parameter)' instead of string constants.
* Call 'GetCheckedHandle ()' (which will throw an ObjectDisposedException if
Handle == IntPtr.Zero) instead of manually checking for IntPtr.Zero and
throwing ObjectDisposedException.
* Simplify block creation code a bit.
* Enable nullability and fix code accordingly.
* Use 'is' and 'is not' instead of '==' and '!=' for object identity.
* Use the null-safe NativeObjectExtensions.GetHandle extension method to get
the handle instead of checking for null (avoids some code duplication).
* Use 'nameof (parameter)' instead of string constants.
* Call 'GetCheckedHandle ()' (which will throw an ObjectDisposedException if
Handle == IntPtr.Zero) instead of manually checking for IntPtr.Zero and
throwing ObjectDisposedException.
* Simplify block code to not need to be unsafe.
* Fix extraneous call to CFObject.CFRelease in the CopyBlackPixelBuffer method.
* Subclass NativeObject to reuse object lifetime code.
* Enable nullability and fix code accordingly.
* Use 'is' and 'is not' instead of '==' and '!=' for object identity.
* Use the null-safe NativeObjectExtensions.GetHandle extension method to get
the handle instead of checking for null (avoids some code duplication).
* Use 'nameof (parameter)' instead of string constants.
* Subclass NativeObject to reuse object lifetime code.
* Enable nullability and fix code accordingly.
* Use 'is' and 'is not' instead of '==' and '!=' for object identity.
* Use the null-safe NativeObjectExtensions.GetHandle extension method to get
the handle instead of checking for null (avoids some code duplication).
* Use 'nameof (parameter)' instead of string constants.
* Use the 'Runtime.GetNSObject<T> (IntPtr, bool)' overload to specify handle
ownership, to avoid having to call NSObject.DangerousReleaes manually later.
* Fix handling of return value from VTSessionCopySerializableProperties: we
own it, and must thus release it.
* Subclass NativeObject to reuse object lifetime code.
* Enable nullability and fix code accordingly.
* Use the null-safe NativeObjectExtensions.GetHandle extension method to get
the handle instead of checking for null (avoids some code duplication).
Microsoft.Dotnet.Sdk.Internal
From Version 6.0.100-rtm.21518.6 -> To Version 6.0.100-rtm.21518.63
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* Subclass NativeObject to reuse object lifetime code.
* Enable nullability and fix code accordingly.
* Use 'is' and 'is not' instead of '==' and '!=' for object identity.
* Remove the (IntPtr) constructor and add a (IntPtr, bool) constructor to
follow our NativeObject pattern.
* Make the 'customAllocator' field private, it's not accessed from outside
this class.
* Use 'nameof (parameter)' instead of string constants.
* Call 'GetCheckedHandle ()' (which will throw an ObjectDisposedException if
Handle == IntPtr.Zero) instead of manually checking for IntPtr.Zero and
throwing ObjectDisposedException.
* Use the null-safe NativeObjectExtensions.GetHandle extension method to get
the handle instead of checking for null (avoids some code duplication).
* Subclass NativeObject to reuse object lifetime code.
* Enable nullability and fix code accordingly.
* Use 'is' and 'is not' instead of '==' and '!=' for object identity.
* Use CFString.CreateNative/ReleaseNative instead of other means to create
native strings (the fastest and least memory hungry option).
* Use the null-safe NativeObjectExtensions.GetHandle extension method to get
the handle instead of checking for null (avoids some code duplication).
* Enable nullability and fix code accordingly.
* Use 'is' and 'is not' instead of '==' and '!=' for object identity.
* Use CFString.CreateNative/ReleaseNative instead of other means to create
native strings (the fastest and least memory hungry option).
* Subclass NativeObject to reuse object lifetime code.
* Enable nullability and fix code accordingly.
* Use 'is' and 'is not' instead of '==' and '!=' for object identity.
* Use CFString.CreateNative/ReleaseNative instead of other means to create
native strings (the fastest and least memory hungry option).
* Use the null-safe NativeObjectExtensions.GetHandle extension method to get
the handle instead of checking for null (avoids some code duplication).
* Remove the (IntPtr) constructor and add a (IntPtr, bool) constructor to
follow our NativeObject pattern.
* Use 'nameof (parameter)' instead of string constants.
* Call 'GetCheckedHandle ()' (which will throw an ObjectDisposedException if
Handle == IntPtr.Zero) instead of manually checking for IntPtr.Zero and
throwing ObjectDisposedException.
* Add a CFArray.StringArrayFromHandle overload that will release the handle if
requested, which makes it possible to simplify callers.
* Subclass NativeObject to reuse object lifetime code.
* Enable nullability and fix code accordingly.
* Make the (IntPtr) obsolete (remove for XAMCORE_4_0), and point to the
(IntPtr, bool) constructor instead.
Microsoft.Dotnet.Sdk.Internal
From Version 6.0.100-rtm.21516.10 -> To Version 6.0.100-rtm.21518.6
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* Add explicit casts to/from IntPtr and other specific types in a few places
to avoid relying on implicit conversions (which aren't the same between C#'s
nint/nuint and our System.nint/nuint types).
* Add Dlfcn.[Get|Set]UIntPtr to match the signed versions (for nuint).
1. We're not using Mono for macOS in .NET.
2. Even if we were, we're not using a system mono anymore, which means we can't run
into unexpected mono versions at runtime.
Add nullability attributes to the Runtime class and fix the code accordingly.
This snowballed a bit, because it ended up requiring changes in multiple other
classes. While at it, I also updated the code to:
* Use 'is' and 'is not' instead of '==' and '!=' for object identity.
* Use CFString.CreateNative/ReleaseNative instead of other means to create
native strings (the fasets and least memory hungry option).
* Use 'nameof (parameter)' instead of string constants.
* Update dependencies from https://github.com/dotnet/installer build 20211014.1
Microsoft.Dotnet.Sdk.Internal
From Version 6.0.100-rtm.21512.45 -> To Version 6.0.100-rtm.21514.1
* Update dependencies from https://github.com/dotnet/installer build 20211014.70
Microsoft.Dotnet.Sdk.Internal
From Version 6.0.100-rtm.21512.45 -> To Version 6.0.100-rtm.21514.70
* Update dependencies from https://github.com/dotnet/installer build 20211016.9
Microsoft.Dotnet.Sdk.Internal
From Version 6.0.100-rtm.21512.45 -> To Version 6.0.100-rtm.21516.9
* Update dependencies from https://github.com/dotnet/installer build 20211016.10
Microsoft.Dotnet.Sdk.Internal
From Version 6.0.100-rtm.21512.45 -> To Version 6.0.100-rtm.21516.10
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* Don't execute .NET tests in the 'legacy' targets (it's wasteful because
we're already executing those .NET tests elsewhere).
* Fix reporting failures in the legacy tests.
This makes it easier to iterate over the platforms we're building for, because
we can use "macOS" to compute the variable names we're interested in (like we
already can for iOS, tvOS, watchOS and MacCatalyst).
* Subclass NativeObject to reuse object lifetime code.
* Merge the CGDataProvider-2.cs file into the CGDataProvider.cs file.
* Enable nullability and fix code accordingly.
* Use 'is' and 'is not' instead of '==' and '!=' for object identity.
Microsoft.Dotnet.Sdk.Internal
From Version 6.0.100-rtm.21512.4 -> To Version 6.0.100-rtm.21512.45
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>