| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
… dependencies - Add SecuritySharp.Analyzers and PerformanceSharp.Analyzers; bump StyleSharp.Analyzers to 3.38.1 (the three share one suite release) - Adapt the shared .editorconfig to the suite, keeping Splat's file header and the Platforms RS0041 exemption - Update NuGet packages to their latest compatible stable versions, obeying the per-TFM constraints in the packages file; hold Microsoft.ApplicationInsights at 2.23.0 (3.x removes PageViewTelemetry from Splat.ApplicationInsights' public API) - Fix every resulting analyzer finding across product and test code rather than suppressing it; add real assertions to no-assertion tests; save sources as UTF-8 without a BOM
There was a problem hiding this comment.
This PR updates the repo’s build/tooling by adopting the full StyleSharp/PerformanceSharp/SecuritySharp analyzer suite, refreshing analyzer configuration, bumping dependencies, and applying the resulting analyzer-driven fixes across product and test code.
Changes:
Copilot reviewed 264 out of 265 changed files in this pull request and generated 6 comments.
Show a summary per file Changed files| File | Description |
|---|---|
| src/tests/Splat.Tests/ServiceLocation/ResolverMixinsTests.cs | Analyzer-driven updates (static lambda, discard fluent result). |
| src/tests/Splat.Tests/ServiceLocation/NullServiceTypeTests.cs | Analyzer-driven updates (static lambdas). |
| src/tests/Splat.Tests/ServiceLocation/NestedResolutionProbe.cs | Tightened accessibility for test helper. |
| src/tests/Splat.Tests/ServiceLocation/ModernDependencyResolverTests.cs | Analyzer-driven updates (static lambdas). |
| src/tests/Splat.Tests/ServiceLocation/InstanceGenericFirst/InstanceGenericFirstDependencyResolverTests.cs | Analyzer-driven updates (static lambdas, using declarations). |
| src/tests/Splat.Tests/ServiceLocation/GlobalGenericFirst/RegistrationTests.cs | Analyzer-driven updates (static lambdas). |
| src/tests/Splat.Tests/ServiceLocation/GlobalGenericFirst/GlobalGenericFirstDependencyResolverTests.cs | Analyzer-driven updates (static lambdas, using declarations). |
| src/tests/Splat.Tests/ServiceLocation/GlobalGenericFirst/ContainerTests.cs | Analyzer-driven updates (static lambdas, discards). |
| src/tests/Splat.Tests/ServiceLocation/DependencyResolverMixinsTests.cs | Analyzer-driven updates (static lambdas, discard). |
| src/tests/Splat.Tests/ServiceLocation/Common/TypeCacheTests.cs | Adjusted test types/suppressions for new analyzers. |
| src/tests/Splat.Tests/ServiceLocation/AppLocatorTests.cs | Analyzer-driven updates (static lambdas, discards). |
| src/tests/Splat.Tests/RectEdgeTests.cs | Refactored constants/float literals for analyzers. |
| src/tests/Splat.Tests/ModeDetection/DefaultModeDetectorTests.cs | Refactored env-var constants/static lambdas; tightened assertions. |
| src/tests/Splat.Tests/AssemblyInfo.cs | UTF-8/BOM normalization. |
| src/tests/Splat.Tests/ApplicationPerformanceMonitoring/FuncFeatureUsageTrackingManagerCoverageTests.cs | Analyzer-driven updates (static lambdas). |
| src/tests/Splat.Tests/ApplicationPerformanceMonitoring/EnableFeatureUsageTrackingExtensionsCoverageTests.cs | Reduced string duplication; static lambdas. |
| src/tests/Splat.Tests/ApplicationPerformanceMonitoring/DefaultFeatureUsageTrackingSessionCoverageTests.cs | Analyzer-driven updates (static lambdas). |
| src/tests/Splat.SimpleInjector.Tests/DependencyResolverTests.cs | Disposal/analyzer-driven edits (contains await using issue). |
| src/tests/Splat.Serilog.Tests/SerilogSplatModuleCoverageTests.cs | Added using scope for resolver disposal. |
| src/tests/Splat.Serilog.Tests/SerilogLoggerTests.cs | Moved mappings into nested sink to satisfy analyzers. |
| src/tests/Splat.NLog.Tests/NLogLoggerTests.cs | Refactored mappings location/name; BOM normalization. |
| src/tests/Splat.NLog.Tests/NLogLoggerCoverageTests.cs | Refactored mappings location/name; static lambdas. |
| src/tests/Splat.NLog.Tests/MutableDependencyResolverExtensionsCoverageTests.cs | Added using scope for resolver disposal; static lambdas. |
| src/tests/Splat.Ninject.Tests/DependencyResolverTests.cs | Analyzer-driven discards/renames/static lambdas. |
| src/tests/Splat.Microsoft.Extensions.Logging.Tests/MicrosoftExtensionsLogProviderCoverageTests.cs | Reduced string duplication; renamed params for analyzers; static lambdas. |
| src/tests/Splat.Microsoft.Extensions.Logging.Tests/MicrosoftExtensionsLoggingLoggerTests.cs | Moved mappings into nested mock to satisfy analyzers; BOM normalization. |
| src/tests/Splat.Microsoft.Extensions.Logging.Tests/MicrosoftExtensionsLoggingExtensionsCoverageTests.cs | Added using scope for resolver disposal; discards. |
| src/tests/Splat.Microsoft.Extensions.DependencyInjection.Tests/ContainerWrapper.cs | Tightened accessibility of test helper members. |
| src/tests/Splat.Logging.Tests/WrappingPrefixLoggerCoverageTests.cs | Target-typed new() for exceptions. |
| src/tests/Splat.Logging.Tests/WrappingFullLoggers/ConsoleLoggerTests.cs | Logged caught exception to Debug to satisfy analyzer guidance. |
| src/tests/Splat.Logging.Tests/SplatLogManagerModuleCoverageTests.cs | Analyzer-driven updates (static lambdas). |
| src/tests/Splat.Logging.Tests/SplatLoggerModuleCoverageTests.cs | Analyzer-driven updates (static lambdas). |
| src/tests/Splat.Logging.Tests/NullLoggerTests.cs | Target-typed new() for exceptions. |
| src/tests/Splat.Logging.Tests/LogManagerTests.cs | Analyzer-driven updates (static lambdas). |
| src/tests/Splat.Logging.Tests/LogHostCoverageTests.cs | Static lambdas; adjusted assertions for analyzers. |
| src/tests/Splat.Logging.Tests/DebugLoggerTests.cs | Target-typed new() for exceptions. |
| src/tests/Splat.Logging.Tests/DebugLoggerCoverageTests.cs | Target-typed new() for exceptions. |
| src/tests/Splat.Logging.Tests/ActionLoggerCoverageTests.cs | Target-typed new() for exceptions. |
| src/tests/Splat.Log4Net.Tests/MutableDependencyResolverExtensionsCoverageTests.cs | Added using scope for resolver disposal; static lambdas. |
| src/tests/Splat.Exceptionless.Tests/MutableDependencyResolverExtensionsCoverageTests.cs | Added using scope for resolver disposal; static lambdas. |
| src/tests/Splat.Exceptionless.Tests/ExceptionlessViewTrackingCoverageTests.cs | Analyzer-driven updates (static lambdas). |
| src/tests/Splat.Exceptionless.Tests/ExceptionlessSplatModuleCoverageTests.cs | Analyzer-driven updates (static lambdas). |
| src/tests/Splat.Exceptionless.Tests/ExceptionlessLoggerTests.cs | Discarded return value; BOM normalization. |
| src/tests/Splat.Exceptionless.Tests/ExceptionlessFeatureUsageTrackingSessionTests.cs | BOM normalization. |
| src/tests/Splat.Exceptionless.Tests/ExceptionlessFeatureUsageTrackingSessionCoverageTests.cs | Analyzer-driven updates (static lambdas). |
| src/tests/Splat.Drawing.Tests/ServiceLocationDrawingInitializationExtensionsCoverageTests.cs | Updated assertion lambdas for analyzers. |
| src/tests/Splat.Drawing.Tests/PlatformBitmapLoaderTests.cs | Added suppression for conditionally-empty test type. |
| src/tests/Splat.Drawing.Tests/BitmapLoaderCoverageTests.cs | Static lambda update; simplified Stream type usage. |
| src/tests/Splat.Common.Test/ViewTwo.cs | BOM normalization. |
| src/tests/Splat.Common.Test/ViewThatShouldNotLoad.cs | BOM normalization. |
| src/tests/Splat.Common.Test/ViewOne.cs | BOM normalization. |
| src/tests/Splat.Common.Test/ViewModelTwo.cs | Added suppression for intentionally-empty type. |
| src/tests/Splat.Common.Test/ViewModelOne.cs | BOM normalization. |
| src/tests/Splat.Common.Test/TextLogger.cs | BOM normalization. |
| src/tests/Splat.Common.Test/PlatformModeDetectorScope.cs | Refactored tuple state to named fields for analyzers. |
| src/tests/Splat.Common.Test/ModeDetectorScope.cs | Refactored tuple state to named fields for analyzers. |
| src/tests/Splat.Common.Test/MockScreen.cs | BOM normalization. |
| src/tests/Splat.Common.Test/IViewModelOne.cs | Removed marker-interface suppression (suite migration). |
| src/tests/Splat.Common.Test/IViewFor{T}.cs | BOM normalization. |
| src/tests/Splat.Common.Test/IViewFor.cs | BOM normalization. |
| src/tests/Splat.Common.Test/IScreen.cs | BOM normalization; removed marker-interface suppression. |
| src/tests/Splat.Common.Test/InternalLocatorScope.cs | Tightened accessibility for helper property. |
| src/tests/Splat.Common.Test/IMockLogTarget.cs | BOM normalization. |
| src/tests/Splat.Common.Test/IDummyInterface.cs | BOM normalization; removed marker-interface suppression. |
| src/tests/Splat.Common.Test/FormatHelper.cs | BOM normalization. |
| src/tests/Splat.Common.Test/DummyObjectClass3.cs | BOM normalization. |
| src/tests/Splat.Common.Test/DummyObjectClass2.cs | BOM normalization. |
| src/tests/Splat.Common.Test/DummyObjectClass1.cs | BOM normalization. |
| src/tests/Splat.Common.Test/AppBuilderScope.cs | Refactored tuple state to named fields for analyzers. |
| src/tests/Splat.Builder.Tests/SplatBuilderExtensionsTests.cs | Analyzer-driven discards/static lambdas. |
| src/tests/Splat.Builder.Tests/AppBuilderTests.cs | Analyzer-driven discards/static lambdas. |
| src/tests/Splat.ApplicationInsights.Tests/ApplicationInsightsViewTrackingTests.cs | BOM normalization. |
| src/tests/Splat.ApplicationInsights.Tests/ApplicationInsightsFeatureUsageTrackingSessionTests.cs | BOM normalization. |
| src/Splat/TargetFrameworkExtensions.cs | BOM normalization. |
| src/Splat/ServiceLocation/ServiceLocationInitializationExtensions.cs | Static lambda for default registrations. |
| src/Splat/ServiceLocation/Locator.cs | Static lambda for resolver initializer hook. |
| src/Splat/ServiceLocation/FuncDependencyResolver.cs | Perf/analysis-driven updates (CollectionsMarshal, debug logging on caught exceptions, cleanup). |
| src/Splat/ModeDetection/ModeDetector.cs | BOM normalization. |
| src/Splat/ModeDetection/Mode.cs | BOM normalization. |
| src/Splat/ModeDetection/IModeDetector.cs | BOM normalization. |
| src/Splat/Maths/RectEdge.cs | BOM normalization. |
| src/Splat/Maths/RectangleMathExtensions.cs | Refactored Divide to switch expression; float literal casing. |
| src/Splat/Maths/PointMathExtensions.cs | Minor perf/readability refactor (constant reuse, float literal casing). |
| src/Splat/AssemblyFinder.cs | Tightened visibility; modern string interpolation; analyzer suppression migration. |
| src/Splat/ApplicationPerformanceMonitoring/IViewTracking.cs | BOM normalization. |
| src/Splat/ApplicationPerformanceMonitoring/IFeatureUsageTrackingSession{TReferenceType}.cs | BOM normalization. |
| src/Splat/ApplicationPerformanceMonitoring/IFeatureUsageTrackingSession.cs | BOM normalization. |
| src/Splat/ApplicationPerformanceMonitoring/IFeatureUsageTrackingManager.cs | BOM normalization. |
| src/Splat/ApplicationPerformanceMonitoring/IEnableFeatureUsageTracking.cs | Removed marker-interface suppression; BOM normalization. |
| src/Splat/ApplicationPerformanceMonitoring/FuncFeatureUsageTrackingManager.cs | BOM normalization. |
| src/Splat/ApplicationPerformanceMonitoring/EnableFeatureUsageTrackingExtensions.cs | Removed suppression; analyzer suite migration. |
| src/Splat/ApplicationPerformanceMonitoring/DefaultFeatureUsageTrackingSession.cs | Static lambda for log message factory. |
| src/Splat/ApplicationPerformanceMonitoring/DefaultFeatureUsageTrackingManager.cs | Static lambda for session factory. |
| src/Splat.SimpleInjector/TransientSimpleInjectorRegistration.cs | BOM normalization. |
| src/Splat.SimpleInjector/SplatSimpleInjectorExtensions.cs | BOM normalization. |
| src/Splat.SimpleInjector/SimpleInjectorDependencyResolver.cs | Analyzer-driven updates (static factory, generic API suppression migration, inferred generic calls). |
| src/Splat.Serilog/SerilogHelper.cs | Tightened accessibility of internal helpers. |
| src/Splat.Serilog/SerilogFullLogger.Warn.cs | NET8+ CompositeFormat path to satisfy performance analyzers. |
| src/Splat.Serilog/SerilogFullLogger.Info.cs | NET8+ CompositeFormat path to satisfy performance analyzers. |
| src/Splat.Serilog/SerilogFullLogger.Fatal.cs | NET8+ CompositeFormat path to satisfy performance analyzers. |
| src/Splat.Serilog/SerilogFullLogger.Error.cs | NET8+ CompositeFormat path to satisfy performance analyzers. |
| src/Splat.Serilog/SerilogFullLogger.cs | CompositeFormat caching; minor signature/parameter-name adjustments; suppression migration. |
| src/Splat.Serilog/PublicAPI/net8.0/PublicAPI.Shipped.txt | Updated tracked public API signature text. |
| src/Splat.Serilog/PublicAPI/net9.0/PublicAPI.Shipped.txt | Updated tracked public API signature text. |
| src/Splat.Serilog/PublicAPI/net10.0/PublicAPI.Shipped.txt | Updated tracked public API signature text. |
| src/Splat.Serilog/PublicAPI/net11.0/PublicAPI.Shipped.txt | Updated tracked public API signature text. |
| src/Splat.Serilog/PublicAPI/net462/PublicAPI.Shipped.txt | Updated tracked public API signature text. |
| src/Splat.Serilog/PublicAPI/net472/PublicAPI.Shipped.txt | Updated tracked public API signature text. |
| src/Splat.Serilog/PublicAPI/net481/PublicAPI.Shipped.txt | Updated tracked public API signature text. |
| src/Splat.Serilog/MutableDependencyResolverExtensions.cs | Doc example formatting; static lambda; analyzer-driven cleanup. |
| src/Splat.Raygun/RaygunFeatureUsageTrackingSession.cs | BOM normalization. |
| src/Splat.Prism/SplatContainerExtension.cs | Static lambda + static LINQ selector for analyzers. |
| src/Splat.NLog/NLogLogger.cs | Suppression migration; BOM normalization. |
| src/Splat.NLog/MutableDependencyResolverExtensions.cs | Doc example formatting; static lambda. |
| src/Splat.NLog/LogResolver.cs | Tightened visibility; static cache delegate. |
| src/Splat.Ninject/SplatNinjectExtensions.cs | BOM normalization. |
| src/Splat.Microsoft.Extensions.Logging/MsLoggingHelpers.cs | Tightened visibility; static selector lambdas. |
| src/Splat.Microsoft.Extensions.Logging/MicrosoftExtensionsLogProvider.cs | Removed redundant suppressions for unused field. |
| src/Splat.Microsoft.Extensions.Logging/MicrosoftExtensionsLoggingLogger.cs | BOM normalization. |
| src/Splat.Microsoft.Extensions.Logging/MicrosoftExtensionsLoggingExtensions.cs | Reordered/added extension blocks; doc example formatting; analyzer-driven cleanup. |
| src/Splat.Microsoft.Extensions.DependencyInjection/SplatMicrosoftExtensions.cs | BOM normalization. |
| src/Splat.Logging/StaticFullLogger.cs | Removed now-redundant suppression import/attribute. |
| src/Splat.Logging/NullLogger.cs | BOM normalization. |
| src/Splat.Logging/MemoizingMRUCache.cs | Minor refactor for analyzers; small loop write-style tweak. |
| src/Splat.Logging/LogManagerExtensions.cs | Suppression migration. |
| src/Splat.Logging/LogLevel.cs | BOM normalization. |
| src/Splat.Logging/LogHost.cs | BOM normalization. |
| src/Splat.Logging/LoggingException.cs | BOM normalization. |
| src/Splat.Logging/IStaticFullLogger.cs | Added/updated suppressions for new analyzer suite. |
| src/Splat.Logging/ILogManager.cs | BOM normalization. |
| src/Splat.Logging/ILogger.cs | BOM normalization. |
| src/Splat.Logging/IEnableLogger.cs | Removed marker-interface suppression; BOM normalization. |
| src/Splat.Logging/IAllocationFreeLogger.cs | Removed suppression now handled by suite config. |
| src/Splat.Logging/IAllocationFreeErrorLogger.cs | Removed suppression now handled by suite config. |
| src/Splat.Logging/FuncLogManager.cs | BOM normalization. |
| src/Splat.Logging/DefaultLogManager.cs | BOM normalization. |
| src/Splat.Logging/DebugLogger.cs | BOM normalization. |
| src/Splat.Logging/AllocationFreeLoggerBase.cs | Added suppression for abstract-without-abstract-members. |
| src/Splat.Logging/ActionLogger.cs | BOM normalization. |
| src/Splat.Log4Net/MutableDependencyResolverExtensions.cs | Doc example formatting; static lambda. |
| src/Splat.Log4Net/LogResolver.cs | Tightened visibility; static cache delegate. |
| src/Splat.Log4Net/Log4NetLogger.cs | BOM normalization. |
| src/Splat.Exceptionless/MutableDependencyResolverExtensions.cs | Doc example formatting; BOM normalization. |
| src/Splat.Exceptionless/ExceptionlessViewTracking.cs | BOM normalization. |
| src/Splat.Exceptionless/ExceptionlessSplatLogger.cs | BOM normalization. |
| src/Splat.Exceptionless/ExceptionlessFeatureUsageTrackingSession.cs | BOM normalization. |
| src/Splat.DryIoc/SplatDryIocExtensions.cs | BOM normalization. |
| src/Splat.Drawing/Platforms/TypeForwardedSystemDrawing.cs | BOM normalization. |
| src/Splat.Drawing/Platforms/ServiceLocationDrawingInitializationExtensions.cs | Platform bitmap-loader registration changed (contains behavioral regression). |
| src/Splat.Drawing/Platforms/netcoreapp3/Bitmaps/PlatformBitmapLoader.cs | BOM normalization. |
| src/Splat.Drawing/Platforms/netcoreapp3/Bitmaps/BitmapSourceBitmap.cs | BOM normalization. |
| src/Splat.Drawing/Platforms/net6/Maths/SizeExtensions.cs | Reordered extension blocks. |
| src/Splat.Drawing/Platforms/net6/Maths/RectExtensions.cs | Reordered extension blocks (contains doc-comment mismatch). |
| src/Splat.Drawing/Platforms/net6/Maths/PointExtensions.cs | Reordered extension blocks. |
| src/Splat.Drawing/Platforms/net6/Colors/SplatColorExtensions.cs | Reordered extension blocks. |
| src/Splat.Drawing/Platforms/net6/Colors/ColorExtensions.cs | Reordered extension blocks (contains doc-comment mismatch). |
| src/Splat.Drawing/Platforms/net6/Bitmaps/PlatformBitmapLoader.cs | Extracted constants for analyzers; minor refactor. |
| src/Splat.Drawing/Platforms/net6/Bitmaps/BitmapSourceBitmap.cs | Tightened accessibility; extracted constants. |
| src/Splat.Drawing/Platforms/net4/Maths/SizeExtensions.cs | Reordered extension blocks. |
| src/Splat.Drawing/Platforms/net4/Maths/RectExtensions.cs | Reordered extension blocks (contains doc-comment mismatch). |
| src/Splat.Drawing/Platforms/net4/Maths/PointExtensions.cs | Reordered extension blocks. |
| src/Splat.Drawing/Platforms/net4/Colors/SplatColorExtensions.cs | Reordered extension blocks. |
| src/Splat.Drawing/Platforms/net4/Colors/ColorExtensions.cs | Reordered extension blocks (contains doc-comment mismatch). |
| src/Splat.Drawing/Platforms/net4/Bitmaps/PlatformBitmapLoader.cs | Extracted constants for analyzers; minor refactor. |
| src/Splat.Drawing/Platforms/net4/Bitmaps/BitmapSourceBitmap.cs | Tightened accessibility; extracted constants; float literal casing. |
| src/Splat.Drawing/Platforms/Cocoa/Bitmaps/PlatformBitmapLoader.cs | BOM normalization. |
| src/Splat.Drawing/Platforms/Cocoa/Bitmaps/CocoaBitmap.cs | BOM normalization. |
| src/Splat.Drawing/Platforms/BindingFlags.cs | BOM normalization. |
| src/Splat.Drawing/Platforms/Android/Maths/RectExtensions.cs | Reordered extension blocks. |
| src/Splat.Drawing/Platforms/Android/Maths/PointExtensions.cs | Reordered extension blocks. |
| src/Splat.Drawing/Platforms/Android/Colors/SplatColorExtensions.cs | Reordered extension blocks. |
| src/Splat.Drawing/Platforms/Android/Colors/ColorExtensions.cs | Reordered extension blocks. |
| src/Splat.Drawing/Platforms/Android/Bitmaps/DrawableBitmap.cs | Volatile reads for disposed field access. |
| src/Splat.Drawing/Platforms/Android/Bitmaps/BitmapMixins.cs | Reordered extension blocks. |
| src/Splat.Drawing/Platforms/Android/Bitmaps/AndroidBitmap.cs | Volatile reads + local capture for thread-safety analyzers. |
| src/Splat.Drawing/DefaultPlatformModeDetector.cs | Variable renames for analyzers. |
| src/Splat.Drawing/Colors/SplatColor.KnownColors.cs | BOM normalization. |
| src/Splat.Drawing/Colors/KnownColor.cs | Updated enum XML docs for analyzers. |
| src/Splat.Drawing/Bitmaps/IBitmapLoader.cs | BOM normalization. |
| src/Splat.Drawing/Bitmaps/IBitmap.cs | BOM normalization. |
| src/Splat.Drawing/Bitmaps/CompressedBitmapFormat.cs | BOM normalization. |
| src/Splat.Drawing/Bitmaps/BitmapLoaderException.cs | BOM normalization. |
| src/Splat.Drawing/Bitmaps/BitmapLoader.cs | BOM normalization. |
| src/Splat.Core/ServiceLocation/ResolverMixins.cs | Static lambdas; suppression migration. |
| src/Splat.Core/ServiceLocation/NullServiceType.cs | BOM normalization. |
| src/Splat.Core/ServiceLocation/IServiceLocator.cs | Suppression migration. |
| src/Splat.Core/ServiceLocation/IReadonlyDependencyResolver.cs | Suppression migration; BOM normalization. |
| src/Splat.Core/ServiceLocation/InternalLocator.cs | Tightened accessibility; volatile/read changes for analyzers. |
| src/Splat.Core/ServiceLocation/InstanceGenericFirst/ResolverState.cs | Tightened accessibility for internal-only members. |
| src/Splat.Core/ServiceLocation/InstanceGenericFirst/ContainerCache.cs | Tightened accessibility; ^1 indexing; analyzers. |
| src/Splat.Core/ServiceLocation/IMutableDependencyResolver.cs | Suppression migration; BOM normalization. |
| src/Splat.Core/ServiceLocation/IDependencyResolver.cs | BOM normalization. |
| src/Splat.Core/ServiceLocation/GlobalGenericFirst/Container.cs | Tightened accessibility; ^1 indexing; analyzers. |
| src/Splat.Core/ServiceLocation/Common/TypeCache.cs | Tightened accessibility. |
| src/Splat.Core/ServiceLocation/Common/Registration.cs | Tightened accessibility for internal helper struct/methods. |
| src/Splat.Core/ServiceLocation/AppLocator.cs | Static lambda default; suppression migration. |
| src/Splat.Core/IAppInstance.cs | BOM normalization. |
| src/Splat.Core/IAppBuilder.cs | BOM normalization. |
| src/Splat.Builder/AppBuilder.cs | Static lambdas; discard unused fluent return; analyzers. |
| src/Splat.Autofac/SplatAutofacExtensions.cs | BOM normalization. |
| src/Splat.Autofac/Builder/AutofacSplatModule.cs | Discarded unused return value. |
| src/Splat.ApplicationInsights/ApplicationInsightsViewTracking.cs | BOM normalization. |
| src/Splat.ApplicationInsights/ApplicationInsightsFeatureUsageTrackingSession.cs | BOM normalization. |
| src/Polyfills/UnconditionalSuppressMessageAttribute.cs | Added suppression for accessibility vs containing type. |
| src/Polyfills/RequiresUnreferencedCodeAttribute.cs | Added suppression for accessibility vs containing type. |
| src/Polyfills/ObjectDisposedExceptionHelper.cs | Tightened accessibility. |
| src/Polyfills/MaybeNullWhenAttribute.cs | Added suppression for accessibility vs containing type. |
| src/Polyfills/IsExternalInit.cs | Added suppression for intentionally-empty marker type. |
| src/Polyfills/DynamicallyAccessedMemberTypes.cs | Updated suppression to suite rule. |
| src/Polyfills/DynamicallyAccessedMembersAttribute.cs | Added suppression for accessibility vs containing type. |
| src/Polyfills/DoesNotReturnIfAttribute.cs | Added suppression for accessibility vs containing type. |
| src/Polyfills/CallerArgumentExpressionAttribute.cs | Added suppression for accessibility vs containing type. |
| src/Polyfills/ArgumentOutOfRangeExceptionHelper.cs | Tightened accessibility. |
| src/Polyfills/ArgumentGuard.cs | Tightened accessibility. |
| src/Polyfills/ArgumentExceptionHelper.cs | Tightened accessibility. |
| src/Directory.Build.props | Added PerformanceSharp and SecuritySharp analyzer package references. |
| src/Benchmarks/src/ViewModel.cs | BOM normalization. |
| src/Benchmarks/src/Program.cs | BOM normalization. |
src/tests/Splat.SimpleInjector.Tests/DependencyResolverTests.cs:50
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Sorry, something went wrong.
The Apple (Cocoa) platform files and the Windows-target test build were not reachable from the Linux multi-TFM build, so these only surfaced on CI: - Cocoa CocoaBitmap/PlatformBitmapLoader/SplatColorExtensions: Volatile.Read on the interlocked field (snapshotting for the closure), delete redundant suppressions, RunContinuationsAsynchronously on the TaskCompletionSource, observe-then-throw null fallbacks, interpolated strings, uppercase float suffix, extension-block ordering, and drop the unused UIApplication alias - BitmapLoaderCoverageTests: add the explicit System.IO using so Stream resolves on the Windows target frameworks (their implicit usings omit it)
There was a problem hiding this comment.
Copilot reviewed 265 out of 266 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (1)src/Splat.Drawing/Platforms/ServiceLocationDrawingInitializationExtensions.cs:19
Sorry, something went wrong.
Codecov Report❌ Patch coverage is 97.53086% with 12 lines in your changes missing coverage. Please review. @@ Coverage Diff @@
## main #1651 +/- ##
===========================================
+ Coverage 82.25% 96.95% +14.69%
===========================================
Files 122 124 +2
Lines 7018 6710 -308
Branches 1090 1008 -82
===========================================
+ Hits 5773 6506 +733
+ Misses 934 111 -823
+ Partials 311 93 -218 ☔ View full report in Codecov by Harness.
|
Sorry, something went wrong.
Add behavioral tests exercising the lines introduced when fixing the analyzer findings: the exception-observing catch blocks (throwing-disposable disposal and throwing resolver-changed callbacks), the extra registration overloads that use GetValueRefOrAddDefault, the IFormatProvider single-value logger overloads, the service-collection unwrap loops, and the achromatic SplatColor paths. Each test asserts real behavior. The few remaining uncovered lines are genuinely-unreachable defensive/off-platform code (nested catches whose inner guard always fires, BCL-guard catches with no injection seam, and the WPF/Silverlight design-mode reflection that resolves only on a real XAML host).
There was a problem hiding this comment.
Copilot reviewed 270 out of 271 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (1)src/Splat.Drawing/Platforms/ServiceLocationDrawingInitializationExtensions.cs:18
Sorry, something went wrong.
The net4 (.NET Framework) and net6 (net*-windows) platform folders both target WPF (UseWPF is set for both TFM sets) and had byte-identical copies of the colour, geometry and bitmap extension files. Move the seven shared files into a single Platforms/Wpf/ folder compiled on both TFM sets, removing the duplication the Sonar new-code gate flagged. BitmapSourceBitmap keeps its two versions (their Save implementations genuinely differ).
…oc crefs - RegisterPlatformBitmapLoader had been collapsed to an expression body (an SST2275 auto-fix on the modern targets, where the conditional body is empty), which dropped the actual IBitmapLoader registration on the WPF / .NET Framework targets. Restore the conditional registration and scope-suppress SST2275. - Correct two XML doc crefs surfaced in review: the Rect FromNative summary said Point, and the Color FromNative summary said SolidColorBrush.
Add ~500 behavioral tests across the adapter, logger, resolver, drawing and core projects so every reachable line and branch in the files this PR touched is exercised (logger overload families, registration/resolution edge cases, disposal and callback-failure paths, colour conversions, mode detection). Where code is genuinely unreachable, extract the smallest wrapping method and mark it [ExcludeFromCodeCoverage] (off-platform design-mode reflection, defensive catches whose guarded call cannot throw, non-null field disposal). A few provably dead branches are removed outright (a redundant null-conditional, a dead already-immutable guard, an unreachable batch-eviction path).
Resolve(Type, string name, params) had an inverted TryGetValue check, so a registered named type always returned null (and threw) and the CreateInstance arm was dead. Match the sibling unnamed overload; add a success test and drop the test that had pinned the buggy throw-when-registered behavior.
Replace the 12 duplicated exception-swallowing disposal/callback blocks across ModernDependencyResolver, GlobalGenericFirstDependencyResolver and InstanceGenericFirstDependencyResolver with a single ResolverExceptionHelpers.RunSwallowingExceptions(Action) helper, and share the GetValueRefOrAddDefault get-or-add via ResolverDictionaryHelpers.GetOrAddValue. Removes the Sonar new-code duplication in the resolver family.
…tection - Splat mode detection/TFM: extract pure matcher (NameContainsAnyMarker), add net11.0 target-framework moniker mapping, remove provably-dead AssemblyQualifiedName null guard, minimal ExcludeFromCodeCoverage on OS/permission-sensitive probe scaffolding, add tests. - Splat.Core resolver family: remove dead ThrowIf-follow returns and null guards, scope copy-on-write / double-checked-lock race guards into minimal ExcludeFromCodeCoverage helpers.
|
Sorry, something went wrong.
|
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
What kind of change does this PR introduce?
Build / tooling and the code changes needed to satisfy it: adopts the StyleSharp / PerformanceSharp / SecuritySharp analyzer suite, refreshes the shared .editorconfig, updates NuGet dependencies, and fixes every resulting analyzer finding.
What is the new behavior?
What is the current behavior?
Only StyleSharp.Analyzers (3.5.2) from the suite was referenced; the .editorconfig predated the suite migration; several dependencies were behind their latest stable.
What might this PR break?
Additional information