|
13 | 13 | use PHPStan\Analyser\ExpressionResult; |
14 | 14 | use PHPStan\Analyser\ExpressionResultStorage; |
15 | 15 | use PHPStan\Analyser\ExprHandler; |
16 | | -use PHPStan\Analyser\ExprHandler\Helper\ToStringThrowPointHelper; |
| 16 | +use PHPStan\Analyser\ExprHandler\Helper\ImplicitToStringCallHelper; |
17 | 17 | use PHPStan\Analyser\InternalThrowPoint; |
18 | 18 | use PHPStan\Analyser\MutatingScope; |
19 | 19 | use PHPStan\Analyser\NodeScopeResolver; |
@@ -43,7 +43,7 @@ public function __construct( |
43 | 43 | private InitializerExprTypeResolver $initializerExprTypeResolver, |
44 | 44 | private RicherScopeGetTypeHelper $richerScopeGetTypeHelper, |
45 | 45 | private PhpVersion $phpVersion, |
46 | | - private ToStringThrowPointHelper $toStringThrowPointHelper, |
| 46 | + private ImplicitToStringCallHelper $implicitToStringCallHelper, |
47 | 47 | ) |
48 | 48 | { |
49 | 49 | } |
@@ -72,10 +72,10 @@ public function processExpr(NodeScopeResolver $nodeScopeResolver, Stmt $stmt, Ex |
72 | 72 | $throwPoints[] = InternalThrowPoint::createExplicit($leftResult->getScope(), new ObjectType(DivisionByZeroError::class), $expr, false); |
73 | 73 | } |
74 | 74 | if ($expr instanceof BinaryOp\Concat) { |
75 | | - [$leftToStringThrowPoints, $leftToStringImpurePoints] = $this->toStringThrowPointHelper->getToStringThrowAndImpurePoints($expr->left, $scope); |
76 | | - [$rightToStringThrowPoints, $rightToStringImpurePoints] = $this->toStringThrowPointHelper->getToStringThrowAndImpurePoints($expr->right, $leftResult->getScope()); |
77 | | - $throwPoints = array_merge($throwPoints, $leftToStringThrowPoints, $rightToStringThrowPoints); |
78 | | - $impurePoints = array_merge($impurePoints, $leftToStringImpurePoints, $rightToStringImpurePoints); |
| 75 | + $leftToStringResult = $this->implicitToStringCallHelper->processImplicitToStringCall($expr->left, $scope); |
| 76 | + $rightToStringResult = $this->implicitToStringCallHelper->processImplicitToStringCall($expr->right, $leftResult->getScope()); |
| 77 | + $throwPoints = array_merge($throwPoints, $leftToStringResult->getThrowPoints(), $rightToStringResult->getThrowPoints()); |
| 78 | + $impurePoints = array_merge($impurePoints, $leftToStringResult->getImpurePoints(), $rightToStringResult->getImpurePoints()); |
79 | 79 | } |
80 | 80 | $scope = $rightResult->getScope(); |
81 | 81 |
|
|
0 commit comments