From d083299f2dd34e1660c5ff93d797e39a5048dfae Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Wed, 7 Sep 2022 08:44:03 +0700 Subject: [PATCH 1/7] Try php-parser:dev-master --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 22d65f831db..15ea93aeae5 100644 --- a/composer.json +++ b/composer.json @@ -14,7 +14,7 @@ "composer/xdebug-handler": "^3.0.3", "doctrine/inflector": "^2.0.5", "nette/utils": "^3.2.8", - "nikic/php-parser": "^4.15.2", + "nikic/php-parser": "dev-master as 4.15.2", "ondram/ci-detector": "^4.1", "phpstan/phpdoc-parser": "^1.8", "phpstan/phpstan": "^1.9.0", From 2809b04416a69d10c22097a711d8e3868dd1feba Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Wed, 7 Sep 2022 08:46:42 +0700 Subject: [PATCH 2/7] try using alias --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 15ea93aeae5..863fdf5e5e8 100644 --- a/composer.json +++ b/composer.json @@ -14,7 +14,7 @@ "composer/xdebug-handler": "^3.0.3", "doctrine/inflector": "^2.0.5", "nette/utils": "^3.2.8", - "nikic/php-parser": "dev-master as 4.15.2", + "nikic/php-parser": "dev-master as 4.15.1", "ondram/ci-detector": "^4.1", "phpstan/phpdoc-parser": "^1.8", "phpstan/phpstan": "^1.9.0", From e4db6d6a9ed393fd12271f3251716d385f4b2412 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Wed, 7 Sep 2022 09:25:27 +0700 Subject: [PATCH 3/7] update to use phpparser-5 branch on vendor-patches --- composer.json | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/composer.json b/composer.json index 863fdf5e5e8..a2943135b74 100644 --- a/composer.json +++ b/composer.json @@ -138,21 +138,21 @@ "extra": { "patches": { "nikic/php-parser": [ - "https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-expr-closure-php.patch", - "https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-finally-php.patch", - "https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-function-php.patch", - "https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-do-php.patch", - "https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-catch-php.patch", - "https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-trycatch-php.patch", - "https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-for-php.patch", - "https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-classmethod-php.patch", - "https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-else-php.patch", - "https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-while-php.patch", - "https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-foreach-php.patch", - "https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-if-php.patch", - "https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-case-php.patch", - "https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-elseif-php.patch", - "https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-namespace-php.patch" + "https://raw.githubusercontent.com/rectorphp/vendor-patches/phpparser-5/patches/nikic-php-parser-lib-phpparser-node-expr-closure-php.patch", + "https://raw.githubusercontent.com/rectorphp/vendor-patches/phpparser-5/patches/nikic-php-parser-lib-phpparser-node-stmt-finally-php.patch", + "https://raw.githubusercontent.com/rectorphp/vendor-patches/phpparser-5/patches/nikic-php-parser-lib-phpparser-node-stmt-function-php.patch", + "https://raw.githubusercontent.com/rectorphp/vendor-patches/phpparser-5/patches/nikic-php-parser-lib-phpparser-node-stmt-do-php.patch", + "https://raw.githubusercontent.com/rectorphp/vendor-patches/phpparser-5/patches/nikic-php-parser-lib-phpparser-node-stmt-catch-php.patch", + "https://raw.githubusercontent.com/rectorphp/vendor-patches/phpparser-5/patches/nikic-php-parser-lib-phpparser-node-stmt-trycatch-php.patch", + "https://raw.githubusercontent.com/rectorphp/vendor-patches/phpparser-5/patches/nikic-php-parser-lib-phpparser-node-stmt-for-php.patch", + "https://raw.githubusercontent.com/rectorphp/vendor-patches/phpparser-5/patches/nikic-php-parser-lib-phpparser-node-stmt-classmethod-php.patch", + "https://raw.githubusercontent.com/rectorphp/vendor-patches/phpparser-5/patches/nikic-php-parser-lib-phpparser-node-stmt-else-php.patch", + "https://raw.githubusercontent.com/rectorphp/vendor-patches/phpparser-5/patches/nikic-php-parser-lib-phpparser-node-stmt-while-php.patch", + "https://raw.githubusercontent.com/rectorphp/vendor-patches/phpparser-5/patches/nikic-php-parser-lib-phpparser-node-stmt-foreach-php.patch", + "https://raw.githubusercontent.com/rectorphp/vendor-patches/phpparser-5/patches/nikic-php-parser-lib-phpparser-node-stmt-if-php.patch", + "https://raw.githubusercontent.com/rectorphp/vendor-patches/phpparser-5/patches/nikic-php-parser-lib-phpparser-node-stmt-case-php.patch", + "https://raw.githubusercontent.com/rectorphp/vendor-patches/phpparser-5/patches/nikic-php-parser-lib-phpparser-node-stmt-elseif-php.patch", + "https://raw.githubusercontent.com/rectorphp/vendor-patches/phpparser-5/patches/nikic-php-parser-lib-phpparser-node-stmt-namespace-php.patch" ], "symfony/dependency-injection": [ "https://raw.githubusercontent.com/symplify/vendor-patch-files/main/patches/generic-php-config-loader.patch", From 7a5e5d3a350333d18510fb3fc58ae364d97e7cd1 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Wed, 7 Sep 2022 09:50:03 +0700 Subject: [PATCH 4/7] regenerate preload.php --- preload-split-package.php | 19 ++++++++++++++++--- preload.php | 19 ++++++++++++++++--- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/preload-split-package.php b/preload-split-package.php index 37346a6a668..8f65d50018f 100644 --- a/preload-split-package.php +++ b/preload-split-package.php @@ -56,6 +56,7 @@ require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Internal/Differ.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Internal/TokenPolyfill.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/JsonDecoder.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php'; @@ -70,11 +71,15 @@ require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Modifiers.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/NameContext.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Arg.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/ArrayItem.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Attribute.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/ClosureUse.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/DeclareItem.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php'; @@ -168,15 +173,20 @@ require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/InterpolatedStringPart.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/MatchArm.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Param.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/PropertyItem.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Float_.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Int_.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/InterpolatedString.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php'; @@ -187,6 +197,7 @@ require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/StaticVar.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php'; @@ -235,6 +246,7 @@ require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/UnionType.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/UseItem.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/VariadicPlaceholder.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php'; @@ -246,12 +258,13 @@ require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php'; -require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Parser/Multiple.php'; -require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php'; -require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Parser/Tokens.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/PhpVersion.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Token.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/compatibility_tokens.php'; require_once __DIR__ . '/../../../vendor/phpstan/phpdoc-parser/src/Ast/Node.php'; require_once __DIR__ . '/../../../vendor/phpstan/phpdoc-parser/src/Lexer/Lexer.php'; require_once __DIR__ . '/../../../vendor/phpstan/phpdoc-parser/src/Ast/NodeAttributes.php'; diff --git a/preload.php b/preload.php index b1d2bf2d872..81c2cf61f3f 100644 --- a/preload.php +++ b/preload.php @@ -56,6 +56,7 @@ require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Internal/Differ.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenPolyfill.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/JsonDecoder.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php'; @@ -70,11 +71,15 @@ require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Modifiers.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/NameContext.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Arg.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/ArrayItem.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Attribute.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/ClosureUse.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/DeclareItem.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php'; @@ -168,15 +173,20 @@ require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/InterpolatedStringPart.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/MatchArm.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/PropertyItem.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Float_.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Int_.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/InterpolatedString.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php'; @@ -187,6 +197,7 @@ require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/StaticVar.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php'; @@ -235,6 +246,7 @@ require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/UnionType.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/UseItem.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/VariadicPlaceholder.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php'; @@ -246,12 +258,13 @@ require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php'; -require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Parser/Multiple.php'; -require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php'; -require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Parser/Tokens.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/PhpVersion.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Token.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/compatibility_tokens.php'; require_once __DIR__ . '/vendor/phpstan/phpdoc-parser/src/Ast/Node.php'; require_once __DIR__ . '/vendor/phpstan/phpdoc-parser/src/Lexer/Lexer.php'; require_once __DIR__ . '/vendor/phpstan/phpdoc-parser/src/Ast/NodeAttributes.php'; From fae5ae4037043cb310c77bfdc4cae11132d55ed2 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Wed, 7 Sep 2022 10:05:37 +0700 Subject: [PATCH 5/7] regenerate preload.php with various Node that moved to under Node --- build/build-preload.php | 25 +++++++++++++++++++++++++ preload-split-package.php | 7 ------- preload.php | 7 ------- 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/build/build-preload.php b/build/build-preload.php index 48548c69d1b..0fda8052d24 100755 --- a/build/build-preload.php +++ b/build/build-preload.php @@ -105,6 +105,21 @@ final class PreloadBuilder 'TypeNode.php', ]; + /** + * The classes are deprecated and moved under Node + * + * @var string[] + */ + private const IN_USE_CLASS_FILES = [ + 'Node/Expr/ArrayItem.php', + 'Node/Expr/ClosureUse.php', + 'Node/Scalar/EncapsedStringPart.php', + 'Node/Scalar/LNumber.php', + 'Node/Stmt/DeclareDeclare.php', + 'Node/Stmt/PropertyProperty.php', + 'Node/Stmt/StaticVar.php', + ]; + public function buildPreloadScript(string $buildDirectory, string $preloadFile): void { $this->buildPreloadScriptPhpParser($buildDirectory, $preloadFile); @@ -318,6 +333,16 @@ private function findPhpParserFilesAndSortThem(string $vendorDir): array // 2. put first-class usages first $fileInfos = $this->sortFileInfos($fileInfos); + foreach ($fileInfos as $key => $fileInfo) { + foreach (self::IN_USE_CLASS_FILES as $inUseClassFile) { + if (str_ends_with($fileInfo->getPathname(), $inUseClassFile)) { + unset($fileInfos[$key]); + } + } + } + + $fileInfos = array_values($fileInfos); + $stmtsAwareInterface = new SplFileInfo(__DIR__ . '/../src/Contract/PhpParser/Node/StmtsAwareInterface.php'); array_splice($fileInfos, 1, 0, [$stmtsAwareInterface]); diff --git a/preload-split-package.php b/preload-split-package.php index 8f65d50018f..0ebce104172 100644 --- a/preload-split-package.php +++ b/preload-split-package.php @@ -81,7 +81,6 @@ require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/DeclareItem.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php'; -require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php'; @@ -139,7 +138,6 @@ require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php'; -require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php'; @@ -183,11 +181,9 @@ require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/PropertyItem.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php'; -require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Float_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Int_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/InterpolatedString.php'; -require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php'; @@ -206,7 +202,6 @@ require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php'; -require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php'; @@ -230,9 +225,7 @@ require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php'; -require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php'; -require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php'; diff --git a/preload.php b/preload.php index 81c2cf61f3f..048247ba784 100644 --- a/preload.php +++ b/preload.php @@ -81,7 +81,6 @@ require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/DeclareItem.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php'; -require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php'; @@ -139,7 +138,6 @@ require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php'; -require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php'; @@ -183,11 +181,9 @@ require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/PropertyItem.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php'; -require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Float_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Int_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/InterpolatedString.php'; -require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php'; @@ -206,7 +202,6 @@ require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php'; -require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php'; @@ -230,9 +225,7 @@ require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php'; -require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php'; -require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php'; From bb18c42982fa7ff4cc52a073c6991fc0de5b57c2 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 11 Sep 2022 08:56:56 +0700 Subject: [PATCH 6/7] improve build-preload performance by continue 2; on unset() executed inner loop --- build/build-preload.php | 1 + 1 file changed, 1 insertion(+) diff --git a/build/build-preload.php b/build/build-preload.php index 0fda8052d24..33a3f849ff3 100755 --- a/build/build-preload.php +++ b/build/build-preload.php @@ -337,6 +337,7 @@ private function findPhpParserFilesAndSortThem(string $vendorDir): array foreach (self::IN_USE_CLASS_FILES as $inUseClassFile) { if (str_ends_with($fileInfo->getPathname(), $inUseClassFile)) { unset($fileInfos[$key]); + continue 2; } } } From 705cffba522a40d4ca99ea1e192b06ff9bdd6274 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Wed, 16 Nov 2022 01:59:37 +0700 Subject: [PATCH 7/7] regenerate preload file --- preload-split-package.php | 1 + preload.php | 1 + 2 files changed, 2 insertions(+) diff --git a/preload-split-package.php b/preload-split-package.php index 0ebce104172..786b5e3aac4 100644 --- a/preload-split-package.php +++ b/preload-split-package.php @@ -69,6 +69,7 @@ require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php'; +require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php'; require_once __DIR__ . '/../../../vendor/nikic/php-parser/lib/PhpParser/Modifiers.php'; diff --git a/preload.php b/preload.php index 048247ba784..53c9a4be141 100644 --- a/preload.php +++ b/preload.php @@ -69,6 +69,7 @@ require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php'; +require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Modifiers.php';