| Index: lib/compiler/implementation/compiler.dart
|
| diff --git a/lib/compiler/implementation/compiler.dart b/lib/compiler/implementation/compiler.dart
|
| index 1841697b8e619677dcee013dc02cad30e7665877..aadb4a57b3d280902a684d109f5fbfe85ec2f35f 100644
|
| --- a/lib/compiler/implementation/compiler.dart
|
| +++ b/lib/compiler/implementation/compiler.dart
|
| @@ -161,6 +161,7 @@ abstract class Compiler implements DiagnosticListener {
|
| DietParserTask dietParser;
|
| ParserTask parser;
|
| PatchParserTask patchParser;
|
| + LibraryLoader libraryLoader;
|
| TreeValidatorTask validator;
|
| ResolverTask resolver;
|
| closureMapping.ClosureTask closureToClassMapper;
|
| @@ -205,6 +206,7 @@ abstract class Compiler implements DiagnosticListener {
|
| dietParser = new DietParserTask(this);
|
| parser = new ParserTask(this);
|
| patchParser = new PatchParserTask(this);
|
| + libraryLoader = new LibraryLoaderTask(this);
|
| validator = new TreeValidatorTask(this);
|
| resolver = new ResolverTask(this);
|
| closureToClassMapper = new closureMapping.ClosureTask(this);
|
| @@ -388,31 +390,12 @@ abstract class Compiler implements DiagnosticListener {
|
|
|
| void loadCoreImplLibrary() {
|
| Uri coreImplUri = new Uri.fromComponents(scheme: 'dart', path: 'coreimpl');
|
| - coreImplLibrary = scanner.loadLibrary(coreImplUri, null, coreImplUri);
|
| + coreImplLibrary = libraryLoader.loadLibrary(coreImplUri, null, coreImplUri);
|
| }
|
|
|
| void importHelperLibrary(LibraryElement library) {
|
| if (jsHelperLibrary !== null) {
|
| - scanner.importLibrary(library, jsHelperLibrary, null);
|
| - }
|
| - }
|
| -
|
| - void importCoreLibrary(LibraryElement library) {
|
| - if (coreLibrary === null) {
|
| - Uri coreUri = new Uri.fromComponents(scheme: 'dart', path: 'core');
|
| - coreLibrary = scanner.loadLibrary(coreUri, null, coreUri);
|
| - }
|
| - scanner.importLibrary(library,
|
| - coreLibrary,
|
| - null,
|
| - library.entryCompilationUnit);
|
| - }
|
| -
|
| - void patchDartLibrary(LibraryElement library, String dartLibraryPath) {
|
| - if (library.isPatched) return;
|
| - Uri patchUri = resolvePatchUri(dartLibraryPath);
|
| - if (patchUri !== null) {
|
| - patchParser.patchLibrary(patchUri, library);
|
| + LibraryLoader.importLibrary(this, library, jsHelperLibrary, null);
|
| }
|
| }
|
|
|
| @@ -459,7 +442,7 @@ abstract class Compiler implements DiagnosticListener {
|
| void runCompiler(Uri uri) {
|
| log('compiling $uri ($BUILD_ID)');
|
| scanBuiltinLibraries();
|
| - mainApp = scanner.loadLibrary(uri, null, uri);
|
| + mainApp = libraryLoader.loadLibrary(uri, null, uri);
|
| libraries.forEach((_, library) {
|
| maybeEnableJSHelper(library);
|
| });
|
| @@ -855,5 +838,8 @@ bool invariant(Spannable spannable, var condition, {String message: null}) {
|
| if (condition is Function){
|
| condition = condition();
|
| }
|
| + if (!condition) {
|
| + print('assertion failed: $message');
|
| + }
|
| return spannable != null && condition;
|
| }
|
|
|