OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 // The mock compiler of dart2js used to make the compiler crash on | 5 // The mock compiler of dart2js used to make the compiler crash on |
6 // this program. | 6 // this program. |
7 // | 7 // |
8 // The SSA backend generates a call to a throwNoSuchMethod helper for | 8 // The SSA backend generates a call to a throwNoSuchMethod helper for |
9 // the access to `foo`, and we used to not infer return types of | 9 // the access to `foo`, and we used to not infer return types of |
10 // helpers, so we did not know throwNoSuchMethod was not returning. | 10 // helpers, so we did not know throwNoSuchMethod was not returning. |
11 // As a consequence, all operator[] had to be compiled, and due to | 11 // As a consequence, all operator[] had to be compiled, and due to |
12 // missing backend dependencies, some of them were not resolved. | 12 // missing backend dependencies, some of them were not resolved. |
13 | 13 |
14 import 'compiler_helper.dart'; | 14 import 'compiler_helper.dart'; |
15 | 15 |
16 const String TEST = ''' | 16 const String TEST = ''' |
17 main() => foo[42]; | 17 main() => foo[42]; |
18 '''; | 18 '''; |
19 | 19 |
20 main() { | 20 main() { |
21 Uri uri = new Uri(scheme: 'source'); | 21 Uri uri = new Uri(scheme: 'source'); |
22 var compiler = compilerFor(TEST, uri); | 22 var compiler = compilerFor(TEST, uri); |
23 compiler.runCompiler(uri); | 23 compiler.run(uri); |
24 } | 24 } |
OLD | NEW |