Skip to content
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

gen_stub: various simplifications and clean up (3) #17886

Merged
merged 10 commits into from
Mar 16, 2025

Conversation

DanielEScherzer
Copy link
Contributor

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

The following properties are made private:
* `ArrayType::$keyType`, `::$valueType`
* `ArginfoType::$builtinTypes`
* `ConstName::$const`
* `ClassConstName::$const`
* `PropertyName::$property`
* `FuncInfo::$classFlags`, `::$isDeprecated`, `::$supportsCompileTimeEval`,
`::$minimumPhpVersionIdCompatibility`, `::$framelessFunctionInfos`,
`::$exposedDocComment`
* `VariableLike::$link`
* `ConstInfo::$isDeprecated`, `::$valueString`, `::$isFileCacheAllowed`
* `PropertyInfo::$classFlags`, `::$defaultValue`,
`::$defaultValueString`, `::$isDocReadonly`, `::$isVirtual`
* `EnumCaseInfo::$name`, `::$value`
* `AttributeInfo::$args`
* `ClassInfo::$enumBackingType`, `::$isDeprecated`, `::$exposedDocComment`,
`::$isStrictProperties`, `::$isNotSerializable`, `::$propertyInfos`,
`::$enumCaseInfos`

The following are made protected:
* `VariableLike::$exposedDocComment`, `::$phpVersionIdMinimumCompatibility`
Move the logic from `parseStubFile()` to `FileInfo::__construct()`, and in the
process inline and remove `FileInfo::setMinimumPhpVersionIdCompatibility()`.
Unused, only caller passes in the same FuncInfo object that the method is
called on.
Deduplicate reporting out each time a file is saved
Reduce the number of global functions by moving it to
`ExposedDocComment::extractExposedComment()`
Reduce the number of global functions merging `parseDocComment()` into its only
caller
Reduce the number of global functions by moving it to
`AttributeInfo::createFromGroups()`. In the process, fix the documentation for
the return type, the result is an array of `AttributeInfo` objects, not
`Attribute` objects.
Reduce the number of global functions by moving it to instance method
`FuncInfo::findEquivalent()`.
@kocsismate kocsismate merged commit 81ef122 into php:master Mar 16, 2025
9 checks passed
@kocsismate
Copy link
Member

Thank you!

@DanielEScherzer DanielEScherzer deleted the stub-simplify-3 branch March 17, 2025 03:55
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