From 9eb2aa0c6255aa5732954e19a7ea8208cd9f05ee Mon Sep 17 00:00:00 2001 From: Kenneth Sills <132029135+Kenneth-Sills@users.noreply.github.com> Date: Wed, 19 Jun 2024 01:33:31 +0000 Subject: [PATCH] fix(phpcs): stop reporting duplicate unfixable errors with fixable changes Closes #214 --- src/SniffRunner/DataCollector/SniffMetadataCollector.php | 5 +++++ src/SniffRunner/ValueObject/File.php | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/src/SniffRunner/DataCollector/SniffMetadataCollector.php b/src/SniffRunner/DataCollector/SniffMetadataCollector.php index 11fdd57d064..83f3bcdcd02 100644 --- a/src/SniffRunner/DataCollector/SniffMetadataCollector.php +++ b/src/SniffRunner/DataCollector/SniffMetadataCollector.php @@ -41,6 +41,11 @@ public function reset(): void $this->codingStandardErrors = []; } + public function resetErrors(): void + { + $this->codingStandardErrors = []; + } + public function addCodingStandardError(CodingStandardError $codingStandardError): void { $this->codingStandardErrors[] = $codingStandardError; diff --git a/src/SniffRunner/ValueObject/File.php b/src/SniffRunner/ValueObject/File.php index b38ef28558c..bcdf9e9fe8d 100644 --- a/src/SniffRunner/ValueObject/File.php +++ b/src/SniffRunner/ValueObject/File.php @@ -76,6 +76,10 @@ public function __construct( */ public function process(): void { + // Since sniffs are re-run after they do fixes, we need to clear the old + // errors to avoid duplicates. + $this->sniffMetadataCollector->resetErrors(); + $this->parse(); $this->fixer->startFile($this);