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 // Test of the graph segmentation algorithm used by deferred loading | 5 // Test of the graph segmentation algorithm used by deferred loading |
6 // to determine which elements can be deferred and which libraries | 6 // to determine which elements can be deferred and which libraries |
7 // much be included in the initial download (loaded eagerly). | 7 // much be included in the initial download (loaded eagerly). |
8 | 8 |
9 import 'package:async_helper/async_helper.dart'; | 9 import 'package:async_helper/async_helper.dart'; |
10 import 'package:compiler/src/compiler.dart'; | 10 import 'package:compiler/src/compiler.dart'; |
(...skipping 13 matching lines...) Expand all Loading... |
24 | 24 |
25 var main = compiler.frontendStrategy.elementEnvironment.mainFunction; | 25 var main = compiler.frontendStrategy.elementEnvironment.mainFunction; |
26 Expect.isNotNull(main, "Could not find 'main'"); | 26 Expect.isNotNull(main, "Could not find 'main'"); |
27 | 27 |
28 var outputUnitForElement = compiler.deferredLoadTask.outputUnitForElement; | 28 var outputUnitForElement = compiler.deferredLoadTask.outputUnitForElement; |
29 | 29 |
30 var mainOutputUnit = compiler.deferredLoadTask.mainOutputUnit; | 30 var mainOutputUnit = compiler.deferredLoadTask.mainOutputUnit; |
31 var backend = compiler.backend; | 31 var backend = compiler.backend; |
32 var classes = backend.emitter.neededClasses; | 32 var classes = backend.emitter.neededClasses; |
33 var inputElement = classes.where((e) => e.name == 'InputElement').single; | 33 var inputElement = classes.where((e) => e.name == 'InputElement').single; |
34 var lib1 = lookupLibrary("memory:lib1.dart"); | 34 dynamic lib1 = lookupLibrary("memory:lib1.dart"); |
35 var foo1 = lib1.find("foo1"); | 35 var foo1 = lib1.find("foo1"); |
36 var lib2 = lookupLibrary("memory:lib2.dart"); | 36 dynamic lib2 = lookupLibrary("memory:lib2.dart"); |
37 var foo2 = lib2.find("foo2"); | 37 var foo2 = lib2.find("foo2"); |
38 var lib3 = lookupLibrary("memory:lib3.dart"); | 38 dynamic lib3 = lookupLibrary("memory:lib3.dart"); |
39 var foo3 = lib3.find("foo3"); | 39 var foo3 = lib3.find("foo3"); |
40 var lib4 = lookupLibrary("memory:lib4.dart"); | 40 dynamic lib4 = lookupLibrary("memory:lib4.dart"); |
41 var bar1 = lib4.find("bar1"); | 41 var bar1 = lib4.find("bar1"); |
42 var bar2 = lib4.find("bar2"); | 42 var bar2 = lib4.find("bar2"); |
43 | 43 |
44 OutputUnit ou_lib1 = outputUnitForElement(foo1); | 44 OutputUnit ou_lib1 = outputUnitForElement(foo1); |
45 OutputUnit ou_lib2 = outputUnitForElement(foo2); | 45 OutputUnit ou_lib2 = outputUnitForElement(foo2); |
46 OutputUnit ou_lib1_lib2 = outputUnitForElement(foo3); | 46 OutputUnit ou_lib1_lib2 = outputUnitForElement(foo3); |
47 OutputUnit ou_lib4_1 = outputUnitForElement(bar1); | 47 OutputUnit ou_lib4_1 = outputUnitForElement(bar1); |
48 OutputUnit ou_lib4_2 = outputUnitForElement(bar2); | 48 OutputUnit ou_lib4_2 = outputUnitForElement(bar2); |
49 | 49 |
50 Expect.equals(mainOutputUnit, outputUnitForElement(main)); | 50 Expect.equals(mainOutputUnit, outputUnitForElement(main)); |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 | 141 |
142 bar1() { | 142 bar1() { |
143 return "hello"; | 143 return "hello"; |
144 } | 144 } |
145 | 145 |
146 bar2() { | 146 bar2() { |
147 return 2; | 147 return 2; |
148 } | 148 } |
149 """, | 149 """, |
150 }; | 150 }; |
OLD | NEW |