Make WordPress Core

Changeset 63023


Ignore:
Timestamp:
08/05/2026 08:27:05 AM (5 weeks ago)
Author:
westonruter
Message:

Build/Test Tools: Raise the PHPStan rule level to 4.

This rule level includes:

basic dead code checking - always false instanceof and other type checks, dead else branches, unreachable code after return; etc.

Baselines are regenerated for errors at this level.

Developed in https://github.com/WordPress/wordpress-develop/pull/12853.
Follow-up to r61699, r63019, r63020, r63021, r63022.

Props westonruter, apermo.
See #64680.

Location:
trunk
Files:
38 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/phpstan.neon.dist

    r63021 r63023  
    2626        - tests/phpstan/baselines/assign.propertyType.neon
    2727        - tests/phpstan/baselines/binaryOp.invalid.neon
     28        - tests/phpstan/baselines/booleanAnd.alwaysFalse.neon
     29        - tests/phpstan/baselines/booleanAnd.alwaysTrue.neon
     30        - tests/phpstan/baselines/booleanAnd.leftAlwaysTrue.neon
     31        - tests/phpstan/baselines/booleanAnd.rightAlwaysFalse.neon
     32        - tests/phpstan/baselines/booleanAnd.rightAlwaysTrue.neon
     33        - tests/phpstan/baselines/booleanNot.alwaysFalse.neon
     34        - tests/phpstan/baselines/booleanNot.alwaysTrue.neon
     35        - tests/phpstan/baselines/booleanOr.alwaysFalse.neon
     36        - tests/phpstan/baselines/booleanOr.alwaysTrue.neon
     37        - tests/phpstan/baselines/booleanOr.rightAlwaysTrue.neon
     38        - tests/phpstan/baselines/catch.neverThrown.neon
    2839        - tests/phpstan/baselines/class.nameCase.neon
    2940        - tests/phpstan/baselines/class.notFound.neon
     41        - tests/phpstan/baselines/deadCode.unreachable.neon
     42        - tests/phpstan/baselines/empty.offset.neon
     43        - tests/phpstan/baselines/empty.property.neon
    3044        - tests/phpstan/baselines/empty.variable.neon
    3145        - tests/phpstan/baselines/encapsedStringPart.nonString.neon
    3246        - tests/phpstan/baselines/foreach.nonIterable.neon
     47        - tests/phpstan/baselines/function.alreadyNarrowedType.neon
     48        - tests/phpstan/baselines/function.impossibleType.neon
     49        - tests/phpstan/baselines/function.resultUnused.neon
    3350        - tests/phpstan/baselines/greater.invalid.neon
     51        - tests/phpstan/baselines/greaterOrEqual.alwaysTrue.neon
     52        - tests/phpstan/baselines/identical.alwaysFalse.neon
     53        - tests/phpstan/baselines/identical.alwaysTrue.neon
     54        - tests/phpstan/baselines/if.alwaysFalse.neon
     55        - tests/phpstan/baselines/if.alwaysTrue.neon
     56        - tests/phpstan/baselines/instanceof.alwaysTrue.neon
     57        - tests/phpstan/baselines/isset.offset.neon
     58        - tests/phpstan/baselines/isset.property.neon
    3459        - tests/phpstan/baselines/isset.variable.neon
    3560        - tests/phpstan/baselines/method.childParameterType.neon
    3661        - tests/phpstan/baselines/method.nonObject.neon
    3762        - tests/phpstan/baselines/method.notFound.neon
     63        - tests/phpstan/baselines/method.unused.neon
     64        - tests/phpstan/baselines/notIdentical.alwaysTrue.neon
     65        - tests/phpstan/baselines/nullCoalesce.offset.neon
     66        - tests/phpstan/baselines/nullCoalesce.property.neon
    3867        - tests/phpstan/baselines/offsetAccess.nonOffsetAccessible.neon
    3968        - tests/phpstan/baselines/offsetAccess.notFound.neon
     
    4473        - tests/phpstan/baselines/parameter.unresolvableType.neon
    4574        - tests/phpstan/baselines/parameterByRef.type.neon
     75        - tests/phpstan/baselines/parameterByRef.unusedType.neon
    4676        - tests/phpstan/baselines/property.defaultValue.neon
    4777        - tests/phpstan/baselines/property.nonObject.neon
    4878        - tests/phpstan/baselines/property.notFound.neon
     79        - tests/phpstan/baselines/property.onlyWritten.neon
    4980        - tests/phpstan/baselines/property.phpDocType.neon
    5081        - tests/phpstan/baselines/property.private.neon
    5182        - tests/phpstan/baselines/property.protected.neon
     83        - tests/phpstan/baselines/property.unusedType.neon
    5284        - tests/phpstan/baselines/return.empty.neon
    5385        - tests/phpstan/baselines/return.missing.neon
    5486        - tests/phpstan/baselines/return.type.neon
     87        - tests/phpstan/baselines/return.unusedType.neon
     88        - tests/phpstan/baselines/smallerOrEqual.alwaysTrue.neon
    5589        - tests/phpstan/baselines/staticClassAccess.privateMethod.neon
     90        - tests/phpstan/baselines/ternary.alwaysFalse.neon
     91        - tests/phpstan/baselines/ternary.alwaysTrue.neon
    5692        - tests/phpstan/baselines/varTag.noVariable.neon
    5793        - tests/phpstan/baselines/variable.undefined.neon
     94        - tests/phpstan/baselines/while.alwaysFalse.neon
     95        - tests/phpstan/baselines/while.alwaysTrue.neon
    5896        # phpstan:baselines end
    5997
    6098parameters:
    6199        # https://phpstan.org/user-guide/rule-levels
    62         level: 3
     100        level: 4
    63101        reportUnmatchedIgnoredErrors: true
    64102
Note: See TracChangeset for help on using the changeset viewer.