File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1078,28 +1078,29 @@ public function specifyTypesInCondition(
10781078 } else {
10791079 $ varType = $ scope ->getType ($ var ->var );
10801080
1081- if ($ varType ->isArray ()->yes () && count ($ dimType ->getConstantScalarTypes ()) <= 1 ) {
1081+ $ narrowedKey = AllowedArrayKeysTypes::narrowOffsetKeyType ($ varType , $ dimType );
1082+ if ($ narrowedKey !== null ) {
10821083 $ types = $ types ->unionWith (
10831084 $ this ->create (
1084- $ var ->var ,
1085- new NonEmptyArrayType () ,
1085+ $ var ->dim ,
1086+ $ narrowedKey ,
10861087 $ context ,
10871088 $ scope ,
10881089 )->setRootExpr ($ expr ),
10891090 );
10901091 }
10911092
1092- $ narrowedKey = AllowedArrayKeysTypes::narrowOffsetKeyType ($ varType , $ dimType );
1093- if ($ narrowedKey !== null ) {
1093+ if ($ scope ->getNativeType ($ var ->var )->isArray ()->yes ()) {
10941094 $ types = $ types ->unionWith (
10951095 $ this ->create (
1096- $ var ->dim ,
1097- $ narrowedKey ,
1096+ $ var ->var ,
1097+ new NonEmptyArrayType () ,
10981098 $ context ,
10991099 $ scope ,
11001100 )->setRootExpr ($ expr ),
11011101 );
11021102 }
1103+
11031104 }
11041105 }
11051106
You can’t perform that action at this time.
0 commit comments