Emit PhanDeprecatedImplicitNullableParam for uses of implicitly nullable parameters (int $x = null instead of ?int $x = null). These can be fixed automatically via the accompanying IssueFixer. #4875
New features(CLI, Configs):
Add override_return_types to add types to all return types. Normally, Phan only adds inferred returned types when there is no @return type
or real return type signature. This setting can be disabled on individual methods by adding
@phan-hardcode-return-type to the doc comment.
Disabled by default. This is more useful with --analyze-twice and in conjunction with PhoundPlugin to
detect more callsite possibilities. See the PR description where
this setting was added for more details.
(Default: false)
Along with this change, we are analyzing the return types of traits a bit more aggressively now. #4874
Bug fixes:
Fix crash in PHP 8.4 due to deprecation warning about implicitly nullable parameters #4875
New plugin PhoundPlugin to populate a sqlite database with callsites of all class elements. The database can be queried to find callsites of a given class element. This was actually introduced in 5.4.3, but not announced at the time. #18
In 5.4.4, the accuracy of PhoundPlugin is improved by giving it access to the full method, property, and constant list that phan infers for a given callsite #4865
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on phan/phan to permit the latest version.
Changelog
Sourced from phan/phan's changelog.
... (truncated)
Commits
2b15302
release phan 5.4.5 (#4877)b52a882
New phan config setting: override_return_types (#4874)26b92a7
Merge pull request #4875 from TysonAndre/php84-compat0d1e4ee
Merge pull request #4876 from TysonAndre/update-download-linkc303365
Update download links for php zip files5f0ec9a
Add automatic fixes of implicit nullable params8e22228
Add PhanDeprecatedImplicitNullableParam issue type1294d00
Merge pull request #4869 from dasl-/v5-4-5-dev242031a
Back to 5.4.5-devDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show