[UIKit] Enable nullability and clean up UIGuidedAccessRestriction.#24671
Conversation
This is file 12 of 30 files with nullability disabled in UIKit. * Enable nullability (#nullable enable). * Remove redundant [SupportedOSPlatform] attributes (groups of 3 without version numbers and no [UnsupportedOSPlatform] or [ObsoletedOSPlatform] attributes). * Use ArgumentNullException.ThrowIfNull() instead of manual null checks. * Add nullable annotations (NSError?). * Improve XML documentation comments: remove 'To be added.' placeholders, remove empty remarks, reorder XML elements, fix whitespace, add missing docs, simplify 'see cref' references. Contributes towards #17285.
There was a problem hiding this comment.
Pull request overview
Enables nullable reference types for UIGuidedAccessRestriction in UIKit and updates the API surface/docs accordingly as part of the broader UIKit nullability migration.
Changes:
- Opt the file into NRT (
#nullable enable) and update nullable annotations (notablyNSError?). - Replace manual null checks with
ArgumentNullException.ThrowIfNull. - Clean up and modernize XML documentation (remove placeholders/empty remarks, reorganize elements).
Comments suppressed due to low confidence (1)
src/UIKit/UIGuidedAccessRestriction.cs:35
GetStateis in a#nullable enablefile and takes a non-nullablestring restrictionIdentifier, but it doesn't validate the argument before passing it toNSString.CreateNative. AddArgumentNullException.ThrowIfNull (restrictionIdentifier);(or make the parameter nullable if null is intended) so the API behavior matches the annotated contract and fails fast with a clear exception.
public static UIGuidedAccessRestrictionState GetState (string restrictionIdentifier)
{
IntPtr p = NSString.CreateNative (restrictionIdentifier);
var result = UIGuidedAccessRestrictionStateForIdentifier (p);
✅ [CI Build #3cd1b97] Build passed (Build packages) ✅Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
✅ [CI Build #3cd1b97] Build passed (Build macOS tests) ✅Pipeline on Agent |
💻 [CI Build #3cd1b97] Tests on macOS M1 - Mac Monterey (12) passed 💻✅ All tests on macOS M1 - Mac Monterey (12) passed. Pipeline on Agent |
💻 [CI Build #3cd1b97] Tests on macOS arm64 - Mac Sequoia (15) passed 💻✅ All tests on macOS arm64 - Mac Sequoia (15) passed. Pipeline on Agent |
💻 [CI Build #3cd1b97] Tests on macOS M1 - Mac Ventura (13) passed 💻✅ All tests on macOS M1 - Mac Ventura (13) passed. Pipeline on Agent |
💻 [CI Build #3cd1b97] Tests on macOS X64 - Mac Sonoma (14) passed 💻✅ All tests on macOS X64 - Mac Sonoma (14) passed. Pipeline on Agent |
💻 [CI Build #3cd1b97] Tests on macOS arm64 - Mac Tahoe (26) passed 💻✅ All tests on macOS arm64 - Mac Tahoe (26) passed. Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
✅ [PR Build #3cd1b97] Build passed (Detect API changes) ✅Pipeline on Agent |
🚀 [CI Build #3cd1b97] Test results 🚀Test results✅ All tests passed on VSTS: test results. 🎉 All 117 tests passed 🎉 Tests counts✅ cecil: All 1 tests passed. Html Report (VSDrops) Download Pipeline on Agent |
✅ API diff for current PR / commitNET (empty diffs)✅ API diff vs stableNET (empty diffs)ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
This is file 12 of 30 files with nullability disabled in UIKit.
Contributes towards #17285.