Skip to content

Conversation

DanielEScherzer
Copy link
Member

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

@DanielEScherzer
Copy link
Member Author

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

@kocsismate
Copy link
Member

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

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 DanielEScherzer force-pushed the stub-simplify-5 branch 2 times, most recently from 4d78964 to 5da22cc Compare July 24, 2025 00:15
@DanielEScherzer
Copy link
Member Author

Copy link
Member

@kocsismate kocsismate left a comment

Choose a reason for hiding this comment

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

Some nits

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:master Jul 25, 2025
9 checks passed
@DanielEScherzer DanielEScherzer deleted the stub-simplify-5 branch July 25, 2025 18:18
Sign up for free to 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