@@ -132,6 +132,7 @@ private function matchRegex(string $regex, ?int $flags, TrinaryLogic $wasMatched
132
132
133
133
$ onlyOptionalTopLevelGroup = $ this ->getOnlyOptionalTopLevelGroup ($ groupList );
134
134
$ onlyTopLevelAlternation = $ this ->getOnlyTopLevelAlternation ($ groupList );
135
+ $ flags ??= 0 ;
135
136
136
137
if (
137
138
!$ matchesAll
@@ -147,12 +148,12 @@ private function matchRegex(string $regex, ?int $flags, TrinaryLogic $wasMatched
147
148
$ groupList ,
148
149
$ wasMatched ,
149
150
$ trailingOptionals ,
150
- $ flags ?? 0 ,
151
+ $ flags ,
151
152
$ markVerbs ,
152
153
$ matchesAll ,
153
154
);
154
155
155
- if (!$ this ->containsUnmatchedAsNull ($ flags ?? 0 , $ matchesAll )) {
156
+ if (!$ this ->containsUnmatchedAsNull ($ flags , $ matchesAll )) {
156
157
$ combiType = TypeCombinator::union (
157
158
new ConstantArrayType ([new ConstantIntegerType (0 )], [$ this ->createSubjectValueType ($ flags , $ matchesAll )], [0 ], [], true ),
158
159
$ combiType ,
@@ -180,7 +181,7 @@ private function matchRegex(string $regex, ?int $flags, TrinaryLogic $wasMatched
180
181
$ group ->forceNonOptional ();
181
182
} elseif (
182
183
$ group ->getAlternationId () === $ onlyTopLevelAlternation ->getId ()
183
- && !$ this ->containsUnmatchedAsNull ($ flags ?? 0 , $ matchesAll )
184
+ && !$ this ->containsUnmatchedAsNull ($ flags , $ matchesAll )
184
185
) {
185
186
unset($ comboList [$ groupId ]);
186
187
}
@@ -190,7 +191,7 @@ private function matchRegex(string $regex, ?int $flags, TrinaryLogic $wasMatched
190
191
$ comboList ,
191
192
$ wasMatched ,
192
193
$ trailingOptionals ,
193
- $ flags ?? 0 ,
194
+ $ flags ,
194
195
$ markVerbs ,
195
196
$ matchesAll ,
196
197
);
@@ -203,7 +204,7 @@ private function matchRegex(string $regex, ?int $flags, TrinaryLogic $wasMatched
203
204
}
204
205
}
205
206
206
- if ($ isOptionalAlternation && !$ this ->containsUnmatchedAsNull ($ flags ?? 0 , $ matchesAll )) {
207
+ if ($ isOptionalAlternation && !$ this ->containsUnmatchedAsNull ($ flags , $ matchesAll )) {
207
208
$ combiTypes [] = new ConstantArrayType ([new ConstantIntegerType (0 )], [$ this ->createSubjectValueType ($ flags , $ matchesAll )], [0 ], [], true );
208
209
}
209
210
@@ -214,7 +215,7 @@ private function matchRegex(string $regex, ?int $flags, TrinaryLogic $wasMatched
214
215
$ groupList ,
215
216
$ wasMatched ,
216
217
$ trailingOptionals ,
217
- $ flags ?? 0 ,
218
+ $ flags ,
218
219
$ markVerbs ,
219
220
$ matchesAll ,
220
221
);
0 commit comments