diff --git a/composer.json b/composer.json index be12db8de48..fcd98b8cb03 100644 --- a/composer.json +++ b/composer.json @@ -20,7 +20,7 @@ "nette/utils": "^3.2", "nikic/php-parser": "^4.16.0", "ondram/ci-detector": "^4.1", - "phpstan/phpdoc-parser": "^1.21.3", + "phpstan/phpdoc-parser": "^1.23", "phpstan/phpstan": "^1.10.26", "react/event-loop": "^1.3", "react/socket": "^1.12", diff --git a/config/config.php b/config/config.php index fbab72815da..c862437641d 100644 --- a/config/config.php +++ b/config/config.php @@ -262,8 +262,10 @@ $services->alias(PhpDocParser::class, BetterPhpDocParser::class); $services->set(\PHPStan\PhpDocParser\Lexer\Lexer::class); - $services->set(TypeParser::class); - $services->set(ConstExprParser::class); + $services->set(TypeParser::class) + ->arg('$usedAttributes', ['lines' => true, 'indexes' => true]); + $services->set(ConstExprParser::class) + ->arg('$usedAttributes', ['lines' => true, 'indexes' => true]); // tagged services $services->set(PhpDocNodeMapper::class) diff --git a/packages/BetterPhpDocParser/PhpDocParser/BetterPhpDocParser.php b/packages/BetterPhpDocParser/PhpDocParser/BetterPhpDocParser.php index 73ad76fe427..e79caafc9c3 100644 --- a/packages/BetterPhpDocParser/PhpDocParser/BetterPhpDocParser.php +++ b/packages/BetterPhpDocParser/PhpDocParser/BetterPhpDocParser.php @@ -40,7 +40,23 @@ public function __construct( private readonly iterable $phpDocNodeDecorators, private readonly PrivatesAccessor $privatesAccessor = new PrivatesAccessor(), ) { - parent::__construct($typeParser, $constExprParser); + parent::__construct( + // TypeParser + $typeParser, + // ConstExprParser + $constExprParser, + // requireWhitespaceBeforeDescription + false, + // preserveTypeAliasesWithInvalidTypes + false, + // usedAttributes + ['lines' => true, 'indexes' => true], + // parseDoctrineAnnotations + false, + // textBetweenTagsBelongsToDescription, default to false, exists since 1.23.0 + // @todo: make it true to allow next doc line text as part of current docblock + false + ); } public function parse(TokenIterator $tokenIterator): PhpDocNode