From: =?utf-8?q?David_Pr=C3=A9vot?= <taffit@debian.org>
Date: Sat, 15 Feb 2025 12:27:01 +0100
Subject: Compatibility with recent PHPUnit (12)

---
 tests/PHPStan/Ast/NodeTraverserTest.php            |  2 +
 .../PHPStan/Ast/ToString/ConstExprToStringTest.php |  3 +
 tests/PHPStan/Ast/ToString/PhpDocToStringTest.php  | 13 ++++
 tests/PHPStan/Ast/ToString/TypeToStringTest.php    |  7 +++
 tests/PHPStan/Parser/ConstExprParserTest.php       | 19 +++++-
 tests/PHPStan/Parser/FuzzyTest.php                 |  3 +
 tests/PHPStan/Parser/PhpDocParserTest.php          | 73 +++++++++++++++++++++-
 tests/PHPStan/Parser/TokenIteratorTest.php         |  2 +
 tests/PHPStan/Parser/TypeParserTest.php            |  6 +-
 tests/PHPStan/Printer/DifferTest.php               |  3 +
 .../IntegrationPrinterWithPhpParserTest.php        |  2 +
 tests/PHPStan/Printer/PrinterTest.php              |  4 ++
 12 files changed, 133 insertions(+), 4 deletions(-)

diff --git a/tests/PHPStan/Ast/NodeTraverserTest.php b/tests/PHPStan/Ast/NodeTraverserTest.php
index 1c66cff..6ef230f 100644
--- a/tests/PHPStan/Ast/NodeTraverserTest.php
+++ b/tests/PHPStan/Ast/NodeTraverserTest.php
@@ -13,6 +13,7 @@ use PHPStan\PhpDocParser\Ast\Type\IntersectionTypeNode;
 use PHPStan\PhpDocParser\Ast\Type\NullableTypeNode;
 use PHPStan\PhpDocParser\Ast\Type\ThisTypeNode;
 use PHPStan\PhpDocParser\Ast\Type\UnionTypeNode;
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
 
 /**
@@ -353,6 +354,7 @@ class NodeTraverserTest extends TestCase
 	 * @dataProvider provideTestInvalidReturn
 	 * @param Node[] $nodes
 	 */
+	#[DataProvider('provideTestInvalidReturn')]
 	public function testInvalidReturn(array $nodes, NodeVisitor $visitor, string $message): void
 	{
 		$this->expectException(LogicException::class);
diff --git a/tests/PHPStan/Ast/ToString/ConstExprToStringTest.php b/tests/PHPStan/Ast/ToString/ConstExprToStringTest.php
index b756887..58b8146 100644
--- a/tests/PHPStan/Ast/ToString/ConstExprToStringTest.php
+++ b/tests/PHPStan/Ast/ToString/ConstExprToStringTest.php
@@ -14,6 +14,7 @@ use PHPStan\PhpDocParser\Ast\ConstExpr\ConstExprTrueNode;
 use PHPStan\PhpDocParser\Ast\ConstExpr\ConstFetchNode;
 use PHPStan\PhpDocParser\Ast\Node;
 use PHPStan\PhpDocParser\Printer\Printer;
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
 
 class ConstExprToStringTest extends TestCase
@@ -22,6 +23,7 @@ class ConstExprToStringTest extends TestCase
 	/**
 	 * @dataProvider provideConstExprCases
 	 */
+	#[DataProvider('provideConstExprCases')]
 	public function testToString(string $expected, Node $node): void
 	{
 		$this->assertSame($expected, (string) $node);
@@ -30,6 +32,7 @@ class ConstExprToStringTest extends TestCase
 	/**
 	 * @dataProvider provideConstExprCases
 	 */
+	#[DataProvider('provideConstExprCases')]
 	public function testPrinter(string $expected, Node $node): void
 	{
 		$printer = new Printer();
diff --git a/tests/PHPStan/Ast/ToString/PhpDocToStringTest.php b/tests/PHPStan/Ast/ToString/PhpDocToStringTest.php
index 47a25db..054e246 100644
--- a/tests/PHPStan/Ast/ToString/PhpDocToStringTest.php
+++ b/tests/PHPStan/Ast/ToString/PhpDocToStringTest.php
@@ -44,6 +44,7 @@ use PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode;
 use PHPStan\PhpDocParser\Lexer\Lexer;
 use PHPStan\PhpDocParser\Parser\ParserException;
 use PHPStan\PhpDocParser\Printer\Printer;
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
 
 class PhpDocToStringTest extends TestCase
@@ -52,6 +53,7 @@ class PhpDocToStringTest extends TestCase
 	/**
 	 * @dataProvider provideFullPhpDocCases
 	 */
+	#[DataProvider('provideFullPhpDocCases')]
 	public function testFullPhpDocToString(string $expected, Node $node): void
 	{
 		$this->assertSame($expected, (string) $node);
@@ -60,6 +62,7 @@ class PhpDocToStringTest extends TestCase
 	/**
 	 * @dataProvider provideFullPhpDocCases
 	 */
+	#[DataProvider('provideFullPhpDocCases')]
 	public function testFullPhpDocPrinter(string $expected, Node $node): void
 	{
 		$printer = new Printer();
@@ -73,6 +76,11 @@ class PhpDocToStringTest extends TestCase
 	 * @dataProvider provideAssertionCases
 	 * @dataProvider provideDoctrineCases
 	 */
+	#[DataProvider('provideOtherCases')]
+	#[DataProvider('provideMethodCases')]
+	#[DataProvider('provideClassCases')]
+	#[DataProvider('provideAssertionCases')]
+	#[DataProvider('provideDoctrineCases')]
 	public function testTagValueNodeToString(string $expected, Node $node): void
 	{
 		$this->assertSame($expected, (string) $node);
@@ -85,6 +93,11 @@ class PhpDocToStringTest extends TestCase
 	 * @dataProvider provideAssertionCases
 	 * @dataProvider provideDoctrineCases
 	 */
+	#[DataProvider('provideOtherCases')]
+	#[DataProvider('provideMethodCases')]
+	#[DataProvider('provideClassCases')]
+	#[DataProvider('provideAssertionCases')]
+	#[DataProvider('provideDoctrineCases')]
 	public function testTagValueNodePrinter(string $expected, Node $node): void
 	{
 		$printer = new Printer();
diff --git a/tests/PHPStan/Ast/ToString/TypeToStringTest.php b/tests/PHPStan/Ast/ToString/TypeToStringTest.php
index 6716e43..eb0bd88 100644
--- a/tests/PHPStan/Ast/ToString/TypeToStringTest.php
+++ b/tests/PHPStan/Ast/ToString/TypeToStringTest.php
@@ -22,6 +22,7 @@ use PHPStan\PhpDocParser\Ast\Type\NullableTypeNode;
 use PHPStan\PhpDocParser\Ast\Type\OffsetAccessTypeNode;
 use PHPStan\PhpDocParser\Ast\Type\ThisTypeNode;
 use PHPStan\PhpDocParser\Ast\Type\UnionTypeNode;
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
 
 class TypeToStringTest extends TestCase
@@ -35,6 +36,12 @@ class TypeToStringTest extends TestCase
 	 * @dataProvider provideConditionalCases
 	 * @dataProvider provideCombinedCases
 	 */
+	#[DataProvider('provideSimpleCases')]
+	#[DataProvider('provideArrayCases')]
+	#[DataProvider('provideCallableCases')]
+	#[DataProvider('provideGenericCases')]
+	#[DataProvider('provideConditionalCases')]
+	#[DataProvider('provideCombinedCases')]
 	public function testToString(string $expected, Node $node): void
 	{
 		$this->assertSame($expected, (string) $node);
diff --git a/tests/PHPStan/Parser/ConstExprParserTest.php b/tests/PHPStan/Parser/ConstExprParserTest.php
index f800135..1779586 100644
--- a/tests/PHPStan/Parser/ConstExprParserTest.php
+++ b/tests/PHPStan/Parser/ConstExprParserTest.php
@@ -17,6 +17,7 @@ use PHPStan\PhpDocParser\Ast\ConstExpr\ConstFetchNode;
 use PHPStan\PhpDocParser\Ast\NodeTraverser;
 use PHPStan\PhpDocParser\Lexer\Lexer;
 use PHPStan\PhpDocParser\ParserConfig;
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
 
 class ConstExprParserTest extends TestCase
@@ -45,6 +46,14 @@ class ConstExprParserTest extends TestCase
 	 * @dataProvider provideArrayNodeParseData
 	 * @dataProvider provideFetchNodeParseData
 	 */
+	#[DataProvider('provideTrueNodeParseData')]
+	#[DataProvider('provideFalseNodeParseData')]
+	#[DataProvider('provideNullNodeParseData')]
+	#[DataProvider('provideIntegerNodeParseData')]
+	#[DataProvider('provideFloatNodeParseData')]
+	#[DataProvider('provideStringNodeParseData')]
+	#[DataProvider('provideArrayNodeParseData')]
+	#[DataProvider('provideFetchNodeParseData')]
 	public function testParse(string $input, ConstExprNode $expectedExpr, int $nextTokenType = Lexer::TOKEN_END): void
 	{
 		$tokens = new TokenIterator($this->lexer->tokenize($input));
@@ -66,7 +75,15 @@ class ConstExprParserTest extends TestCase
 	 * @dataProvider provideArrayNodeParseData
 	 * @dataProvider provideFetchNodeParseData
 	 */
-	public function testVerifyAttributes(string $input): void
+	#[DataProvider('provideTrueNodeParseData')]
+	#[DataProvider('provideFalseNodeParseData')]
+	#[DataProvider('provideNullNodeParseData')]
+	#[DataProvider('provideIntegerNodeParseData')]
+	#[DataProvider('provideFloatNodeParseData')]
+	#[DataProvider('provideStringNodeParseData')]
+	#[DataProvider('provideArrayNodeParseData')]
+	#[DataProvider('provideFetchNodeParseData')]
+	public function testVerifyAttributes(string $input, ConstExprNode $expectedExpr, int $nextTokenType = Lexer::TOKEN_END): void
 	{
 		$tokens = new TokenIterator($this->lexer->tokenize($input));
 		$config = new ParserConfig([
diff --git a/tests/PHPStan/Parser/FuzzyTest.php b/tests/PHPStan/Parser/FuzzyTest.php
index 6c4f2ae..a0a0a91 100644
--- a/tests/PHPStan/Parser/FuzzyTest.php
+++ b/tests/PHPStan/Parser/FuzzyTest.php
@@ -5,6 +5,7 @@ namespace PHPStan\PhpDocParser\Parser;
 use Iterator;
 use PHPStan\PhpDocParser\Lexer\Lexer;
 use PHPStan\PhpDocParser\ParserConfig;
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
 use Symfony\Component\Process\Process;
 use function file_get_contents;
@@ -38,6 +39,7 @@ class FuzzyTest extends TestCase
 	/**
 	 * @dataProvider provideTypeParserData
 	 */
+	#[DataProvider('provideTypeParserData')]
 	public function testTypeParser(string $input): void
 	{
 		$tokens = new TokenIterator($this->lexer->tokenize($input));
@@ -58,6 +60,7 @@ class FuzzyTest extends TestCase
 	/**
 	 * @dataProvider provideConstExprParserData
 	 */
+	#[DataProvider('provideConstExprParserData')]
 	public function testConstExprParser(string $input): void
 	{
 		$tokens = new TokenIterator($this->lexer->tokenize($input));
diff --git a/tests/PHPStan/Parser/PhpDocParserTest.php b/tests/PHPStan/Parser/PhpDocParserTest.php
index 3d1bf70..e7d466a 100644
--- a/tests/PHPStan/Parser/PhpDocParserTest.php
+++ b/tests/PHPStan/Parser/PhpDocParserTest.php
@@ -70,6 +70,7 @@ use PHPStan\PhpDocParser\Ast\Type\OffsetAccessTypeNode;
 use PHPStan\PhpDocParser\Ast\Type\UnionTypeNode;
 use PHPStan\PhpDocParser\Lexer\Lexer;
 use PHPStan\PhpDocParser\ParserConfig;
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
 use function count;
 use function sprintf;
@@ -130,10 +131,44 @@ class PhpDocParserTest extends TestCase
 	 * @dataProvider provideCommentLikeDescriptions
 	 * @dataProvider provideInlineTags
 	 */
+	#[DataProvider('provideTagsWithNumbers')]
+	#[DataProvider('provideSpecializedTags')]
+	#[DataProvider('provideParamTagsData')]
+	#[DataProvider('provideParamImmediatelyInvokedCallableTagsData')]
+	#[DataProvider('provideParamLaterInvokedCallableTagsData')]
+	#[DataProvider('provideTypelessParamTagsData')]
+	#[DataProvider('provideParamClosureThisTagsData')]
+	#[DataProvider('providePureUnlessCallableIsImpureTagsData')]
+	#[DataProvider('provideVarTagsData')]
+	#[DataProvider('provideReturnTagsData')]
+	#[DataProvider('provideThrowsTagsData')]
+	#[DataProvider('provideMixinTagsData')]
+	#[DataProvider('provideRequireExtendsTagsData')]
+	#[DataProvider('provideRequireImplementsTagsData')]
+	#[DataProvider('provideDeprecatedTagsData')]
+	#[DataProvider('providePropertyTagsData')]
+	#[DataProvider('provideMethodTagsData')]
+	#[DataProvider('provideSingleLinePhpDocData')]
+	#[DataProvider('provideMultiLinePhpDocData')]
+	#[DataProvider('provideTemplateTagsData')]
+	#[DataProvider('provideExtendsTagsData')]
+	#[DataProvider('provideTypeAliasTagsData')]
+	#[DataProvider('provideTypeAliasImportTagsData')]
+	#[DataProvider('provideAssertTagsData')]
+	#[DataProvider('provideRealWorldExampleData')]
+	#[DataProvider('provideDescriptionWithOrWithoutHtml')]
+	#[DataProvider('provideTagsWithBackslash')]
+	#[DataProvider('provideSelfOutTagsData')]
+	#[DataProvider('provideParamOutTagsData')]
+	#[DataProvider('provideDoctrineData')]
+	#[DataProvider('provideDoctrineWithoutDoctrineCheckData')]
+	#[DataProvider('provideCommentLikeDescriptions')]
+	#[DataProvider('provideInlineTags')]
 	public function testParse(
 		string $label,
 		string $input,
-		PhpDocNode $expectedPhpDocNode
+		PhpDocNode $expectedPhpDocNode,
+		array $expectedAnnotations = [],
 	): void
 	{
 		$this->executeTestParse(
@@ -7459,6 +7494,7 @@ Finder::findFiles('*.php')
 	 * @dataProvider dataParseTagValue
 	 * @param PhpDocNode $expectedPhpDocNode
 	 */
+	#[DataProvider('dataParseTagValue')]
 	public function testParseTagValue(string $tag, string $phpDoc, Node $expectedPhpDocNode): void
 	{
 		$this->executeTestParseTagValue($this->phpDocParser, $tag, $phpDoc, $expectedPhpDocNode);
@@ -7606,6 +7642,7 @@ Finder::findFiles('*.php')
 	 * @dataProvider dataLinesAndIndexes
 	 * @param list<array{int, int, int, int}> $childrenLines
 	 */
+	#[DataProvider('dataLinesAndIndexes')]
 	public function testLinesAndIndexes(string $phpDoc, array $childrenLines): void
 	{
 		$tokens = new TokenIterator($this->lexer->tokenize($phpDoc));
@@ -7690,6 +7727,7 @@ Finder::findFiles('*.php')
 	 * @dataProvider dataDeepNodesLinesAndIndexes
 	 * @param list<array{int, int, int, int}> $nodeAttributes
 	 */
+	#[DataProvider('dataDeepNodesLinesAndIndexes')]
 	public function testDeepNodesLinesAndIndexes(string $phpDoc, array $nodeAttributes): void
 	{
 		$tokens = new TokenIterator($this->lexer->tokenize($phpDoc));
@@ -7763,6 +7801,7 @@ Finder::findFiles('*.php')
 	 * @dataProvider dataReturnTypeLinesAndIndexes
 	 * @param array{int, int, int, int} $lines
 	 */
+	#[DataProvider('dataReturnTypeLinesAndIndexes')]
 	public function testReturnTypeLinesAndIndexes(string $phpDoc, array $lines): void
 	{
 		$tokens = new TokenIterator($this->lexer->tokenize($phpDoc));
@@ -7814,7 +7853,35 @@ Finder::findFiles('*.php')
 	 * @dataProvider provideDoctrineData
 	 * @dataProvider provideDoctrineWithoutDoctrineCheckData
 	 */
-	public function testVerifyAttributes(string $label, string $input): void
+	#[DataProvider('provideTagsWithNumbers')]
+	#[DataProvider('provideSpecializedTags')]
+	#[DataProvider('provideParamTagsData')]
+	#[DataProvider('provideTypelessParamTagsData')]
+	#[DataProvider('provideParamImmediatelyInvokedCallableTagsData')]
+	#[DataProvider('provideParamLaterInvokedCallableTagsData')]
+	#[DataProvider('provideParamClosureThisTagsData')]
+	#[DataProvider('provideVarTagsData')]
+	#[DataProvider('provideReturnTagsData')]
+	#[DataProvider('provideThrowsTagsData')]
+	#[DataProvider('provideMixinTagsData')]
+	#[DataProvider('provideDeprecatedTagsData')]
+	#[DataProvider('providePropertyTagsData')]
+	#[DataProvider('provideMethodTagsData')]
+	#[DataProvider('provideSingleLinePhpDocData')]
+	#[DataProvider('provideMultiLinePhpDocData')]
+	#[DataProvider('provideTemplateTagsData')]
+	#[DataProvider('provideExtendsTagsData')]
+	#[DataProvider('provideTypeAliasTagsData')]
+	#[DataProvider('provideTypeAliasImportTagsData')]
+	#[DataProvider('provideAssertTagsData')]
+	#[DataProvider('provideRealWorldExampleData')]
+	#[DataProvider('provideDescriptionWithOrWithoutHtml')]
+	#[DataProvider('provideTagsWithBackslash')]
+	#[DataProvider('provideSelfOutTagsData')]
+	#[DataProvider('provideParamOutTagsData')]
+	#[DataProvider('provideDoctrineData')]
+	#[DataProvider('provideDoctrineWithoutDoctrineCheckData')]
+	public function testVerifyAttributes(string $label, string $input, PhpDocNode $expectedPhpDocNode, array $expectedAnnotations = []): void
 	{
 		$config = new ParserConfig([
 			'lines' => true,
@@ -7841,6 +7908,7 @@ Finder::findFiles('*.php')
 	 * @dataProvider provideDoctrineData
 	 * @param list<object> $expectedAnnotations
 	 */
+	#[DataProvider('provideDoctrineData')]
 	public function testDoctrine(
 		string $label,
 		string $input,
@@ -8183,6 +8251,7 @@ Finder::findFiles('*.php')
 	/**
 	 * @dataProvider dataTextBetweenTagsBelongsToDescription
 	 */
+	#[DataProvider('dataTextBetweenTagsBelongsToDescription')]
 	public function testTextBetweenTagsBelongsToDescription(
 		string $input,
 		PhpDocNode $expectedPhpDocNode
diff --git a/tests/PHPStan/Parser/TokenIteratorTest.php b/tests/PHPStan/Parser/TokenIteratorTest.php
index 99f9510..345056e 100644
--- a/tests/PHPStan/Parser/TokenIteratorTest.php
+++ b/tests/PHPStan/Parser/TokenIteratorTest.php
@@ -4,6 +4,7 @@ namespace PHPStan\PhpDocParser\Parser;
 
 use PHPStan\PhpDocParser\Lexer\Lexer;
 use PHPStan\PhpDocParser\ParserConfig;
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
 use const PHP_EOL;
 
@@ -45,6 +46,7 @@ class TokenIteratorTest extends TestCase
 	/**
 	 * @dataProvider dataGetDetectedNewline
 	 */
+	#[DataProvider('dataGetDetectedNewline')]
 	public function testGetDetectedNewline(string $phpDoc, ?string $expectedNewline): void
 	{
 		$config = new ParserConfig([]);
diff --git a/tests/PHPStan/Parser/TypeParserTest.php b/tests/PHPStan/Parser/TypeParserTest.php
index cae31c1..78bd68a 100644
--- a/tests/PHPStan/Parser/TypeParserTest.php
+++ b/tests/PHPStan/Parser/TypeParserTest.php
@@ -37,6 +37,7 @@ use PHPStan\PhpDocParser\Ast\Type\UnionTypeNode;
 use PHPStan\PhpDocParser\Lexer\Lexer;
 use PHPStan\PhpDocParser\ParserConfig;
 use PHPStan\PhpDocParser\Printer\Printer;
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
 use function get_class;
 use function strpos;
@@ -62,6 +63,7 @@ class TypeParserTest extends TestCase
 	 * @dataProvider provideParseData
 	 * @param TypeNode|Exception $expectedResult
 	 */
+	#[DataProvider('provideParseData')]
 	public function testParse(string $input, $expectedResult, int $nextTokenType = Lexer::TOKEN_END): void
 	{
 		if ($expectedResult instanceof Exception) {
@@ -115,7 +117,8 @@ class TypeParserTest extends TestCase
 	 * @dataProvider provideParseData
 	 * @param TypeNode|Exception $expectedResult
 	 */
-	public function testVerifyAttributes(string $input, $expectedResult): void
+	#[DataProvider('provideParseData')]
+	public function testVerifyAttributes(string $input, $expectedResult, int $nextTokenType = Lexer::TOKEN_END): void
 	{
 		if ($expectedResult instanceof Exception) {
 			$this->expectException(get_class($expectedResult));
@@ -3417,6 +3420,7 @@ class TypeParserTest extends TestCase
 	 * @dataProvider dataLinesAndIndexes
 	 * @param list<array{callable(Node): Node, string, int, int, int, int}> $assertions
 	 */
+	#[DataProvider('dataLinesAndIndexes')]
 	public function testLinesAndIndexes(string $input, array $assertions): void
 	{
 		$tokensArray = $this->lexer->tokenize($input);
diff --git a/tests/PHPStan/Printer/DifferTest.php b/tests/PHPStan/Printer/DifferTest.php
index a8c3a0f..2cb1e4f 100644
--- a/tests/PHPStan/Printer/DifferTest.php
+++ b/tests/PHPStan/Printer/DifferTest.php
@@ -2,6 +2,7 @@
 
 namespace PHPStan\PhpDocParser\Printer;
 
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
 use function str_split;
 
@@ -42,6 +43,7 @@ class DifferTest extends TestCase
 	/**
 	 * @dataProvider provideTestDiff
 	 */
+	#[DataProvider('provideTestDiff')]
 	public function testDiff(string $oldStr, string $newStr, string $expectedDiffStr): void
 	{
 		$differ = new Differ(static fn ($a, $b) => $a === $b);
@@ -68,6 +70,7 @@ class DifferTest extends TestCase
 	/**
 	 * @dataProvider provideTestDiffWithReplacements
 	 */
+	#[DataProvider('provideTestDiffWithReplacements')]
 	public function testDiffWithReplacements(string $oldStr, string $newStr, string $expectedDiffStr): void
 	{
 		$differ = new Differ(static fn ($a, $b) => $a === $b);
diff --git a/tests/PHPStan/Printer/IntegrationPrinterWithPhpParserTest.php b/tests/PHPStan/Printer/IntegrationPrinterWithPhpParserTest.php
index d7ee170..ad74f31 100644
--- a/tests/PHPStan/Printer/IntegrationPrinterWithPhpParserTest.php
+++ b/tests/PHPStan/Printer/IntegrationPrinterWithPhpParserTest.php
@@ -25,6 +25,7 @@ use PHPStan\PhpDocParser\Parser\PhpDocParser;
 use PHPStan\PhpDocParser\Parser\TokenIterator;
 use PHPStan\PhpDocParser\Parser\TypeParser;
 use PHPStan\PhpDocParser\ParserConfig;
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
 use function file_get_contents;
 use function str_repeat;
@@ -66,6 +67,7 @@ class IntegrationPrinterWithPhpParserTest extends TestCase
 	/**
 	 * @dataProvider dataPrint
 	 */
+	#[DataProvider('dataPrint')]
 	public function testPrint(string $file, string $expectedFile, NodeVisitor $visitor): void
 	{
 		$phpParserFactory = new ParserFactory();
diff --git a/tests/PHPStan/Printer/PrinterTest.php b/tests/PHPStan/Printer/PrinterTest.php
index 0982ae5..1a7844d 100644
--- a/tests/PHPStan/Printer/PrinterTest.php
+++ b/tests/PHPStan/Printer/PrinterTest.php
@@ -50,6 +50,7 @@ use PHPStan\PhpDocParser\Parser\PhpDocParser;
 use PHPStan\PhpDocParser\Parser\TokenIterator;
 use PHPStan\PhpDocParser\Parser\TypeParser;
 use PHPStan\PhpDocParser\ParserConfig;
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
 use function array_map;
 use function array_pop;
@@ -2629,6 +2630,7 @@ class PrinterTest extends TestCase
 	/**
 	 * @dataProvider dataPrintFormatPreserving
 	 */
+	#[DataProvider('dataPrintFormatPreserving')]
 	public function testPrintFormatPreserving(string $phpDoc, string $expectedResult, NodeVisitor $visitor): void
 	{
 		$config = new ParserConfig(['lines' => true, 'indexes' => true, 'comments' => true]);
@@ -2807,6 +2809,7 @@ class PrinterTest extends TestCase
 	/**
 	 * @dataProvider dataPrintType
 	 */
+	#[DataProvider('dataPrintType')]
 	public function testPrintType(TypeNode $node, string $expectedResult): void
 	{
 		$printer = new Printer();
@@ -2845,6 +2848,7 @@ class PrinterTest extends TestCase
 	/**
 	 * @dataProvider dataPrintPhpDocNode
 	 */
+	#[DataProvider('dataPrintPhpDocNode')]
 	public function testPrintPhpDocNode(PhpDocNode $node, string $expectedResult): void
 	{
 		$printer = new Printer();
