-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[NET10] Make IPlatformMeasureInvalidationController public #31133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
IPlatformMeasureInvalidationController
public
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
@copilot the public api txt files do not seem correct, see build error: src\Core\src\Platform\iOS\IPlatformMeasureInvalidationController.cs(6,18): Error RS0016: Symbol 'Microsoft.Maui.Platform.IPlatformMeasureInvalidationController' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md) |
Fixed the PublicAPI files by adding the missing interface declaration. The issue was that I had added the interface methods but forgot to add the interface declaration itself. Added |
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR makes the IPlatformMeasureInvalidationController
interface public for .NET 10, allowing external developers to implement custom measure invalidation behavior in iOS applications. The change addresses the need for developers to control how layout invalidation propagates through the view hierarchy.
- Make
IPlatformMeasureInvalidationController
interface public with comprehensive XML documentation - Add the interface and its methods to PublicAPI.Unshipped.txt files for iOS and Mac Catalyst platforms
- Add comprehensive unit tests demonstrating proper interface implementation patterns
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
File | Description |
---|---|
src/Core/src/Platform/iOS/IPlatformMeasureInvalidationController.cs |
Changes interface visibility from internal to public and adds comprehensive XML documentation |
src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt |
Registers the new public interface and its methods for iOS platform |
src/Core/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt |
Registers the new public interface and its methods for Mac Catalyst platform |
src/Core/tests/UnitTests/Platform/IPlatformMeasureInvalidationControllerTests.cs |
Adds unit tests validating interface implementation and method behavior |
src/Core/tests/UnitTests/Platform/IPlatformMeasureInvalidationControllerTests.cs
Outdated
Show resolved
Hide resolved
0e1f6f6
to
1bc78a2
Compare
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Errors is publicAPIs, could you review?
C:\a\_work\1\s\src\Core\src\PublicAPI\net-maccatalyst\PublicAPI.Unshipped.txt(233,1): error RS0025: The symbol 'virtual Microsoft.Maui.Animations.Lerp.LerpDelegate.Invoke(object! start, object! end, double progress) -> object!' appears more than once in the public API files (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md) [C:\a\_work\1\s\src\Core\src\Core.csproj::TargetFramework=net10.0-maccatalyst18.5]
C:\a\_work\1\s\src\Core\src\PublicAPI\net-ios\PublicAPI.Unshipped.txt(230,1): error RS0025: The symbol 'virtual Microsoft.Maui.Animations.Lerp.LerpDelegate.Invoke(object! start, object! end, double progress) -> object!' appears more than once in the public API files (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md) [C:\a\_work\1\s\src\Core\src\Core.csproj::TargetFramework=net10.0-ios18.5]
2 Error(s)
/rebase |
@copilot fix this please /Users/builder/azdo/_work/2/s/src/Core/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt(233,1): error RS0025: The symbol 'virtual Microsoft.Maui.Animations.Lerp.LerpDelegate.Invoke(object! start, object! end, double progress) -> object!' appears more than once in the public API files (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md) [/Users/builder/azdo/_work/2/s/src/Core/src/Core.csproj::TargetFramework=net10.0-maccatalyst18.5] Build FAILED. /Users/builder/azdo/_work/2/s/src/Core/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt(233,1): error RS0025: The symbol 'virtual Microsoft.Maui.Animations.Lerp.LerpDelegate.Invoke(object! start, object! end, double progress) -> object!' appears more than once in the public API files (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md) [/Users/builder/azdo/_work/2/s/src/Core/src/Core.csproj::TargetFramework=net10.0-maccatalyst18.5] |
Azure Pipelines successfully started running 3 pipeline(s). |
@copilot /Users/builder/azdo/_work/3/s/src/Core/src/Converters/SafeAreaEdgesTypeConverter.cs(11,15): error RS0016: Symbol 'Microsoft.Maui.Converters.SafeAreaEdgesTypeConverter' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md) [/Users/builder/azdo/_work/3/s/src/Core/src/Core.csproj::TargetFramework=net10.0-ios18.5] |
…ration Co-authored-by: PureWeen <5375137+PureWeen@users.noreply.github.com>
Fixed the PublicAPI error by removing the BOM (Byte Order Mark) character from the SafeAreaEdgesTypeConverter declaration in the net-ios PublicAPI.Unshipped.txt file. The BOM character was preventing the analyzer from correctly recognizing the symbol. Commit: 66e9cce |
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot delete this file
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Deleted the IPlatformMeasureInvalidationControllerTests.cs file as requested. Build verified successfully after removal. Commit: df32577
Co-authored-by: PureWeen <5375137+PureWeen@users.noreply.github.com>
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
Latest Fix: Removed the IPlatformMeasureInvalidationControllerTests.cs test file as requested by the reviewer. The interface is now correctly declared as public API with all its methods properly documented and no test file conflicts.
The interface is now correctly declared as public API with all its methods properly documented and all analyzer errors resolved.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.