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

Unified Diff: sdk/lib/_internal/compiler/implementation/compiler.dart

Issue 330913004: Move Compiler.libraries to LibraryLoader. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix compiler_isolate.dart Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: sdk/lib/_internal/compiler/implementation/compiler.dart
diff --git a/sdk/lib/_internal/compiler/implementation/compiler.dart b/sdk/lib/_internal/compiler/implementation/compiler.dart
index 4bd9a7f12907895d24d383a6cf4053ed140831e1..cf364ec96883fb3ec038ec86710eaa72873c420b 100644
--- a/sdk/lib/_internal/compiler/implementation/compiler.dart
+++ b/sdk/lib/_internal/compiler/implementation/compiler.dart
@@ -508,10 +508,6 @@ abstract class Compiler implements DiagnosticListener {
static final Uri DART_INTERNAL = new Uri(scheme: 'dart', path: '_internal');
static final Uri DART_ASYNC = new Uri(scheme: 'dart', path: 'async');
- // TODO(johnniwinther): Move this to [LibraryLoaderTask] and hange to map from
- // [Uri] to [LibraryElement].
- final Map<String, LibraryElement> libraries =
- new Map<String, LibraryElement>();
final Stopwatch totalCompileTime = new Stopwatch();
int nextFreeClassId = 0;
World world;
@@ -1316,9 +1312,9 @@ abstract class Compiler implements DiagnosticListener {
phase = PHASE_RESOLVING;
if (analyzeAll) {
- libraries.forEach((uri, lib) {
- log('Enqueuing $uri');
- fullyEnqueueLibrary(lib, enqueuer.resolution);
+ libraryLoader.libraries.forEach((LibraryElement library) {
+ log('Enqueuing ${library.canonicalUri}');
+ fullyEnqueueLibrary(library, enqueuer.resolution);
});
} else if (analyzeMain && mainApp != null) {
fullyEnqueueLibrary(mainApp, enqueuer.resolution);
@@ -1388,8 +1384,9 @@ abstract class Compiler implements DiagnosticListener {
backend.enableNoSuchMethod(enqueuer.codegen);
}
if (compileAll) {
- libraries.forEach((_, lib) => fullyEnqueueLibrary(lib,
- enqueuer.codegen));
+ libraryLoader.libraries.forEach((LibraryElement library) {
+ fullyEnqueueLibrary(library, enqueuer.codegen);
+ });
}
processQueue(enqueuer.codegen, main);
enqueuer.codegen.logSummary(log);
@@ -1431,7 +1428,7 @@ abstract class Compiler implements DiagnosticListener {
// resolve metadata classes referenced only from metadata on library tags.
// TODO(ahe): Figure out how to do this lazily.
void resolveLibraryMetadata() {
- for (LibraryElement library in libraries.values) {
+ for (LibraryElement library in libraryLoader.libraries) {
if (library.metadata != null) {
for (MetadataAnnotation metadata in library.metadata) {
metadata.ensureResolved(this);
@@ -1441,7 +1438,7 @@ abstract class Compiler implements DiagnosticListener {
}
void processQueue(Enqueuer world, Element main) {
- world.nativeEnqueuer.processNativeClasses(libraries.values);
+ world.nativeEnqueuer.processNativeClasses(libraryLoader.libraries);
if (main != null) {
FunctionElement mainMethod = main;
if (mainMethod.computeSignature(this).parameterCount != 0) {
@@ -1799,7 +1796,7 @@ abstract class Compiler implements DiagnosticListener {
}
}
}
- libraries.forEach((_, library) {
+ libraryLoader.libraries.forEach((LibraryElement library) {
// TODO(ahe): Implement better heuristics to discover entry points of
// packages and use that to discover unused implementation details in
// packages.

Powered by Google App Engine
This is Rietveld 408576698