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' | 10 import 'package:compiler/src/elements/elements.dart' |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 ClassElement registerClass(ClassElement cls) { | 87 ClassElement registerClass(ClassElement cls) { |
88 classEnvironment[cls.name] = cls; | 88 classEnvironment[cls.name] = cls; |
89 return cls; | 89 return cls; |
90 } | 90 } |
91 | 91 |
92 ClosedWorld world = env.closedWorld; | 92 ClosedWorld world = env.closedWorld; |
93 JavaScriptBackend backend = env.compiler.backend; | 93 JavaScriptBackend backend = env.compiler.backend; |
94 ClassElement Object_ = | 94 ClassElement Object_ = |
95 registerClass(env.compiler.commonElements.objectClass); | 95 registerClass(env.compiler.commonElements.objectClass); |
96 ClassElement Interceptor = | 96 ClassElement Interceptor = |
97 registerClass(backend.helpers.jsInterceptorClass); | 97 registerClass(env.compiler.commonElements.jsInterceptorClass); |
98 ClassElement JavaScriptObject = | 98 ClassElement JavaScriptObject = |
99 registerClass(backend.helpers.jsJavaScriptObjectClass); | 99 registerClass(env.compiler.commonElements.jsJavaScriptObjectClass); |
100 ClassElement A = registerClass(env.getElement('A')); | 100 ClassElement A = registerClass(env.getElement('A')); |
101 ClassElement B = registerClass(env.getElement('B')); | 101 ClassElement B = registerClass(env.getElement('B')); |
102 ClassElement C = registerClass(env.getElement('C')); | 102 ClassElement C = registerClass(env.getElement('C')); |
103 ClassElement D = registerClass(env.getElement('D')); | 103 ClassElement D = registerClass(env.getElement('D')); |
104 ClassElement E = registerClass(env.getElement('E')); | 104 ClassElement E = registerClass(env.getElement('E')); |
105 ClassElement F = registerClass(env.getElement('F')); | 105 ClassElement F = registerClass(env.getElement('F')); |
106 | 106 |
107 Selector nonExisting = new Selector.getter(const PublicName('nonExisting')); | 107 Selector nonExisting = new Selector.getter(const PublicName('nonExisting')); |
108 | 108 |
109 Expect.equals(Interceptor.superclass, Object_); | 109 Expect.equals(Interceptor.superclass, Object_); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 | 178 |
179 await test('main() => newE();', directlyInstantiated: ['E']); | 179 await test('main() => newE();', directlyInstantiated: ['E']); |
180 | 180 |
181 await test('main() => newF();', directlyInstantiated: ['F']); | 181 await test('main() => newF();', directlyInstantiated: ['F']); |
182 | 182 |
183 await test('main() => [newD(), newE()];', | 183 await test('main() => [newD(), newE()];', |
184 directlyInstantiated: ['E'], | 184 directlyInstantiated: ['E'], |
185 abstractlyInstantiated: ['A', 'B', 'C', 'D'], | 185 abstractlyInstantiated: ['A', 'B', 'C', 'D'], |
186 indirectlyInstantiated: ['Object', 'Interceptor', 'JavaScriptObject']); | 186 indirectlyInstantiated: ['Object', 'Interceptor', 'JavaScriptObject']); |
187 } | 187 } |
OLD | NEW |