| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 import 'package:expect/expect.dart'; | 5 import 'package:expect/expect.dart'; |
| 6 import 'package:async_helper/async_helper.dart'; | 6 import 'package:async_helper/async_helper.dart'; |
| 7 import 'memory_compiler.dart'; | 7 import 'memory_compiler.dart'; |
| 8 | 8 |
| 9 import 'package:compiler/src/compiler.dart' as dart2js; | 9 import 'package:compiler/src/compiler.dart' as dart2js; |
| 10 | 10 |
| 11 void main() { | 11 void main() { |
| 12 asyncTest(() async { | 12 asyncTest(() async { |
| 13 CompilationResult result = | 13 CompilationResult result = |
| 14 await runCompiler(memorySourceFiles: MEMORY_SOURCE_FILES); | 14 await runCompiler(memorySourceFiles: MEMORY_SOURCE_FILES); |
| 15 dart2js.Compiler compiler = result.compiler; | 15 dart2js.Compiler compiler = result.compiler; |
| 16 | 16 |
| 17 lookupLibrary(name) { | 17 lookupLibrary(name) { |
| 18 return compiler.libraryLoader.lookupLibrary(Uri.parse(name)); | 18 return compiler.libraryLoader.lookupLibrary(Uri.parse(name)); |
| 19 } | 19 } |
| 20 | 20 |
| 21 var main = compiler.frontendStrategy.elementEnvironment.mainFunction; | 21 var main = compiler.frontendStrategy.elementEnvironment.mainFunction; |
| 22 Expect.isNotNull(main, "Could not find 'main'"); | 22 Expect.isNotNull(main, "Could not find 'main'"); |
| 23 compiler.deferredLoadTask.onResolutionComplete( | 23 compiler.deferredLoadTask.onResolutionComplete( |
| 24 main, compiler.resolutionWorldBuilder.closedWorldForTesting); | 24 main, compiler.resolutionWorldBuilder.closedWorldForTesting); |
| 25 | 25 |
| 26 var outputUnitForElement = compiler.deferredLoadTask.outputUnitForElement; | 26 var outputUnitForEntity = compiler.deferredLoadTask.outputUnitForEntity; |
| 27 | 27 |
| 28 dynamic lib = lookupLibrary("memory:lib.dart"); | 28 dynamic lib = lookupLibrary("memory:lib.dart"); |
| 29 var a = lib.find("a"); | 29 var a = lib.find("a"); |
| 30 var b = lib.find("b"); | 30 var b = lib.find("b"); |
| 31 var c = lib.find("c"); | 31 var c = lib.find("c"); |
| 32 var d = lib.find("d"); | 32 var d = lib.find("d"); |
| 33 Expect.equals(outputUnitForElement(a), outputUnitForElement(b)); | 33 Expect.equals(outputUnitForEntity(a), outputUnitForEntity(b)); |
| 34 Expect.equals(outputUnitForElement(a), outputUnitForElement(c)); | 34 Expect.equals(outputUnitForEntity(a), outputUnitForEntity(c)); |
| 35 Expect.equals(outputUnitForElement(a), outputUnitForElement(d)); | 35 Expect.equals(outputUnitForEntity(a), outputUnitForEntity(d)); |
| 36 }); | 36 }); |
| 37 } | 37 } |
| 38 | 38 |
| 39 // Make sure that the implicit references to supers are found by the deferred | 39 // Make sure that the implicit references to supers are found by the deferred |
| 40 // loading dependency mechanism. | 40 // loading dependency mechanism. |
| 41 const Map MEMORY_SOURCE_FILES = const { | 41 const Map MEMORY_SOURCE_FILES = const { |
| 42 "main.dart": """ | 42 "main.dart": """ |
| 43 import "lib.dart" deferred as lib; | 43 import "lib.dart" deferred as lib; |
| 44 | 44 |
| 45 void main() { | 45 void main() { |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 class D2 { | 106 class D2 { |
| 107 D2(x) { | 107 D2(x) { |
| 108 d(); | 108 d(); |
| 109 } | 109 } |
| 110 } | 110 } |
| 111 | 111 |
| 112 // Implicit redirecting "super" call with a parameter via mixin. | 112 // Implicit redirecting "super" call with a parameter via mixin. |
| 113 class D3 = D2 with D1; | 113 class D3 = D2 with D1; |
| 114 """, | 114 """, |
| 115 }; | 115 }; |
| OLD | NEW |