Skip to content

Conversation

@rolfbjarne
Copy link
Member

  • 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.
  • Use the 'Runtime.GetNSObject (IntPtr, bool)' overload to specify handle
    ownership, to avoid having to call NSObject.DangerousReleaes manually later.

* 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.
* Use the 'Runtime.GetNSObject<T> (IntPtr, bool)' overload to specify handle
  ownership, to avoid having to call NSObject.DangerousReleaes manually later.
@rolfbjarne rolfbjarne added the not-notes-worthy Ignore for release notes label Oct 28, 2021
@vs-mobiletools-engineering-service2
Copy link
Collaborator

❌ [PR Build] Tests failed on Build ❌

Tests failed on Build.

API diff

✅ API Diff from stable

View API diff
View dotnet API diff
View dotnet legacy API diff
View dotnet iOS-MacCatalayst API diff

GitHub pages

Results can be found in the following github pages (it might take some time to publish):

Test results

4 tests failed, 95 tests passed.

Failed tests

  • monotouch-test/Mac [dotnet]/Debug [dotnet]: BuildFailure
  • xammac tests/Mac Modern/Debug: BuildFailure
  • xammac tests/Mac Modern/Release: BuildFailure
  • xammac tests/Mac Modern/Release (all optimizations): BuildFailure

Pipeline on Agent XAMBOT-1099.BigSur'
Merge 712ba47 into 15232eb

@vs-mobiletools-engineering-service2
Copy link
Collaborator

❌ [PR Build] Tests failed on Build ❌

Tests failed on Build.

API diff

✅ API Diff from stable

View API diff
View dotnet API diff
View dotnet legacy API diff
View dotnet iOS-MacCatalayst API diff

API & Generator diff

ℹ️ API Diff (from PR only) (please review changes)
Generator Diff (only version changes)

GitHub pages

Results can be found in the following github pages (it might take some time to publish):

Test results

2 tests failed, 97 tests passed.

Failed tests

  • introspection/Mac Catalyst [dotnet]/Debug [dotnet]: TimedOut (Execution timed out after 1200 seconds.
    No test log file was produced)
  • link all/Mac Catalyst [dotnet]/Debug [dotnet]: Failed (Test run crashed (exit code: 134).
    Tests run: 90 Passed: 79 Inconclusive: 0 Failed: 0 Ignored: 11)

Pipeline on Agent XAMBOT-1101.BigSur'
Merge 6bcc33a into f0b72a0

@rolfbjarne
Copy link
Member Author

Test failures are unrelated

@rolfbjarne rolfbjarne merged commit 111c6fc into dotnet:main Oct 29, 2021
@rolfbjarne rolfbjarne deleted the nativeobject-searchkit branch October 29, 2021 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

not-notes-worthy Ignore for release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants