diff --git a/CakePHP/Sniffs/Commenting/TypeHintSniff.php b/CakePHP/Sniffs/Commenting/TypeHintSniff.php index affdc84..16f68d2 100644 --- a/CakePHP/Sniffs/Commenting/TypeHintSniff.php +++ b/CakePHP/Sniffs/Commenting/TypeHintSniff.php @@ -32,6 +32,7 @@ use PHPStan\PhpDocParser\Parser\PhpDocParser; use PHPStan\PhpDocParser\Parser\TokenIterator; use PHPStan\PhpDocParser\Parser\TypeParser; +use PHPStan\PhpDocParser\ParserConfig; /** * Verifies order of types in type hints @@ -294,13 +295,16 @@ protected static function getValueNode(string $tagName, string $tagComment): Php { static $phpDocParser; if (!$phpDocParser) { - $constExprParser = new ConstExprParser(); - $phpDocParser = new PhpDocParser(new TypeParser($constExprParser), $constExprParser); + $config = new ParserConfig(usedAttributes: ['lines' => true, 'indexes' => true]); + + $constExprParser = new ConstExprParser($config); + $phpDocParser = new PhpDocParser($config, new TypeParser($config, $constExprParser), $constExprParser); } static $phpDocLexer; if (!$phpDocLexer) { - $phpDocLexer = new Lexer(); + $config = new ParserConfig(usedAttributes: ['lines' => true, 'indexes' => true]); + $phpDocLexer = new Lexer($config); } return $phpDocParser->parseTagValue(new TokenIterator($phpDocLexer->tokenize($tagComment)), $tagName); diff --git a/CakePHP/ruleset.xml b/CakePHP/ruleset.xml index c37562e..83eb208 100644 --- a/CakePHP/ruleset.xml +++ b/CakePHP/ruleset.xml @@ -200,10 +200,11 @@ */tests/* - + - + + diff --git a/composer.json b/composer.json index 1347fc2..9f676ec 100644 --- a/composer.json +++ b/composer.json @@ -19,8 +19,8 @@ }, "require": { "php": ">=8.1.0", - "phpstan/phpdoc-parser": "^1.4.5", - "slevomat/coding-standard": "^8.15", + "phpstan/phpdoc-parser": "^2.1.0", + "slevomat/coding-standard": "^8.16", "squizlabs/php_codesniffer": "^3.9" }, "require-dev": { diff --git a/docs/README.md b/docs/README.md index 01afebf..5677d48 100644 --- a/docs/README.md +++ b/docs/README.md @@ -130,6 +130,7 @@ SlevomatCodingStandard (43 sniffs) - SlevomatCodingStandard.PHP.UselessParentheses - SlevomatCodingStandard.PHP.UselessSemicolon - SlevomatCodingStandard.TypeHints.DeclareStrictTypes +- SlevomatCodingStandard.TypeHints.DNFTypeHintFormat - SlevomatCodingStandard.TypeHints.LongTypeHints - SlevomatCodingStandard.TypeHints.NullableTypeForNullDefaultValue - SlevomatCodingStandard.TypeHints.ParameterTypeHint @@ -137,7 +138,6 @@ SlevomatCodingStandard (43 sniffs) - SlevomatCodingStandard.TypeHints.PropertyTypeHint - SlevomatCodingStandard.TypeHints.ReturnTypeHint - SlevomatCodingStandard.TypeHints.ReturnTypeHintSpacing -- SlevomatCodingStandard.TypeHints.UnionTypeHintFormat - SlevomatCodingStandard.Variables.DuplicateAssignmentToVariable - SlevomatCodingStandard.Variables.UnusedVariable @@ -174,4 +174,4 @@ Squiz (28 sniffs) Zend (1 sniff) -------------- -- Zend.NamingConventions.ValidVariableName \ No newline at end of file +- Zend.NamingConventions.ValidVariableName