diff --git a/test/PhpParser/Builder/ClassConstTest.php b/test/PhpParser/Builder/ClassConstTest.php
index f0cccfd2..ac6590b4 100644
--- a/test/PhpParser/Builder/ClassConstTest.php
+++ b/test/PhpParser/Builder/ClassConstTest.php
@@ -165,7 +165,7 @@ class ClassConstTest extends \PHPUnit\Framework\TestCase {
         $this->assertEquals($expectedValueNode, $node->consts[0]->value);
     }
 
-    public function provideTestDefaultValues() {
+    public static function provideTestDefaultValues() {
         return [
             [
                 null,
diff --git a/test/PhpParser/Builder/EnumCaseTest.php b/test/PhpParser/Builder/EnumCaseTest.php
index fb0ddfaf..04c032c1 100644
--- a/test/PhpParser/Builder/EnumCaseTest.php
+++ b/test/PhpParser/Builder/EnumCaseTest.php
@@ -68,7 +68,7 @@ class EnumCaseTest extends \PHPUnit\Framework\TestCase {
         $this->assertEquals($expectedValueNode, $node->expr);
     }
 
-    public function provideTestDefaultValues() {
+    public static function provideTestDefaultValues() {
         return [
             [
                 31415,
diff --git a/test/PhpParser/Builder/ParamTest.php b/test/PhpParser/Builder/ParamTest.php
index f1ac65bb..0baeb1e7 100644
--- a/test/PhpParser/Builder/ParamTest.php
+++ b/test/PhpParser/Builder/ParamTest.php
@@ -30,7 +30,7 @@ class ParamTest extends \PHPUnit\Framework\TestCase {
         $this->assertEquals($expectedValueNode, $node->default);
     }
 
-    public function provideTestDefaultValues() {
+    public static function provideTestDefaultValues() {
         return [
             [
                 null,
@@ -107,7 +107,7 @@ class ParamTest extends \PHPUnit\Framework\TestCase {
         $this->assertEquals($expectedType, $type);
     }
 
-    public function provideTestTypes() {
+    public static function provideTestTypes() {
         return [
             ['array', new Node\Identifier('array')],
             ['callable', new Node\Identifier('callable')],
@@ -127,7 +127,7 @@ class ParamTest extends \PHPUnit\Framework\TestCase {
         ];
     }
 
-    public function provideTestNullableTypes() {
+    public static function provideTestNullableTypes() {
         return [
             ['?array', new Node\NullableType(new Node\Identifier('array'))],
             ['?Some\Class', new Node\NullableType(new Node\Name('Some\Class'))],
@@ -142,7 +142,7 @@ class ParamTest extends \PHPUnit\Framework\TestCase {
         ];
     }
 
-    public function provideTestUnionTypes() {
+    public static function provideTestUnionTypes() {
         return [
             [
                 new Node\UnionType([
diff --git a/test/PhpParser/Builder/PropertyTest.php b/test/PhpParser/Builder/PropertyTest.php
index b2983141..bbaced4d 100644
--- a/test/PhpParser/Builder/PropertyTest.php
+++ b/test/PhpParser/Builder/PropertyTest.php
@@ -136,7 +136,7 @@ class PropertyTest extends \PHPUnit\Framework\TestCase {
         );
     }
 
-    public function provideTestDefaultValues() {
+    public static function provideTestDefaultValues() {
         return [
             [
                 null,
diff --git a/test/PhpParser/BuilderFactoryTest.php b/test/PhpParser/BuilderFactoryTest.php
index 8c08cc20..7597a144 100644
--- a/test/PhpParser/BuilderFactoryTest.php
+++ b/test/PhpParser/BuilderFactoryTest.php
@@ -20,7 +20,7 @@ class BuilderFactoryTest extends \PHPUnit\Framework\TestCase {
         $this->assertInstanceOf($className, $factory->$methodName('test'));
     }
 
-    public function provideTestFactory() {
+    public static function provideTestFactory() {
         return [
             ['namespace',   Builder\Namespace_::class],
             ['class',       Builder\Class_::class],
diff --git a/test/PhpParser/CodeParsingTest.php b/test/PhpParser/CodeParsingTest.php
index b843e286..0c479a51 100644
--- a/test/PhpParser/CodeParsingTest.php
+++ b/test/PhpParser/CodeParsingTest.php
@@ -50,8 +50,8 @@ class CodeParsingTest extends CodeTestAbstract {
         return [$stmts, canonicalize($output)];
     }
 
-    public function provideTestParse() {
-        return $this->getTests(__DIR__ . '/../code/parser', 'test');
+    public static function provideTestParse() {
+        return self::getTests(__DIR__ . '/../code/parser', 'test');
     }
 
     private function formatErrorMessage(Error $e, $code) {
diff --git a/test/PhpParser/CodeTestAbstract.php b/test/PhpParser/CodeTestAbstract.php
index f11c11ba..145f7dda 100644
--- a/test/PhpParser/CodeTestAbstract.php
+++ b/test/PhpParser/CodeTestAbstract.php
@@ -3,7 +3,7 @@
 namespace PhpParser;
 
 abstract class CodeTestAbstract extends \PHPUnit\Framework\TestCase {
-    protected function getTests($directory, $fileExtension, $chunksPerTest = 2) {
+    protected static function getTests($directory, $fileExtension, $chunksPerTest = 2) {
         $parser = new CodeTestParser();
         $allTests = [];
         foreach (filesInDir($directory, $fileExtension) as $fileName => $fileContents) {
diff --git a/test/PhpParser/CommentTest.php b/test/PhpParser/CommentTest.php
index 255eccb8..1d0f0ebd 100644
--- a/test/PhpParser/CommentTest.php
+++ b/test/PhpParser/CommentTest.php
@@ -25,7 +25,7 @@ class CommentTest extends \PHPUnit\Framework\TestCase {
         $this->assertSame($reformattedText, $comment->getReformattedText());
     }
 
-    public function provideTestReformatting() {
+    public static function provideTestReformatting() {
         return [
             ['// Some text', '// Some text'],
             ['/* Some text */', '/* Some text */'],
diff --git a/test/PhpParser/ConstExprEvaluatorTest.php b/test/PhpParser/ConstExprEvaluatorTest.php
index 0f5ac794..fa0484ba 100644
--- a/test/PhpParser/ConstExprEvaluatorTest.php
+++ b/test/PhpParser/ConstExprEvaluatorTest.php
@@ -14,7 +14,7 @@ class ConstExprEvaluatorTest extends \PHPUnit\Framework\TestCase {
         $this->assertSame($expected, $evaluator->evaluateDirectly($expr));
     }
 
-    public function provideTestEvaluate() {
+    public static function provideTestEvaluate() {
         return [
             ['1', 1],
             ['1.0', 1.0],
@@ -115,7 +115,7 @@ class ConstExprEvaluatorTest extends \PHPUnit\Framework\TestCase {
         }
     }
 
-    public function provideTestEvaluateSilently() {
+    public static function provideTestEvaluateSilently() {
         return [
             [
                 new Expr\BinaryOp\Mod(new Scalar\Int_(42), new Scalar\Int_(0)),
diff --git a/test/PhpParser/ErrorTest.php b/test/PhpParser/ErrorTest.php
index b3ef521e..b86412ee 100644
--- a/test/PhpParser/ErrorTest.php
+++ b/test/PhpParser/ErrorTest.php
@@ -51,7 +51,7 @@ class ErrorTest extends \PHPUnit\Framework\TestCase {
         $this->assertSame($endColumn, $error->getEndColumn($code));
     }
 
-    public function provideTestColumnInfo() {
+    public static function provideTestColumnInfo() {
         return [
             // Error at "bar"
             ["<?php foo bar baz", 10, 12, 11, 13],
diff --git a/test/PhpParser/Internal/DifferTest.php b/test/PhpParser/Internal/DifferTest.php
index 039335ee..a50ca667 100644
--- a/test/PhpParser/Internal/DifferTest.php
+++ b/test/PhpParser/Internal/DifferTest.php
@@ -36,7 +36,7 @@ class DifferTest extends \PHPUnit\Framework\TestCase {
         $this->assertSame($expectedDiffStr, $this->formatDiffString($diff));
     }
 
-    public function provideTestDiff() {
+    public static function provideTestDiff() {
         return [
             ['abc', 'abc', 'abc'],
             ['abc', 'abcdef', 'abc+d+e+f'],
@@ -57,7 +57,7 @@ class DifferTest extends \PHPUnit\Framework\TestCase {
         $this->assertSame($expectedDiffStr, $this->formatDiffString($diff));
     }
 
-    public function provideTestDiffWithReplacements() {
+    public static function provideTestDiffWithReplacements() {
         return [
             ['abcde', 'axyze', 'a/bx/cy/dze'],
             ['abcde', 'xbcdy', '/axbcd/ey'],
diff --git a/test/PhpParser/JsonDecoderTest.php b/test/PhpParser/JsonDecoderTest.php
index 3fb105f9..9f1e837f 100644
--- a/test/PhpParser/JsonDecoderTest.php
+++ b/test/PhpParser/JsonDecoderTest.php
@@ -30,7 +30,7 @@ PHP;
         $jsonDecoder->decode($json);
     }
 
-    public function provideTestDecodingError() {
+    public static function provideTestDecodingError() {
         return [
             ['???', 'JSON decoding error: Syntax error'],
             ['{"nodeType":123}', 'Node type must be a string'],
diff --git a/test/PhpParser/Lexer/EmulativeTest.php b/test/PhpParser/Lexer/EmulativeTest.php
index f77da514..0549290f 100644
--- a/test/PhpParser/Lexer/EmulativeTest.php
+++ b/test/PhpParser/Lexer/EmulativeTest.php
@@ -89,7 +89,7 @@ class EmulativeTest extends LexerTest {
         ], $lexer->tokenize($code));
     }
 
-    public function provideTestReplaceKeywords() {
+    public static function provideTestReplaceKeywords() {
         return [
             // PHP 8.0
             ['match',         \T_MATCH],
@@ -173,7 +173,7 @@ class EmulativeTest extends LexerTest {
         $this->assertSame($expLine, $attrs['endLine']);
     }
 
-    public function provideTestLexNewFeatures() {
+    public static function provideTestLexNewFeatures() {
         return [
             ['yield from', [
                 [\T_YIELD_FROM, 'yield from'],
@@ -401,7 +401,7 @@ class EmulativeTest extends LexerTest {
         $this->assertSameTokens($expectedTokens, $lexer->tokenize('<?php ' . $code));
     }
 
-    public function provideTestTargetVersion() {
+    public static function provideTestTargetVersion() {
         return [
             ['8.0', 'match', [[\T_MATCH, 'match']]],
             ['7.4', 'match', [[\T_STRING, 'match']]],
diff --git a/test/PhpParser/LexerTest.php b/test/PhpParser/LexerTest.php
index 2f71f029..c70d83e2 100644
--- a/test/PhpParser/LexerTest.php
+++ b/test/PhpParser/LexerTest.php
@@ -29,7 +29,7 @@ class LexerTest extends \PHPUnit\Framework\TestCase {
         }
     }
 
-    public function provideTestError() {
+    public static function provideTestError() {
         return [
             ["<?php /*", ["Unterminated comment from 1:7 to 1:9"]],
             ["<?php /*\n", ["Unterminated comment from 1:7 to 2:1"]],
@@ -70,7 +70,7 @@ class LexerTest extends \PHPUnit\Framework\TestCase {
         }
     }
 
-    public function provideTestLex() {
+    public static function provideTestLex() {
         return [
             // tests PHP 8 T_NAME_* emulation
             [
diff --git a/test/PhpParser/NameContextTest.php b/test/PhpParser/NameContextTest.php
index b6474faf..1c8295e7 100644
--- a/test/PhpParser/NameContextTest.php
+++ b/test/PhpParser/NameContextTest.php
@@ -32,7 +32,7 @@ class NameContextTest extends \PHPUnit\Framework\TestCase {
         );
     }
 
-    public function provideTestGetPossibleNames() {
+    public static function provideTestGetPossibleNames() {
         return [
             [Use_::TYPE_NORMAL, 'Test', ['\Test']],
             [Use_::TYPE_NORMAL, 'Test\Namespaced', ['\Test\Namespaced']],
diff --git a/test/PhpParser/Node/Expr/CallableLikeTest.php b/test/PhpParser/Node/Expr/CallableLikeTest.php
index c01bb8eb..c30e21aa 100644
--- a/test/PhpParser/Node/Expr/CallableLikeTest.php
+++ b/test/PhpParser/Node/Expr/CallableLikeTest.php
@@ -18,7 +18,7 @@ class CallableLikeTest extends \PHPUnit\Framework\TestCase {
         }
     }
 
-    public function provideTestIsFirstClassCallable() {
+    public static function provideTestIsFirstClassCallable() {
         $normalArgs = [new Arg(new Int_(1))];
         $callableArgs = [new VariadicPlaceholder()];
         return [
diff --git a/test/PhpParser/Node/IdentifierTest.php b/test/PhpParser/Node/IdentifierTest.php
index f8f328a7..fa3e066e 100644
--- a/test/PhpParser/Node/IdentifierTest.php
+++ b/test/PhpParser/Node/IdentifierTest.php
@@ -22,7 +22,7 @@ class IdentifierTest extends \PHPUnit\Framework\TestCase {
         $this->assertSame($expected, $identifier->isSpecialClassName());
     }
 
-    public function provideTestIsSpecialClassName() {
+    public static function provideTestIsSpecialClassName() {
         return [
             ['self', true],
             ['PARENT', true],
diff --git a/test/PhpParser/Node/NameTest.php b/test/PhpParser/Node/NameTest.php
index 262b95e2..eb25d04b 100644
--- a/test/PhpParser/Node/NameTest.php
+++ b/test/PhpParser/Node/NameTest.php
@@ -152,7 +152,7 @@ class NameTest extends \PHPUnit\Framework\TestCase {
         $this->assertSame($expected, $name->isSpecialClassName());
     }
 
-    public function provideTestIsSpecialClassName() {
+    public static function provideTestIsSpecialClassName() {
         return [
             ['self', true],
             ['PARENT', true],
diff --git a/test/PhpParser/Node/ParamTest.php b/test/PhpParser/Node/ParamTest.php
index 23b23ae0..96d9de40 100644
--- a/test/PhpParser/Node/ParamTest.php
+++ b/test/PhpParser/Node/ParamTest.php
@@ -26,7 +26,7 @@ class ParamTest extends \PHPUnit\Framework\TestCase {
         $this->assertTrue($node->{'is' . $modifier}());
     }
 
-    public function provideModifiers() {
+    public static function provideModifiers() {
         return [
             ['public'],
             ['protected'],
diff --git a/test/PhpParser/Node/Scalar/MagicConstTest.php b/test/PhpParser/Node/Scalar/MagicConstTest.php
index b7c48b35..825b1b17 100644
--- a/test/PhpParser/Node/Scalar/MagicConstTest.php
+++ b/test/PhpParser/Node/Scalar/MagicConstTest.php
@@ -10,7 +10,7 @@ class MagicConstTest extends \PHPUnit\Framework\TestCase {
         $this->assertSame($name, $magicConst->getName());
     }
 
-    public function provideTestGetName() {
+    public static function provideTestGetName() {
         return [
             [new MagicConst\Class_(), '__CLASS__'],
             [new MagicConst\Dir(), '__DIR__'],
diff --git a/test/PhpParser/Node/Scalar/StringTest.php b/test/PhpParser/Node/Scalar/StringTest.php
index 4b2c3b22..cb0968c2 100644
--- a/test/PhpParser/Node/Scalar/StringTest.php
+++ b/test/PhpParser/Node/Scalar/StringTest.php
@@ -42,7 +42,7 @@ class StringTest extends \PHPUnit\Framework\TestCase {
         );
     }
 
-    public function provideTestParseEscapeSequences() {
+    public static function provideTestParseEscapeSequences() {
         return [
             ['"',              '\\"',              '"'],
             ['\\"',            '\\"',              '`'],
@@ -57,7 +57,7 @@ class StringTest extends \PHPUnit\Framework\TestCase {
         ];
     }
 
-    public function provideTestParse() {
+    public static function provideTestParse() {
         $tests = [
             ['A', '\'A\''],
             ['A', 'b\'A\''],
@@ -67,7 +67,7 @@ class StringTest extends \PHPUnit\Framework\TestCase {
             ['\'', '\'\\\'\''],
         ];
 
-        foreach ($this->provideTestParseEscapeSequences() as $i => $test) {
+        foreach (self::provideTestParseEscapeSequences() as $i => $test) {
             // skip second and third tests, they aren't for double quotes
             if ($i !== 1 && $i !== 2) {
                 $tests[] = [$test[0], '"' . $test[1] . '"'];
diff --git a/test/PhpParser/Node/Stmt/ClassConstTest.php b/test/PhpParser/Node/Stmt/ClassConstTest.php
index 789b9a9c..7206ebf4 100644
--- a/test/PhpParser/Node/Stmt/ClassConstTest.php
+++ b/test/PhpParser/Node/Stmt/ClassConstTest.php
@@ -26,7 +26,7 @@ class ClassConstTest extends \PHPUnit\Framework\TestCase {
         $this->assertFalse($node->isFinal());
     }
 
-    public function provideModifiers() {
+    public static function provideModifiers() {
         return [
             ['public'],
             ['protected'],
diff --git a/test/PhpParser/Node/Stmt/ClassMethodTest.php b/test/PhpParser/Node/Stmt/ClassMethodTest.php
index c3f779ea..17bb3ec5 100644
--- a/test/PhpParser/Node/Stmt/ClassMethodTest.php
+++ b/test/PhpParser/Node/Stmt/ClassMethodTest.php
@@ -31,7 +31,7 @@ class ClassMethodTest extends \PHPUnit\Framework\TestCase {
         $this->assertFalse($node->isMagic());
     }
 
-    public function provideModifiers() {
+    public static function provideModifiers() {
         return [
             ['public'],
             ['protected'],
@@ -57,7 +57,7 @@ class ClassMethodTest extends \PHPUnit\Framework\TestCase {
         $this->assertTrue($node->isPublic(), 'Node should be implicitly public');
     }
 
-    public function implicitPublicModifiers() {
+    public static function implicitPublicModifiers() {
         return [
             ['abstract'],
             ['final'],
@@ -75,7 +75,7 @@ class ClassMethodTest extends \PHPUnit\Framework\TestCase {
         $this->assertTrue($node->isMagic(), 'Method should be magic');
     }
 
-    public function provideMagics() {
+    public static function provideMagics() {
         return [
              ['__construct'],
              ['__DESTRUCT'],
diff --git a/test/PhpParser/Node/Stmt/PropertyTest.php b/test/PhpParser/Node/Stmt/PropertyTest.php
index 8279aa7a..a55992c1 100644
--- a/test/PhpParser/Node/Stmt/PropertyTest.php
+++ b/test/PhpParser/Node/Stmt/PropertyTest.php
@@ -36,7 +36,7 @@ class PropertyTest extends \PHPUnit\Framework\TestCase {
         $this->assertFalse($node->isReadonly());
     }
 
-    public function provideModifiers() {
+    public static function provideModifiers() {
         return [
             ['public'],
             ['protected'],
diff --git a/test/PhpParser/NodeAbstractTest.php b/test/PhpParser/NodeAbstractTest.php
index 2b7c1f8c..dc521c79 100644
--- a/test/PhpParser/NodeAbstractTest.php
+++ b/test/PhpParser/NodeAbstractTest.php
@@ -25,7 +25,7 @@ class DummyNode extends NodeAbstract {
 }
 
 class NodeAbstractTest extends \PHPUnit\Framework\TestCase {
-    public function provideNodes() {
+    public static function provideNodes() {
         $attributes = [
             'startLine' => 10,
             'endLine' => 11,
diff --git a/test/PhpParser/NodeDumperTest.php b/test/PhpParser/NodeDumperTest.php
index 8b21948e..f0e65cac 100644
--- a/test/PhpParser/NodeDumperTest.php
+++ b/test/PhpParser/NodeDumperTest.php
@@ -16,7 +16,7 @@ class NodeDumperTest extends \PHPUnit\Framework\TestCase {
         $this->assertSame($this->canonicalize($dump), $this->canonicalize($dumper->dump($node)));
     }
 
-    public function provideTestDump() {
+    public static function provideTestDump() {
         return [
             [
                 [],
diff --git a/test/PhpParser/NodeTraverserTest.php b/test/PhpParser/NodeTraverserTest.php
index bc84600b..09ea8143 100644
--- a/test/PhpParser/NodeTraverserTest.php
+++ b/test/PhpParser/NodeTraverserTest.php
@@ -424,7 +424,7 @@ class NodeTraverserTest extends \PHPUnit\Framework\TestCase {
         $traverser->traverse($stmts);
     }
 
-    public function provideTestInvalidReturn() {
+    public static function provideTestInvalidReturn() {
         $num = new Node\Scalar\Int_(42);
         $expr = new Node\Stmt\Expression($num);
         $stmts = [$expr];
diff --git a/test/PhpParser/NodeVisitor/NameResolverTest.php b/test/PhpParser/NodeVisitor/NameResolverTest.php
index 449051fb..84dc33e6 100644
--- a/test/PhpParser/NodeVisitor/NameResolverTest.php
+++ b/test/PhpParser/NodeVisitor/NameResolverTest.php
@@ -407,7 +407,7 @@ EOC;
         $traverser->traverse([$stmt]);
     }
 
-    public function provideTestError() {
+    public static function provideTestError() {
         return [
             [
                 new Stmt\Use_([
diff --git a/test/PhpParser/Parser/Php7Test.php b/test/PhpParser/Parser/Php7Test.php
index 22a4c519..7b45cb14 100644
--- a/test/PhpParser/Parser/Php7Test.php
+++ b/test/PhpParser/Parser/Php7Test.php
@@ -3,9 +3,9 @@
 namespace PhpParser\Parser;
 
 use PhpParser\Lexer;
-use PhpParser\ParserTest;
+use PhpParser\ParserTestAbstract;
 
-class Php7Test extends ParserTest
+class Php7Test extends ParserTestAbstract
 {
     protected function getParser(Lexer $lexer) {
         return new Php7($lexer);
diff --git a/test/PhpParser/Parser/Php8Test.php b/test/PhpParser/Parser/Php8Test.php
index f771672d..769e8b79 100644
--- a/test/PhpParser/Parser/Php8Test.php
+++ b/test/PhpParser/Parser/Php8Test.php
@@ -3,9 +3,9 @@
 namespace PhpParser\Parser;
 
 use PhpParser\Lexer;
-use PhpParser\ParserTest;
+use PhpParser\ParserTestAbstract;
 
-class Php8Test extends ParserTest
+class Php8Test extends ParserTestAbstract
 {
     protected function getParser(Lexer $lexer) {
         return new Php8($lexer);
diff --git a/test/PhpParser/ParserTest.php b/test/PhpParser/ParserTestAbstract.php
similarity index 98%
rename from test/PhpParser/ParserTest.php
rename to test/PhpParser/ParserTestAbstract.php
index 80966859..9f083b2e 100644
--- a/test/PhpParser/ParserTest.php
+++ b/test/PhpParser/ParserTestAbstract.php
@@ -7,7 +7,7 @@ use PhpParser\Node\Scalar;
 use PhpParser\Node\Scalar\String_;
 use PhpParser\Node\Stmt;
 
-abstract class ParserTest extends \PHPUnit\Framework\TestCase {
+abstract class ParserTestAbstract extends \PHPUnit\Framework\TestCase {
     /** @returns Parser */
     abstract protected function getParser(Lexer $lexer);
 
@@ -128,7 +128,7 @@ EOC;
         }
     }
 
-    public function provideTestExtraAttributes() {
+    public static function provideTestExtraAttributes() {
         return [
             ['0', ['kind' => Scalar\Int_::KIND_DEC]],
             ['9', ['kind' => Scalar\Int_::KIND_DEC]],
diff --git a/test/PhpParser/PrettyPrinterTest.php b/test/PhpParser/PrettyPrinterTest.php
index a937d749..eda8e5dd 100644
--- a/test/PhpParser/PrettyPrinterTest.php
+++ b/test/PhpParser/PrettyPrinterTest.php
@@ -40,12 +40,12 @@ class PrettyPrinterTest extends CodeTestAbstract {
         $this->doTestPrettyPrintMethod('prettyPrintFile', $name, $code, $expected, $mode);
     }
 
-    public function provideTestPrettyPrint() {
-        return $this->getTests(__DIR__ . '/../code/prettyPrinter', 'test');
+    public static function provideTestPrettyPrint() {
+        return self::getTests(__DIR__ . '/../code/prettyPrinter', 'test');
     }
 
-    public function provideTestPrettyPrintFile() {
-        return $this->getTests(__DIR__ . '/../code/prettyPrinter', 'file-test');
+    public static function provideTestPrettyPrintFile() {
+        return self::getTests(__DIR__ . '/../code/prettyPrinter', 'file-test');
     }
 
     public function testPrettyPrintExpr(): void {
@@ -88,7 +88,7 @@ class PrettyPrinterTest extends CodeTestAbstract {
         $this->assertSame($expected, $result);
     }
 
-    public function provideTestKindAttributes() {
+    public static function provideTestKindAttributes() {
         $nowdoc = ['kind' => String_::KIND_NOWDOC, 'docLabel' => 'STR'];
         $heredoc = ['kind' => String_::KIND_HEREDOC, 'docLabel' => 'STR'];
         return [
@@ -144,7 +144,7 @@ class PrettyPrinterTest extends CodeTestAbstract {
         $this->assertSame($expected, $result);
     }
 
-    public function provideTestUnnaturalLiterals() {
+    public static function provideTestUnnaturalLiterals() {
         return [
             [new Int_(-1), '-1'],
             [new Int_(-PHP_INT_MAX - 1), '(-' . PHP_INT_MAX . '-1)'],
@@ -209,8 +209,8 @@ CODE
         $this->assertSame(canonicalize($expected), canonicalize($newCode), $name);
     }
 
-    public function provideTestFormatPreservingPrint() {
-        return $this->getTests(__DIR__ . '/../code/formatPreservation', 'test', 3);
+    public static function provideTestFormatPreservingPrint() {
+        return self::getTests(__DIR__ . '/../code/formatPreservation', 'test', 3);
     }
 
     /**
@@ -245,10 +245,10 @@ CODE
         $this->assertSame(canonicalize($code), canonicalize($newCode), $name);
     }
 
-    public function provideTestRoundTripPrint() {
+    public static function provideTestRoundTripPrint() {
         return array_merge(
-            $this->getTests(__DIR__ . '/../code/prettyPrinter', 'test'),
-            $this->getTests(__DIR__ . '/../code/parser', 'test')
+            self::getTests(__DIR__ . '/../code/prettyPrinter', 'test'),
+            self::getTests(__DIR__ . '/../code/parser', 'test')
         );
     }
 
diff --git a/test/PhpParser/TokenTest.php b/test/PhpParser/TokenTest.php
index 8297699c..c015d9fa 100644
--- a/test/PhpParser/TokenTest.php
+++ b/test/PhpParser/TokenTest.php
@@ -28,7 +28,7 @@ class TokenTest extends \PHPUnit\Framework\TestCase {
         $this->assertSame($isIgnorable, $token->isIgnorable());
     }
 
-    public function provideTestIsIgnorable() {
+    public static function provideTestIsIgnorable() {
         return [
             [\T_STRING, 'foo', false],
             [\T_WHITESPACE, ' ', true],