]> granicus.if.org Git - php/commitdiff
Add @generate-legacy-arginfo tag
authorNikita Popov <nikita.ppv@gmail.com>
Mon, 5 Oct 2020 13:47:26 +0000 (15:47 +0200)
committerRemi Collet <remi@php.net>
Mon, 5 Oct 2020 14:33:54 +0000 (16:33 +0200)
build/gen_stub.php

index fba1b0a94e18265a1eab7610c955c5108a86a097..41542cf97b423e0db6ff1d2f55b026de73f4b4a6 100755 (executable)
@@ -49,7 +49,7 @@ function processStubFile(string $stubFile, Context $context) {
             echo "Saved $arginfoFile\n";
         }
 
-        if (file_exists($legacyFile)) {
+        if ($fileInfo->generateLegacyArginfo) {
             foreach ($fileInfo->getAllFuncInfos() as $funcInfo) {
                 $funcInfo->discardInfoForOldPhpVersions();
             }
@@ -633,6 +633,8 @@ class FileInfo {
     public $generateFunctionEntries = false;
     /** @var string */
     public $declarationPrefix = "";
+    /** @var bool */
+    public $generateLegacyArginfo = false;
 
     /**
      * @return iterable<FuncInfo>
@@ -955,6 +957,8 @@ function parseStubFile(string $code): FileInfo {
             if ($tag->name === 'generate-function-entries') {
                 $fileInfo->generateFunctionEntries = true;
                 $fileInfo->declarationPrefix = $tag->value ? $tag->value . " " : "";
+            } else if ($tag->name === 'generate-legacy-arginfo') {
+                $fileInfo->generateLegacyArginfo = true;
             }
         }
     }