Chromium Code Reviews| Index: sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
| =================================================================== |
| --- sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart (revision 26305) |
| +++ sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart (working copy) |
| @@ -2818,6 +2818,11 @@ |
| TypeMask mask = selector.mask; |
| if (mask == null) { |
| mask = new TypeMask.subclass(compiler.objectClass.rawType); |
| + } else if (mask.isEmpty && !mask.isNullable) { |
|
ahe
2013/08/20 08:00:33
I'm a little concerned about this. Perhaps it is j
ngeoffray
2013/08/20 08:03:48
The bug is not necessarily related to type inferen
ahe
2013/08/20 08:11:13
I don't understand why it would be an optimization
ngeoffray
2013/08/20 08:24:03
Why does it have to be bogus? There's an optimizat
ahe
2013/08/20 08:31:44
Your
pavelj
2013/08/20 14:51:44
Peter, that version was not using mirrors.
On 201
|
| + // We know a non-null empty mask cannot happen at runtime. |
| + // We may have those selectors in the set of seen selectors |
| + // if the backend did not optimize them. |
| + continue; |
| } |
| // If the receiver is guaranteed to have a member that |