diff --git a/src/Ast/PhpDoc/PureUnlessParameterIsPassedTagValueNode.php b/src/Ast/PhpDoc/PureUnlessParameterIsPassedTagValueNode.php index a49f5fd0..d59b320a 100644 --- a/src/Ast/PhpDoc/PureUnlessParameterIsPassedTagValueNode.php +++ b/src/Ast/PhpDoc/PureUnlessParameterIsPassedTagValueNode.php @@ -26,4 +26,18 @@ public function __toString(): string return trim("{$this->parameterName} {$this->description}"); } + /** + * @param array $properties + */ + public static function __set_state(array $properties): self + { + $instance = new self($properties['parameterName'], $properties['description']); + if (isset($properties['attributes'])) { + foreach ($properties['attributes'] as $key => $value) { + $instance->setAttribute($key, $value); + } + } + return $instance; + } + } diff --git a/tests/PHPStan/Parser/PhpDocParserTest.php b/tests/PHPStan/Parser/PhpDocParserTest.php index b118798d..eacece63 100644 --- a/tests/PHPStan/Parser/PhpDocParserTest.php +++ b/tests/PHPStan/Parser/PhpDocParserTest.php @@ -104,6 +104,7 @@ protected function setUp(): void * @dataProvider provideTypelessParamTagsData * @dataProvider provideParamClosureThisTagsData * @dataProvider providePureUnlessCallableIsImpureTagsData + * @dataProvider providePureUnlessParameterIsPassedTagsData * @dataProvider provideVarTagsData * @dataProvider provideReturnTagsData * @dataProvider provideThrowsTagsData