File tree 2 files changed +22
-6
lines changed
tests/PHPStan/Rules/Variables
2 files changed +22
-6
lines changed Original file line number Diff line number Diff line change @@ -549,7 +549,7 @@ public function specifyTypesInCondition(
549
549
$ varsToIterate = [$ expr ->expr ];
550
550
}
551
551
foreach ($ varsToIterate as $ var ) {
552
- $ vars [] = $ var ;
552
+ $ tmpVars = [ $ var] ;
553
553
554
554
while (
555
555
$ var instanceof ArrayDimFetch
@@ -565,16 +565,16 @@ public function specifyTypesInCondition(
565
565
} else {
566
566
$ var = $ var ->var ;
567
567
}
568
- $ vars [] = $ var ;
568
+ $ tmpVars [] = $ var ;
569
569
}
570
+
571
+ $ vars = array_merge ($ vars , array_reverse ($ tmpVars ));
570
572
}
571
573
572
574
if (count ($ vars ) === 0 ) {
573
575
throw new \PHPStan \ShouldNotHappenException ();
574
576
}
575
577
576
- $ vars = array_reverse ($ vars );
577
-
578
578
$ types = null ;
579
579
foreach ($ vars as $ var ) {
580
580
if ($ var instanceof Expr \Variable && is_string ($ var ->name )) {
Original file line number Diff line number Diff line change @@ -107,16 +107,28 @@ public function testDefinedVariables(): void
107
107
'Undefined variable: $variableInEmpty ' ,
108
108
145 ,
109
109
],
110
+ [
111
+ 'Undefined variable: $negatedVariableInEmpty ' ,
112
+ 152 ,
113
+ ],
110
114
[
111
115
'Undefined variable: $variableInEmpty ' ,
112
116
155 ,
113
117
],
114
118
[
115
- 'Variable $negatedVariableInEmpty might not be defined. ' ,
119
+ 'Undefined variable: $negatedVariableInEmpty ' ,
116
120
156 ,
117
121
],
118
122
[
119
- 'Variable $variableInIsset might not be defined. ' ,
123
+ 'Undefined variable: $variableInIsset ' ,
124
+ 159 ,
125
+ ],
126
+ [
127
+ 'Undefined variable: $anotherVariableInIsset ' ,
128
+ 159 ,
129
+ ],
130
+ [
131
+ 'Undefined variable: $variableInIsset ' ,
120
132
161 ,
121
133
],
122
134
[
@@ -211,6 +223,10 @@ public function testDefinedVariables(): void
211
223
'Variable $forVariableUsedAndThenDefined might not be defined. ' ,
212
224
360 ,
213
225
],
226
+ [
227
+ 'Undefined variable: $variableInWhileIsset ' ,
228
+ 365 ,
229
+ ],
214
230
[
215
231
'Undefined variable: $unknownVariablePassedToReset ' ,
216
232
368 ,
You can’t perform that action at this time.
0 commit comments