Skip to content

gen_stub: various simplifications and clean up (5) - #18665

Merged
DanielEScherzer merged 16 commits into
php:masterfrom
DanielEScherzer:stub-simplify-5
Jul 25, 2025
Merged

gen_stub: various simplifications and clean up (5)#18665
DanielEScherzer merged 16 commits into
php:masterfrom
DanielEScherzer:stub-simplify-5

Conversation

@DanielEScherzer

Copy link
Copy Markdown
Member

Each commit can be reviewed independently, and should have no functional changes

@DanielEScherzer

Copy link
Copy Markdown
MemberAuthor

@kocsismate should I rebase this now, or after your review?

@kocsismate

Copy link
Copy Markdown
Member

@DanielEScherzer Feel free to do it now! I have only checked very few commits so far :(

Comment threadbuild/gen_stub.php Outdated
Comment threadbuild/gen_stub.php Outdated
In preparation for moving this logic to a dedicated class, add support for a
maximum version of PHP in the generation of version-dependent flags. This
replaces the manual logic in `FuncInfo::getFunctionEntry()` to split up the
flags that are used when PHP 8.4 is not supported.
@DanielEScherzer
DanielEScherzerforce-pushed the stub-simplify-5 branch 2 times, most recently from 4d78964 to 5da22ccCompareJuly 24, 2025 00:15
@DanielEScherzer

Copy link
Copy Markdown
MemberAuthor

@kocsismatekocsismate left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some nits

Comment threadbuild/gen_stub.php Outdated
Comment threadbuild/gen_stub.php Outdated
Comment threadbuild/gen_stub.php Outdated
Comment threadbuild/gen_stub.php Outdated
Comment threadbuild/gen_stub.php Outdated
This new class holds the logic for applying different flags based on the PHP
version, and replaces `VariableLike::addFlagForVersionsAbove()` (use
`VersionFlags::addForVersionsAbove()`) and `generateVersionDependentFlagCode()`
(use `VersionFlags::generateVersionDependentFlagCode()`).
Reduce the number of global functions by moving it to instance method
`FileInfo::generateClassEntryCode()`.
Reduce the number of global functions by moving it to static method
`FileInfo::getFileDocComments()`. Since it is only used by
`FileInfo::parseStubFile()`, also make it private.
Simplifies the implementation of `::toTypeCode()` and `::toTypeMask()` by
combining the `switch` blocks.
* `FuncInfo::isFinalMethod()`
* `FuncInfo::getModifierNames()`
* `FuncInfo::equalsApartFromNameAndRefcount()`
Simplifies the implementation of `::getPredefinedConstantTerm()` and
`::getPredefinedConstantEntry()`, which only differ in the name of the tag
used.
@DanielEScherzer
DanielEScherzer merged commit 747ecce into php:masterJul 25, 2025
9 checks passed
@DanielEScherzer
DanielEScherzer deleted the stub-simplify-5 branch July 25, 2025 18:18
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@DanielEScherzer@kocsismate