| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 library jsinterop.world_test; | 5 library jsinterop.world_test; |
| 6 | 6 |
| 7 import 'package:expect/expect.dart'; | 7 import 'package:expect/expect.dart'; |
| 8 import 'package:async_helper/async_helper.dart'; | 8 import 'package:async_helper/async_helper.dart'; |
| 9 import 'package:compiler/src/common.dart'; | 9 import 'package:compiler/src/common.dart'; |
| 10 import 'package:compiler/src/elements/elements.dart' show Element, ClassElement; | 10 import 'package:compiler/src/elements/elements.dart' show Element, ClassElement; |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 $mainSource | 80 $mainSource |
| 81 """, | 81 """, |
| 82 useMockCompiler: false); | 82 useMockCompiler: false); |
| 83 Map<String, ClassElement> classEnvironment = <String, ClassElement>{}; | 83 Map<String, ClassElement> classEnvironment = <String, ClassElement>{}; |
| 84 | 84 |
| 85 ClassElement registerClass(ClassElement cls) { | 85 ClassElement registerClass(ClassElement cls) { |
| 86 classEnvironment[cls.name] = cls; | 86 classEnvironment[cls.name] = cls; |
| 87 return cls; | 87 return cls; |
| 88 } | 88 } |
| 89 | 89 |
| 90 ClosedWorld world = env.compiler.closedWorld; | 90 ClosedWorld world = env.closedWorld; |
| 91 JavaScriptBackend backend = env.compiler.backend; | 91 JavaScriptBackend backend = env.compiler.backend; |
| 92 ClassElement Object_ = registerClass(env.compiler.coreClasses.objectClass); | 92 ClassElement Object_ = registerClass(env.compiler.coreClasses.objectClass); |
| 93 ClassElement Interceptor = | 93 ClassElement Interceptor = |
| 94 registerClass(backend.helpers.jsInterceptorClass); | 94 registerClass(backend.helpers.jsInterceptorClass); |
| 95 ClassElement JavaScriptObject = | 95 ClassElement JavaScriptObject = |
| 96 registerClass(backend.helpers.jsJavaScriptObjectClass); | 96 registerClass(backend.helpers.jsJavaScriptObjectClass); |
| 97 ClassElement A = registerClass(env.getElement('A')); | 97 ClassElement A = registerClass(env.getElement('A')); |
| 98 ClassElement B = registerClass(env.getElement('B')); | 98 ClassElement B = registerClass(env.getElement('B')); |
| 99 ClassElement C = registerClass(env.getElement('C')); | 99 ClassElement C = registerClass(env.getElement('C')); |
| 100 ClassElement D = registerClass(env.getElement('D')); | 100 ClassElement D = registerClass(env.getElement('D')); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 164 | 164 |
| 165 await test('main() => newE();', directlyInstantiated: ['E']); | 165 await test('main() => newE();', directlyInstantiated: ['E']); |
| 166 | 166 |
| 167 await test('main() => newF();', directlyInstantiated: ['F']); | 167 await test('main() => newF();', directlyInstantiated: ['F']); |
| 168 | 168 |
| 169 await test('main() => [newD(), newE()];', | 169 await test('main() => [newD(), newE()];', |
| 170 directlyInstantiated: ['E'], | 170 directlyInstantiated: ['E'], |
| 171 abstractlyInstantiated: ['A', 'B', 'C', 'D'], | 171 abstractlyInstantiated: ['A', 'B', 'C', 'D'], |
| 172 indirectlyInstantiated: ['Object', 'Interceptor', 'JavaScriptObject']); | 172 indirectlyInstantiated: ['Object', 'Interceptor', 'JavaScriptObject']); |
| 173 } | 173 } |
| OLD | NEW |