diff --git a/CakePHP/Sniffs/Commenting/TypeHintSniff.php b/CakePHP/Sniffs/Commenting/TypeHintSniff.php
index f22cb49..da82ecf 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 26f6db0..234e573 100644
--- a/CakePHP/ruleset.xml
+++ b/CakePHP/ruleset.xml
@@ -219,10 +219,11 @@
*/tests/*
-
+
-
+
+
diff --git a/composer.json b/composer.json
index fa3dace..e7f83ff 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 311a217..c1384cc 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -138,6 +138,7 @@ SlevomatCodingStandard (52 sniffs)
- SlevomatCodingStandard.PHP.UselessParentheses
- SlevomatCodingStandard.PHP.UselessSemicolon
- SlevomatCodingStandard.TypeHints.DeclareStrictTypes
+- SlevomatCodingStandard.TypeHints.DNFTypeHintFormat
- SlevomatCodingStandard.TypeHints.LongTypeHints
- SlevomatCodingStandard.TypeHints.NullableTypeForNullDefaultValue
- SlevomatCodingStandard.TypeHints.ParameterTypeHint
@@ -145,7 +146,6 @@ SlevomatCodingStandard (52 sniffs)
- SlevomatCodingStandard.TypeHints.PropertyTypeHint
- SlevomatCodingStandard.TypeHints.ReturnTypeHint
- SlevomatCodingStandard.TypeHints.ReturnTypeHintSpacing
-- SlevomatCodingStandard.TypeHints.UnionTypeHintFormat
- SlevomatCodingStandard.Variables.DuplicateAssignmentToVariable
- SlevomatCodingStandard.Variables.UnusedVariable
@@ -182,4 +182,4 @@ Squiz (28 sniffs)
Zend (1 sniff)
--------------
-- Zend.NamingConventions.ValidVariableName
\ No newline at end of file
+- Zend.NamingConventions.ValidVariableName