-
-
Notifications
You must be signed in to change notification settings - Fork 934
Open
Labels
Description
Feature request
Make ConditionalExpressionTypes to work for all expressions
- Use ExpressionTypeHolders for conditions
- Change
addConditionalExpressionsfirst arg to expr from exprString and deleteexprStringToExprImprove conditionalExpressionTypes phpstan-src#1950 (comment) - Solve the infinite loop problem mentioned in Improve conditionalExpressionTypes phpstan-src#1950 (comment) when filterBySpecifiedTypes is used for BinaryOp's that uses filterByTruthy/FalsyTypes
- fix bug of
processBooleanConditionalTypesmentioned in Improve conditionalExpressionTypes phpstan-src#1950 (comment) - Make
processBooleanConditionalTypeswork for all expressions - Make
createConditionalExpressionswork for all expressions - Make
processSure/SureNotTypesForConditionalExpressionsAfterAssignwork for all expressions
Add conditional types for these types of dependent types
- Dependent variables not working if dependency referenced in another condition #5401 (comment)
- commented out test in https://github.com/phpstan/phpstan-src/blob/1.9.x/tests/PHPStan/Analyser/data/dependent-variable-certainty.php
Replace conditionalExpressionTypes with a LateResolvableType
- Create a LateResolvableType to handle conditionalExpressionTypes
- Replace conditionalExpressionTypes usage in MutatingScope
- Replace conditionalExpressionTypes usage in NodeScopeResolver
- Replace conditionalExpressionTypes usage in TypeSpecifier