| Index: pkg/compiler/lib/src/compiler.dart
|
| diff --git a/pkg/compiler/lib/src/compiler.dart b/pkg/compiler/lib/src/compiler.dart
|
| index 94666231d090e22269a6dd7eb8e7849f6b55808c..ed1e09c2cfd51e3b8f20d12a2ccc1a377b287ff9 100644
|
| --- a/pkg/compiler/lib/src/compiler.dart
|
| +++ b/pkg/compiler/lib/src/compiler.dart
|
| @@ -212,6 +212,7 @@ abstract class Compiler {
|
| serialization = new SerializationTask(this),
|
| patchParser = new PatchParserTask(this),
|
| libraryLoader = new LibraryLoaderTask(
|
| + options.loadFromDill,
|
| resolvedUriTranslator,
|
| options.compileOnly
|
| ? new _NoScriptLoader(this)
|
| @@ -348,8 +349,8 @@ abstract class Compiler {
|
| }
|
| }
|
| String importChain = compactImportChain.map((CodeLocation codeLocation) {
|
| - return codeLocation
|
| - .relativize(loadedLibraries.rootLibrary.canonicalUri);
|
| + return codeLocation.relativize(
|
| + (loadedLibraries.rootLibrary as LibraryElement).canonicalUri);
|
| }).join(' => ');
|
|
|
| if (!importChains.contains(importChain)) {
|
| @@ -381,7 +382,7 @@ abstract class Compiler {
|
| /// The method returns a [Future] allowing for the loading of additional
|
| /// libraries.
|
| LoadedLibraries processLoadedLibraries(LoadedLibraries loadedLibraries) {
|
| - loadedLibraries.forEachLibrary((LibraryElement library) {
|
| + loadedLibraries.forEachLibrary((LibraryEntity library) {
|
| backend.setAnnotations(library);
|
| });
|
|
|
| @@ -597,15 +598,17 @@ abstract class Compiler {
|
| phase = PHASE_RESOLVING;
|
| resolutionEnqueuer.applyImpact(mainImpact);
|
| if (options.resolveOnly) {
|
| - libraryLoader.libraries.where((LibraryElement library) {
|
| + libraryLoader.libraries.where((LibraryEntity library) {
|
| return !serialization.isDeserialized(library);
|
| - }).forEach((LibraryElement library) {
|
| - reporter.log('Enqueuing ${library.canonicalUri}');
|
| + }).forEach((LibraryEntity library) {
|
| + reporter
|
| + .log('Enqueuing ${(library as LibraryElement).canonicalUri}');
|
| resolutionEnqueuer.applyImpact(computeImpactForLibrary(library));
|
| });
|
| } else if (analyzeAll) {
|
| - libraryLoader.libraries.forEach((LibraryElement library) {
|
| - reporter.log('Enqueuing ${library.canonicalUri}');
|
| + libraryLoader.libraries.forEach((LibraryEntity library) {
|
| + reporter
|
| + .log('Enqueuing ${(library as LibraryElement).canonicalUri}');
|
| resolutionEnqueuer.applyImpact(computeImpactForLibrary(library));
|
| });
|
| } else if (options.analyzeMain) {
|
| @@ -650,7 +653,7 @@ abstract class Compiler {
|
| serialization.serializeToSink(
|
| userOutputProvider.createOutputSink(
|
| '', 'data', api.OutputType.serializationData),
|
| - libraryLoader.libraries.where((LibraryElement library) {
|
| + libraryLoader.libraries.where((LibraryEntity library) {
|
| return !serialization.isDeserialized(library);
|
| }));
|
| }
|
| @@ -687,7 +690,7 @@ abstract class Compiler {
|
| codegenEnqueuer.applyImpact(
|
| backend.onCodegenStart(closedWorld, _codegenWorldBuilder));
|
| if (compileAll) {
|
| - libraryLoader.libraries.forEach((LibraryElement library) {
|
| + libraryLoader.libraries.forEach((LibraryEntity library) {
|
| codegenEnqueuer.applyImpact(computeImpactForLibrary(library));
|
| });
|
| }
|
| @@ -964,10 +967,11 @@ abstract class Compiler {
|
| }
|
| }
|
|
|
| - libraryLoader.libraries.forEach((LibraryElement library) {
|
| + libraryLoader.libraries.forEach((LibraryEntity entity) {
|
| // TODO(ahe): Implement better heuristics to discover entry points of
|
| // packages and use that to discover unused implementation details in
|
| // packages.
|
| + LibraryElement library = entity;
|
| if (library.isPlatformLibrary || library.isPackageLibrary) return;
|
| library.compilationUnits.forEach((unit) {
|
| unit.forEachLocalMember(checkLive);
|
|
|