Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(495)

Side by Side Diff: dart/sdk/lib/_internal/compiler/implementation/deferred_load.dart

Issue 285903006: Fix main handling in dart2js and add tests. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Merged with r38186. Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 library deferred_load; 5 library deferred_load;
6 6
7 import 'dart2jslib.dart' show 7 import 'dart2jslib.dart' show
8 Backend, 8 Backend,
9 Compiler, 9 Compiler,
10 CompilerTask, 10 CompilerTask,
(...skipping 669 matching lines...) Expand 10 before | Expand all | Expand 10 after
680 } 680 }
681 for (OutputUnit outputUnit in _constantToOutputUnit.values) { 681 for (OutputUnit outputUnit in _constantToOutputUnit.values) {
682 allOutputUnits.add(outputUnit); 682 allOutputUnits.add(outputUnit);
683 } 683 }
684 684
685 _assignNamesToOutputUnits(allOutputUnits); 685 _assignNamesToOutputUnits(allOutputUnits);
686 }); 686 });
687 } 687 }
688 688
689 void ensureMetadataResolved(Compiler compiler) { 689 void ensureMetadataResolved(Compiler compiler) {
690 if (compiler.mainApp == null) return;
690 _allDeferredImports[_fakeMainImport] = compiler.mainApp; 691 _allDeferredImports[_fakeMainImport] = compiler.mainApp;
691 var lastDeferred; 692 var lastDeferred;
692 // When detecting duplicate prefixes of deferred libraries there are 4 693 // When detecting duplicate prefixes of deferred libraries there are 4
693 // cases of duplicate prefixes: 694 // cases of duplicate prefixes:
694 // 1. 695 // 1.
695 // import "lib.dart" deferred as a; 696 // import "lib.dart" deferred as a;
696 // import "lib2.dart" deferred as a; 697 // import "lib2.dart" deferred as a;
697 // 2. 698 // 2.
698 // import "lib.dart" deferred as a; 699 // import "lib.dart" deferred as a;
699 // import "lib2.dart" as a; 700 // import "lib2.dart" as a;
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
810 Element maybePrefix = elements[identifier]; 811 Element maybePrefix = elements[identifier];
811 if (maybePrefix != null && maybePrefix.isPrefix) { 812 if (maybePrefix != null && maybePrefix.isPrefix) {
812 PrefixElement prefixElement = maybePrefix; 813 PrefixElement prefixElement = maybePrefix;
813 if (prefixElement.isDeferred) { 814 if (prefixElement.isDeferred) {
814 return prefixElement; 815 return prefixElement;
815 } 816 }
816 } 817 }
817 return null; 818 return null;
818 } 819 }
819 } 820 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698