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