@@ -133,19 +133,7 @@ function processStubFile(string $stubFile, Context $context, bool $includeOnly =
133133 }
134134
135135 if ($ fileInfo ->shouldGenerateLegacyArginfo ()) {
136- $ legacyFileInfo = clone $ fileInfo ;
137- $ legacyFileInfo ->legacyArginfoGeneration = true ;
138- $ phpVersionIdMinimumCompatibility = $ legacyFileInfo ->getMinimumPhpVersionIdCompatibility ();
139-
140- foreach ($ legacyFileInfo ->getAllFuncInfos () as $ funcInfo ) {
141- $ funcInfo ->discardInfoForOldPhpVersions ($ phpVersionIdMinimumCompatibility );
142- }
143- foreach ($ legacyFileInfo ->getAllClassInfos () as $ classInfo ) {
144- $ classInfo ->discardInfoForOldPhpVersions ($ phpVersionIdMinimumCompatibility );
145- }
146- foreach ($ legacyFileInfo ->getAllConstInfos () as $ constInfo ) {
147- $ constInfo ->discardInfoForOldPhpVersions ($ phpVersionIdMinimumCompatibility );
148- }
136+ $ legacyFileInfo = $ fileInfo ->getLegacyVersion ();
149137
150138 $ arginfoCode = generateArgInfoCode (
151139 basename ($ stubFilenameWithoutExtension ),
@@ -4172,7 +4160,7 @@ class FileInfo {
41724160 public string $ declarationPrefix = "" ;
41734161 public bool $ generateClassEntries = false ;
41744162 public bool $ isUndocumentable = false ;
4175- public bool $ legacyArginfoGeneration = false ;
4163+ private bool $ legacyArginfoGeneration = false ;
41764164 private ?int $ minimumPhpVersionIdCompatibility = null ;
41774165
41784166 /** @param array<int, DocCommentTag> $fileTags */
@@ -4232,15 +4220,6 @@ public function getAllConstInfos(): array {
42324220 return $ result ;
42334221 }
42344222
4235- /**
4236- * @return iterable<ClassInfo>
4237- */
4238- public function getAllClassInfos (): iterable {
4239- foreach ($ this ->classInfos as $ classInfo ) {
4240- yield $ classInfo ;
4241- }
4242- }
4243-
42444223 public function __clone ()
42454224 {
42464225 foreach ($ this ->constInfos as $ key => $ constInfo ) {
@@ -4272,6 +4251,23 @@ public function shouldGenerateLegacyArginfo(): bool {
42724251 return $ this ->minimumPhpVersionIdCompatibility !== null && $ this ->minimumPhpVersionIdCompatibility < PHP_80_VERSION_ID ;
42734252 }
42744253
4254+ public function getLegacyVersion (): FileInfo {
4255+ $ legacyFileInfo = clone $ this ;
4256+ $ legacyFileInfo ->legacyArginfoGeneration = true ;
4257+ $ phpVersionIdMinimumCompatibility = $ legacyFileInfo ->getMinimumPhpVersionIdCompatibility ();
4258+
4259+ foreach ($ legacyFileInfo ->getAllFuncInfos () as $ funcInfo ) {
4260+ $ funcInfo ->discardInfoForOldPhpVersions ($ phpVersionIdMinimumCompatibility );
4261+ }
4262+ foreach ($ legacyFileInfo ->classInfos as $ classInfo ) {
4263+ $ classInfo ->discardInfoForOldPhpVersions ($ phpVersionIdMinimumCompatibility );
4264+ }
4265+ foreach ($ legacyFileInfo ->getAllConstInfos () as $ constInfo ) {
4266+ $ constInfo ->discardInfoForOldPhpVersions ($ phpVersionIdMinimumCompatibility );
4267+ }
4268+ return $ legacyFileInfo ;
4269+ }
4270+
42754271 public function handleStatements (array $ stmts , PrettyPrinterAbstract $ prettyPrinter ): void {
42764272 $ conds = [];
42774273 foreach ($ stmts as $ stmt ) {
0 commit comments