# Feature request ### Make ConditionalExpressionTypes to work for all expressions - [x] Use ExpressionTypeHolders for conditions - [x] Change `addConditionalExpressions` first arg to expr from exprString and delete `exprStringToExpr` https://github.com/phpstan/phpstan-src/pull/1950#discussion_r1019755872 - [x] Solve the infinite loop problem mentioned in https://github.com/phpstan/phpstan-src/pull/1950#issuecomment-1312625579 when filterBySpecifiedTypes is used for BinaryOp's that uses filterByTruthy/FalsyTypes - [ ] fix bug of `processBooleanConditionalTypes` mentioned in https://github.com/phpstan/phpstan-src/pull/1950#issuecomment-1312706662 - [ ] Make `processBooleanConditionalTypes` work for all expressions - [x] Make `createConditionalExpressions` work for all expressions - [ ] Make `processSure/SureNotTypesForConditionalExpressionsAfterAssign` work for all expressions ### Add conditional types for these types of dependent types - [ ] https://github.com/phpstan/phpstan/issues/5401#issuecomment-891026636 * https://phpstan.org/r/ce00cd7d-d22e-455a-b646-a48261f71091 * https://phpstan.org/r/aab74e73-2bfe-432b-8bcd-f9b939d2eaab - [ ] 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
Feature request
Make ConditionalExpressionTypes to work for all expressions
addConditionalExpressionsfirst arg to expr from exprString and deleteexprStringToExprImprove conditionalExpressionTypes phpstan-src#1950 (comment)processBooleanConditionalTypesmentioned in Improve conditionalExpressionTypes phpstan-src#1950 (comment)processBooleanConditionalTypeswork for all expressionscreateConditionalExpressionswork for all expressionsprocessSure/SureNotTypesForConditionalExpressionsAfterAssignwork for all expressionsAdd conditional types for these types of dependent types
Replace conditionalExpressionTypes with a LateResolvableType