Commit d0452ed
authored
Fix check for implemented interfaces (#111)
The `interfaces` getter does not behave as hoped. See
dart-lang/sdk#27947
This code was safe before since List happened to explicitly have
`implements Iterable`, but now that there is an
`EfficientLengthIterable` interface in between it isn't working.
Recursively check interfaces the same way we recursively check the
superclass. This now ignores the edge case where multiple interfaces
matched the tester and will return the first match.1 parent 42b6aa7 commit d0452ed
2 files changed
+7
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
278 | 278 | | |
279 | 279 | | |
280 | 280 | | |
281 | | - | |
| 281 | + | |
| 282 | + | |
282 | 283 | | |
283 | | - | |
284 | | - | |
285 | | - | |
286 | | - | |
287 | | - | |
288 | | - | |
289 | | - | |
| 284 | + | |
290 | 285 | | |
291 | 286 | | |
292 | 287 | | |
| |||
295 | 290 | | |
296 | 291 | | |
297 | 292 | | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
298 | 296 | | |
299 | 297 | | |
300 | 298 | | |
| |||
0 commit comments