diff --git a/composer.lock b/composer.lock index e229b7daf..5bb9521dc 100644 --- a/composer.lock +++ b/composer.lock @@ -298,16 +298,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.9.0", + "version": "1.10.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "5f7eb9724b0ae386b922f34b62b3b55fee3b26cd" + "reference": "87fa2d526e56737a2ae8fa201a61b15efae59b8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/5f7eb9724b0ae386b922f34b62b3b55fee3b26cd", - "reference": "5f7eb9724b0ae386b922f34b62b3b55fee3b26cd", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/87fa2d526e56737a2ae8fa201a61b15efae59b8a", + "reference": "87fa2d526e56737a2ae8fa201a61b15efae59b8a", "shasum": "" }, "require": { @@ -337,9 +337,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.9.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.10.0" }, - "time": "2022-10-06T11:32:36+00:00" + "time": "2022-10-12T19:19:18+00:00" }, { "name": "phpstan/phpstan", diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index a8d1460f3..7896cec34 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -304,17 +304,17 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.9.0", - "version_normalized": "1.9.0.0", + "version": "1.10.0", + "version_normalized": "1.10.0.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "5f7eb9724b0ae386b922f34b62b3b55fee3b26cd" + "reference": "87fa2d526e56737a2ae8fa201a61b15efae59b8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/5f7eb9724b0ae386b922f34b62b3b55fee3b26cd", - "reference": "5f7eb9724b0ae386b922f34b62b3b55fee3b26cd", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/87fa2d526e56737a2ae8fa201a61b15efae59b8a", + "reference": "87fa2d526e56737a2ae8fa201a61b15efae59b8a", "shasum": "" }, "require": { @@ -329,7 +329,7 @@ "phpunit/phpunit": "^9.5", "symfony/process": "^5.2" }, - "time": "2022-10-06T11:32:36+00:00", + "time": "2022-10-12T19:19:18+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -346,23 +346,23 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.9.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.10.0" }, "install-path": "../phpstan/phpdoc-parser" }, { "name": "phpstan/phpstan", - "version": "1.8.8", - "version_normalized": "1.8.8.0", + "version": "1.8.9", + "version_normalized": "1.8.9.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "08310ce271984587e2a4cda94e1ac66510a6ea07" + "reference": "3a72d9d9f2528fbd50c2d8fcf155fd9f74ade3f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/08310ce271984587e2a4cda94e1ac66510a6ea07", - "reference": "08310ce271984587e2a4cda94e1ac66510a6ea07", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/3a72d9d9f2528fbd50c2d8fcf155fd9f74ade3f2", + "reference": "3a72d9d9f2528fbd50c2d8fcf155fd9f74ade3f2", "shasum": "" }, "require": { @@ -371,7 +371,7 @@ "conflict": { "phpstan/phpstan-shim": "*" }, - "time": "2022-10-06T12:51:57+00:00", + "time": "2022-10-13T13:40:18+00:00", "bin": [ "phpstan", "phpstan.phar" @@ -394,7 +394,7 @@ ], "support": { "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.8.8" + "source": "https://github.com/phpstan/phpstan/tree/1.8.9" }, "funding": [ { diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index 7a9efd72e..56d5e0647 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-main', 'version' => 'dev-main', - 'reference' => '4c71bdc7210648a368647bdec1ae80b1eeacaad5', + 'reference' => 'f70c0c943ba2085f9ffbb2a11bf8173ba99faa99', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-main', 'version' => 'dev-main', - 'reference' => '4c71bdc7210648a368647bdec1ae80b1eeacaad5', + 'reference' => 'f70c0c943ba2085f9ffbb2a11bf8173ba99faa99', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -56,18 +56,18 @@ 'dev_requirement' => false, ), 'phpstan/phpdoc-parser' => array( - 'pretty_version' => '1.9.0', - 'version' => '1.9.0.0', - 'reference' => '5f7eb9724b0ae386b922f34b62b3b55fee3b26cd', + 'pretty_version' => '1.10.0', + 'version' => '1.10.0.0', + 'reference' => '87fa2d526e56737a2ae8fa201a61b15efae59b8a', 'type' => 'library', 'install_path' => __DIR__ . '/../phpstan/phpdoc-parser', 'aliases' => array(), 'dev_requirement' => false, ), 'phpstan/phpstan' => array( - 'pretty_version' => '1.8.8', - 'version' => '1.8.8.0', - 'reference' => '08310ce271984587e2a4cda94e1ac66510a6ea07', + 'pretty_version' => '1.8.9', + 'version' => '1.8.9.0', + 'reference' => '3a72d9d9f2528fbd50c2d8fcf155fd9f74ade3f2', 'type' => 'library', 'install_path' => __DIR__ . '/../phpstan/phpstan', 'aliases' => array(), diff --git a/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/ParamOutTagValueNode.php b/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/ParamOutTagValueNode.php new file mode 100644 index 000000000..9f374bf18 --- /dev/null +++ b/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/ParamOutTagValueNode.php @@ -0,0 +1,35 @@ +type = $type; + $this->parameterName = $parameterName; + $this->description = $description; + } + + public function __toString(): string + { + return trim("{$this->type} {$this->parameterName} {$this->description}"); + } + +} diff --git a/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocNode.php b/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocNode.php index 0c2f8f3bd..25f1939cb 100644 --- a/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocNode.php +++ b/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocNode.php @@ -341,6 +341,21 @@ static function (PhpDocTagValueNode $value): bool { ); } + + /** + * @return ParamOutTagValueNode[] + */ + public function getParamOutTypeTagValues(string $tagName = '@param-out'): array + { + return array_filter( + array_column($this->getTagsByName($tagName), 'value'), + static function (PhpDocTagValueNode $value): bool { + return $value instanceof ParamOutTagValueNode; + } + ); + } + + public function __toString(): string { $children = array_map( diff --git a/vendor/phpstan/phpdoc-parser/src/Parser/PhpDocParser.php b/vendor/phpstan/phpdoc-parser/src/Parser/PhpDocParser.php index 8038778ff..cca8e9bd6 100644 --- a/vendor/phpstan/phpdoc-parser/src/Parser/PhpDocParser.php +++ b/vendor/phpstan/phpdoc-parser/src/Parser/PhpDocParser.php @@ -229,6 +229,12 @@ public function parseTagValue(TokenIterator $tokens, string $tag): Ast\PhpDoc\Ph $tagValue = $this->parseSelfOutTagValue($tokens); break; + case '@param-out': + case '@phpstan-param-out': + case '@psalm-param-out': + $tagValue = $this->parseParamOutTagValue($tokens); + break; + default: $tagValue = new Ast\PhpDoc\GenericTagValueNode($this->parseOptionalDescription($tokens)); break; @@ -514,6 +520,15 @@ private function parseSelfOutTagValue(TokenIterator $tokens): Ast\PhpDoc\SelfOut return new Ast\PhpDoc\SelfOutTagValueNode($type, $description); } + private function parseParamOutTagValue(TokenIterator $tokens): Ast\PhpDoc\ParamOutTagValueNode + { + $type = $this->typeParser->parse($tokens); + $parameterName = $this->parseRequiredVariableName($tokens); + $description = $this->parseOptionalDescription($tokens); + + return new Ast\PhpDoc\ParamOutTagValueNode($type, $parameterName, $description); + } + private function parseOptionalVariableName(TokenIterator $tokens): string { if ($tokens->isCurrentTokenType(Lexer::TOKEN_VARIABLE)) { diff --git a/vendor/phpstan/phpstan/phpstan.phar b/vendor/phpstan/phpstan/phpstan.phar index ad73bb7ee..77dfcdf76 100755 Binary files a/vendor/phpstan/phpstan/phpstan.phar and b/vendor/phpstan/phpstan/phpstan.phar differ diff --git a/vendor/phpstan/phpstan/phpstan.phar.asc b/vendor/phpstan/phpstan/phpstan.phar.asc index e0f3fcb85..9f8970434 100644 --- a/vendor/phpstan/phpstan/phpstan.phar.asc +++ b/vendor/phpstan/phpstan/phpstan.phar.asc @@ -1,16 +1,16 @@ -----BEGIN PGP SIGNATURE----- -iQIzBAABCgAdFiEE0yaA1ZV9xxFr4pwUzxoQjQ565yAFAmM+z2AACgkQzxoQjQ56 -5yDa2A/9FpFMEMPXk3jBDJTJXI8zKkK8lpZc6IFB1wrnabflJ5VuC9brB3cCFyQA -rskm2gS5F6p4C+zz1BAPA1C9l0lrKYx6cx61a1EbaQn+gBP3rghqoIH75hUb/r0Y -xydZ+RIEpuAymV4l80mApZ/f0YFtHCdHAkSr0U1BFvsO73zi9kphsWSD493EtVUe -X8HQaL3zRAt1nmNQ7T3yPEO/a3pyptx/A6acFK73+1ADRRA87kTPyLyxTf3FqUIf -3CSkD5wckhF8rCDSB4I8sU9aNEQ8wYNtwKfVsfNw4bM+CyNxOVWvqq2w/V74wS2W -ehypk9PfPmC2fVL8b+TJ8M3vejXNzFLbDOH7kiOn150jNYy7zrdbhmmChTDhzTfi -unXi+guynEHIBVhzF9yxVBeNPaKoVpfN9C5SpfZRapdkhucP/BIpC5vVaf3uNxX+ -agze9nHM328RZuA8o0cuXgLvEOpTCVF6L+bIZtWRlpi6lQA8R0Dz64ssMkHUjrWV -lmCYXNPC0p+bBas9rfvokK9KokR10G82xyd7vxhptZU0U3CUSNOhzYtqMa8TAKcz -F/9oZZOoIeMP70Rpzlt13J1EwKsubdRZQ/7GHR5tzYuJ/Sw1ksSv3uYPLhakWMSn -vSwj1HwVMvmfYdSEEmmJZCFGqGF7SXY0o1Ak22h31z5YZZY/Wk8= -=dfub +iQIzBAABCgAdFiEE0yaA1ZV9xxFr4pwUzxoQjQ565yAFAmNIFTQACgkQzxoQjQ56 +5yCNzA//RJ26mWB1e8H1yF0H8Siwf9pdNuNARX8ox8KSWbClzpdBWn5RvLSE7CDH +BpNa8PRQC0iiho9GSK81UytsyWll1u62WYlpKtoiu4HDC+m1Mw7j+WreYEB4l+jf +G3D8z+9R4e4OwKOYnksLpvnvUQwTn28QfI8a+GzeAxV9+OJlqEc2DGQ6SfQAR8iN +gYfCfD/VK///iwIOCJIsBV72AGTONd0Sb7o+99Of1AQx+b7+xRRTjn8TuffdP9HD +01Uwhr+L/5YnrT6rNdbrPbfe/vdQaAgUo/ngxW2N+loSRH+O7CpeJgqitJh4mXxW +L0H26/hOky7Kl67eaKoHimumj5LwAMUWM3lLShl41oUza8GGJOpfOaAB/JBg7S3R +FWGif8P+mrbmlkS75uuB7QHvFyyAqWbVuLPTHKg/pxUiPhtk5W3sNRNy/UU1klcF +du9CCZElo9+gbuVn5/5H6NHyOQTlkeVVsGKJ/ukqPKctankuSDofi1S276p63M4e +PsLnvaEAGlKwHM82nDqyGd7iODcwQi/XjhMdYHqyWjRYAldEvWEZgzjdGyFsHwoB +DrD/b5/d2etQxCsrnQ/NSmLt8GiUAkTkeoo/yzF76WPn4ZF15Aa2WQOjePrx+rrm +ziDIwgKoHv07OO6/BMwAs/hUGGDPx8l0rvdP3PZPhL2kXDPNsc8= +=78vo -----END PGP SIGNATURE-----