| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 world_test; | 5 library 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 'type_test_helper.dart'; | 9 import 'type_test_helper.dart'; |
| 10 import 'package:compiler/src/common/names.dart'; | 10 import 'package:compiler/src/common/names.dart'; |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 new A(); | 40 new A(); |
| 41 new B(); | 41 new B(); |
| 42 new C(); | 42 new C(); |
| 43 new D(); | 43 new D(); |
| 44 new E(); | 44 new E(); |
| 45 new F(); | 45 new F(); |
| 46 new G(); | 46 new G(); |
| 47 html.window; | 47 html.window; |
| 48 new html.Worker(''); | 48 new html.Worker(''); |
| 49 } | 49 } |
| 50 """, useMockCompiler: false); | 50 """, compileMode: CompileMode.memory); |
| 51 ClosedWorld closedWorld = env.closedWorld; | 51 ClosedWorld closedWorld = env.closedWorld; |
| 52 | 52 |
| 53 ClassElement Object_ = env.getElement("Object"); | 53 ClassElement Object_ = env.getElement("Object"); |
| 54 ClassElement A = env.getElement("A"); | 54 ClassElement A = env.getElement("A"); |
| 55 ClassElement B = env.getElement("B"); | 55 ClassElement B = env.getElement("B"); |
| 56 ClassElement C = env.getElement("C"); | 56 ClassElement C = env.getElement("C"); |
| 57 ClassElement D = env.getElement("D"); | 57 ClassElement D = env.getElement("D"); |
| 58 ClassElement E = env.getElement("E"); | 58 ClassElement E = env.getElement("E"); |
| 59 ClassElement F = env.getElement("F"); | 59 ClassElement F = env.getElement("F"); |
| 60 ClassElement G = env.getElement("G"); | 60 ClassElement G = env.getElement("G"); |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 new B(); | 226 new B(); |
| 227 new C1(); | 227 new C1(); |
| 228 new D2(); | 228 new D2(); |
| 229 new E3(); | 229 new E3(); |
| 230 new F1(); | 230 new F1(); |
| 231 new F2(); | 231 new F2(); |
| 232 new G2(); | 232 new G2(); |
| 233 new G3(); | 233 new G3(); |
| 234 new H4(); | 234 new H4(); |
| 235 } | 235 } |
| 236 """, useMockCompiler: false); | 236 """, compileMode: CompileMode.memory); |
| 237 ClosedWorld closedWorld = env.closedWorld; | 237 ClosedWorld closedWorld = env.closedWorld; |
| 238 | 238 |
| 239 check(String name, {bool hasStrictSubtype, bool hasOnlySubclasses}) { | 239 check(String name, {bool hasStrictSubtype, bool hasOnlySubclasses}) { |
| 240 ClassElement cls = env.getElement(name); | 240 ClassElement cls = env.getElement(name); |
| 241 Expect.equals(hasStrictSubtype, closedWorld.hasAnyStrictSubtype(cls), | 241 Expect.equals(hasStrictSubtype, closedWorld.hasAnyStrictSubtype(cls), |
| 242 "Unexpected hasAnyStrictSubtype property on $cls."); | 242 "Unexpected hasAnyStrictSubtype property on $cls."); |
| 243 Expect.equals(hasOnlySubclasses, closedWorld.hasOnlySubclasses(cls), | 243 Expect.equals(hasOnlySubclasses, closedWorld.hasOnlySubclasses(cls), |
| 244 "Unexpected hasOnlySubclasses property on $cls."); | 244 "Unexpected hasOnlySubclasses property on $cls."); |
| 245 } | 245 } |
| 246 | 246 |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 303 var env = await TypeEnvironment.create('', | 303 var env = await TypeEnvironment.create('', |
| 304 mainSource: r""" | 304 mainSource: r""" |
| 305 import 'dart:html' as html; | 305 import 'dart:html' as html; |
| 306 main() { | 306 main() { |
| 307 html.window; // Creates 'Window'. | 307 html.window; // Creates 'Window'. |
| 308 new html.Worker(''); // Creates 'Worker'. | 308 new html.Worker(''); // Creates 'Worker'. |
| 309 new html.CanvasElement() // Creates CanvasElement | 309 new html.CanvasElement() // Creates CanvasElement |
| 310 ..getContext(''); // Creates CanvasRenderingContext2D | 310 ..getContext(''); // Creates CanvasRenderingContext2D |
| 311 } | 311 } |
| 312 """, | 312 """, |
| 313 useMockCompiler: false); | 313 compileMode: CompileMode.memory); |
| 314 ClosedWorld closedWorld = env.closedWorld; | 314 ClosedWorld closedWorld = env.closedWorld; |
| 315 LibraryElement dart_html = | 315 LibraryElement dart_html = |
| 316 env.compiler.libraryLoader.lookupLibrary(Uris.dart_html); | 316 env.compiler.libraryLoader.lookupLibrary(Uris.dart_html); |
| 317 | 317 |
| 318 ClassElement clsEventTarget = dart_html.findExported('EventTarget'); | 318 ClassElement clsEventTarget = dart_html.findExported('EventTarget'); |
| 319 ClassElement clsWindow = dart_html.findExported('Window'); | 319 ClassElement clsWindow = dart_html.findExported('Window'); |
| 320 ClassElement clsAbstractWorker = dart_html.findExported('AbstractWorker'); | 320 ClassElement clsAbstractWorker = dart_html.findExported('AbstractWorker'); |
| 321 ClassElement clsWorker = dart_html.findExported('Worker'); | 321 ClassElement clsWorker = dart_html.findExported('Worker'); |
| 322 ClassElement clsCanvasElement = dart_html.findExported('CanvasElement'); | 322 ClassElement clsCanvasElement = dart_html.findExported('CanvasElement'); |
| 323 ClassElement clsCanvasRenderingContext = | 323 ClassElement clsCanvasRenderingContext = |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 525 new C(); | 525 new C(); |
| 526 new D(); | 526 new D(); |
| 527 new E(); | 527 new E(); |
| 528 new F(); | 528 new F(); |
| 529 new G(); | 529 new G(); |
| 530 new H(); | 530 new H(); |
| 531 new I(); | 531 new I(); |
| 532 new J(); | 532 new J(); |
| 533 } | 533 } |
| 534 """, | 534 """, |
| 535 useMockCompiler: false); | 535 compileMode: CompileMode.memory); |
| 536 ClosedWorld closedWorld = env.closedWorld; | 536 ClosedWorld closedWorld = env.closedWorld; |
| 537 | 537 |
| 538 ClassElement A = env.getElement("A"); | 538 ClassElement A = env.getElement("A"); |
| 539 ClassElement B = env.getElement("B"); | 539 ClassElement B = env.getElement("B"); |
| 540 ClassElement C = env.getElement("C"); | 540 ClassElement C = env.getElement("C"); |
| 541 ClassElement D = env.getElement("D"); | 541 ClassElement D = env.getElement("D"); |
| 542 ClassElement F = env.getElement("F"); | 542 ClassElement F = env.getElement("F"); |
| 543 ClassElement G = env.getElement("G"); | 543 ClassElement G = env.getElement("G"); |
| 544 ClassElement H = env.getElement("H"); | 544 ClassElement H = env.getElement("H"); |
| 545 ClassElement I = env.getElement("I"); | 545 ClassElement I = env.getElement("I"); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 593 check(B, ClassQuery.EXACT, C, ClassQuery.EXACT, []); | 593 check(B, ClassQuery.EXACT, C, ClassQuery.EXACT, []); |
| 594 check(B, ClassQuery.EXACT, C, ClassQuery.SUBCLASS, []); | 594 check(B, ClassQuery.EXACT, C, ClassQuery.SUBCLASS, []); |
| 595 check(B, ClassQuery.SUBCLASS, C, ClassQuery.EXACT, []); | 595 check(B, ClassQuery.SUBCLASS, C, ClassQuery.EXACT, []); |
| 596 check(B, ClassQuery.EXACT, C, ClassQuery.SUBTYPE, []); | 596 check(B, ClassQuery.EXACT, C, ClassQuery.SUBTYPE, []); |
| 597 check(B, ClassQuery.SUBTYPE, C, ClassQuery.EXACT, []); | 597 check(B, ClassQuery.SUBTYPE, C, ClassQuery.EXACT, []); |
| 598 check(B, ClassQuery.SUBCLASS, C, ClassQuery.SUBCLASS, []); | 598 check(B, ClassQuery.SUBCLASS, C, ClassQuery.SUBCLASS, []); |
| 599 check(B, ClassQuery.SUBCLASS, C, ClassQuery.SUBTYPE, []); | 599 check(B, ClassQuery.SUBCLASS, C, ClassQuery.SUBTYPE, []); |
| 600 check(B, ClassQuery.SUBTYPE, C, ClassQuery.SUBCLASS, [G]); | 600 check(B, ClassQuery.SUBTYPE, C, ClassQuery.SUBCLASS, [G]); |
| 601 check(B, ClassQuery.SUBTYPE, C, ClassQuery.SUBTYPE, [F, G]); | 601 check(B, ClassQuery.SUBTYPE, C, ClassQuery.SUBTYPE, [F, G]); |
| 602 } | 602 } |
| OLD | NEW |