From 283d1e74207e49b26764592463faa6e6c6a7cd9e Mon Sep 17 00:00:00 2001 From: Thomas Luizon Rodrigues Gregorio Date: Tue, 14 Jul 2026 00:27:04 -0300 Subject: [PATCH] chore(sonar): suppress S3459 false positives on EF backing fields (#243) Co-Authored-By: Claude Opus 4.8 (1M context) --- src/Orbit.Domain/Entities/PendingClarification.cs | 4 ++-- src/Orbit.Domain/Entities/Report.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Orbit.Domain/Entities/PendingClarification.cs b/src/Orbit.Domain/Entities/PendingClarification.cs index e1800441..5b66e63b 100644 --- a/src/Orbit.Domain/Entities/PendingClarification.cs +++ b/src/Orbit.Domain/Entities/PendingClarification.cs @@ -19,9 +19,9 @@ public class PendingClarification : Entity public DateTime CreatedAtUtc { get; private set; } public DateTime ExpiresAtUtc { get; private set; } -#pragma warning disable CS0649 // Written only at the SQL layer via ExecuteUpdate and read back via reflection on materialization; there is no C# writer, which is what removes the S1144 unused-private-setter finding. https://github.com/thomasluizon/orbit-api/pull/390 +#pragma warning disable CS0649, S3459 // Written only at the SQL layer via ExecuteUpdate and read back via reflection on materialization; there is no C# writer, so both CS0649 (never-assigned) and Sonar S3459 (unassigned field) are false positives here. https://github.com/thomasluizon/orbit-api/pull/390 private DateTime? _resolvedAtUtc; -#pragma warning restore CS0649 +#pragma warning restore CS0649, S3459 /// /// UTC instant this clarification was resolved; null while still open. Exposed as a read-only diff --git a/src/Orbit.Domain/Entities/Report.cs b/src/Orbit.Domain/Entities/Report.cs index 3a163233..2cf12afd 100644 --- a/src/Orbit.Domain/Entities/Report.cs +++ b/src/Orbit.Domain/Entities/Report.cs @@ -13,9 +13,9 @@ public class Report : Entity public ReportStatus Status { get; private set; } public DateTime CreatedAtUtc { get; private set; } -#pragma warning disable CS0649 // EF writes this backing field via reflection on materialization; there is no C# writer, which is what removes the S1144 unused-private-setter finding. https://github.com/thomasluizon/orbit-api/pull/390 +#pragma warning disable CS0649, S3459 // EF writes this backing field via reflection on materialization and at the SQL layer; there is no C# writer, so both CS0649 (never-assigned) and Sonar S3459 (unassigned field) are false positives here. https://github.com/thomasluizon/orbit-api/pull/390 private DateTime? _reviewedAtUtc; -#pragma warning restore CS0649 +#pragma warning restore CS0649, S3459 /// /// UTC instant an admin reviewed this report; null until reviewed. Exposed as a read-only