-
Notifications
You must be signed in to change notification settings - Fork 7.9k
gen_stub: various simplifications and clean up (5) #18665
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
+284
−426
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
89eb11d
to
48ae55a
Compare
@kocsismate should I rebase this now, or after your review? |
@DanielEScherzer Feel free to do it now! I have only checked very few commits so far :( |
48ae55a
to
414a476
Compare
414a476
to
f0722ba
Compare
kocsismate
reviewed
Jul 23, 2025
kocsismate
reviewed
Jul 23, 2025
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.
4d78964
to
5da22cc
Compare
Fixed the issues |
kocsismate
reviewed
Jul 24, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some nits
kocsismate
reviewed
Jul 24, 2025
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.
5da22cc
to
657de9b
Compare
kocsismate
approved these changes
Jul 25, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Each commit can be reviewed independently, and should have no functional changes