From 29f874381ea8dcd1e905a96b609a7fe34aa8f951 Mon Sep 17 00:00:00 2001 From: "Barry vd. Heuvel" Date: Mon, 28 Oct 2024 12:09:38 +0100 Subject: [PATCH] Smarter reset --- src/Console/ModelsCommand.php | 12 +++++++++--- .../ResetAndSmartReset/Models/Simple.php | 4 ++++ .../__snapshots__/Test__testNoReset__1.php | 3 +++ .../__snapshots__/Test__testReset__1.php | 3 +++ 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/Console/ModelsCommand.php b/src/Console/ModelsCommand.php index b915e03..ddf1dea 100644 --- a/src/Console/ModelsCommand.php +++ b/src/Console/ModelsCommand.php @@ -945,13 +945,19 @@ class ModelsCommand extends Command $reflection->getParentClass()->getInterfaceNames() ); + $phpdoc = new DocBlock($reflection, new Context($namespace)); if ($this->reset) { - $phpdoc = new DocBlock('', new Context($namespace)); $phpdoc->setText( (new DocBlock($reflection, new Context($namespace)))->getText() ); - } else { - $phpdoc = new DocBlock($reflection, new Context($namespace)); + foreach ($phpdoc->getTags() as $tag) { + if ( + in_array($tag->getName(), ['property', 'property-read', 'property-write', 'method', 'mixin']) + || ($tag->getName() === 'noinspection' && in_array($tag->getContent(), ['PhpUnnecessaryFullyQualifiedNameInspection', 'PhpFullyQualifiedNameUsageInspection'])) + ) { + $phpdoc->deleteTag($tag); + } + } } $properties = []; diff --git a/tests/Console/ModelsCommand/ResetAndSmartReset/Models/Simple.php b/tests/Console/ModelsCommand/ResetAndSmartReset/Models/Simple.php index 86646d3..917f521 100644 --- a/tests/Console/ModelsCommand/ResetAndSmartReset/Models/Simple.php +++ b/tests/Console/ModelsCommand/ResetAndSmartReset/Models/Simple.php @@ -9,7 +9,11 @@ use Illuminate\Database\Eloquent\Model; /** * Text of existing phpdoc * + * @implements \ArrayAccess + * @noinspection PhpUnreachableStatementInspection + * @PhpFullyQualifiedNameUsageInspection PhpUnnecessaryFullyQualifiedNameInspection * @property string $foo + * @mixin \Eloquent */ class Simple extends Model { diff --git a/tests/Console/ModelsCommand/ResetAndSmartReset/__snapshots__/Test__testNoReset__1.php b/tests/Console/ModelsCommand/ResetAndSmartReset/__snapshots__/Test__testNoReset__1.php index 21a8199..6ab612e 100644 --- a/tests/Console/ModelsCommand/ResetAndSmartReset/__snapshots__/Test__testNoReset__1.php +++ b/tests/Console/ModelsCommand/ResetAndSmartReset/__snapshots__/Test__testNoReset__1.php @@ -9,6 +9,9 @@ use Illuminate\Database\Eloquent\Model; /** * Text of existing phpdoc * + * @implements \ArrayAccess + * @noinspection PhpUnreachableStatementInspection + * @PhpFullyQualifiedNameUsageInspection PhpUnnecessaryFullyQualifiedNameInspection * @property string $foo * @property int $id * @method static \Illuminate\Database\Eloquent\Builder|Simple newModelQuery() diff --git a/tests/Console/ModelsCommand/ResetAndSmartReset/__snapshots__/Test__testReset__1.php b/tests/Console/ModelsCommand/ResetAndSmartReset/__snapshots__/Test__testReset__1.php index e00f9e9..5655abb 100644 --- a/tests/Console/ModelsCommand/ResetAndSmartReset/__snapshots__/Test__testReset__1.php +++ b/tests/Console/ModelsCommand/ResetAndSmartReset/__snapshots__/Test__testReset__1.php @@ -9,6 +9,9 @@ use Illuminate\Database\Eloquent\Model; /** * Text of existing phpdoc * + * @implements \ArrayAccess + * @noinspection PhpUnreachableStatementInspection + * @PhpFullyQualifiedNameUsageInspection PhpUnnecessaryFullyQualifiedNameInspection * @property int $id * @method static \Illuminate\Database\Eloquent\Builder|Simple newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|Simple newQuery()