| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 mock_compiler; | 5 library mock_compiler; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:collection'; | 8 import 'dart:collection'; |
| 9 | 9 |
| 10 import 'package:compiler/compiler_new.dart' as api; | 10 import 'package:compiler/compiler_new.dart' as api; |
| 11 import 'package:compiler/src/common/names.dart' show Uris; | 11 import 'package:compiler/src/common/names.dart' show Uris; |
| 12 import 'package:compiler/src/constants/expressions.dart'; | 12 import 'package:compiler/src/constants/expressions.dart'; |
| 13 import 'package:compiler/src/elements/resolution_types.dart' | 13 import 'package:compiler/src/elements/resolution_types.dart' |
| 14 show ResolutionDartType; | 14 show ResolutionDartType; |
| 15 import 'package:compiler/src/diagnostics/diagnostic_listener.dart'; | 15 import 'package:compiler/src/diagnostics/diagnostic_listener.dart'; |
| 16 import 'package:compiler/src/diagnostics/source_span.dart'; | 16 import 'package:compiler/src/diagnostics/source_span.dart'; |
| 17 import 'package:compiler/src/diagnostics/spannable.dart'; | 17 import 'package:compiler/src/diagnostics/spannable.dart'; |
| 18 import 'package:compiler/src/elements/elements.dart'; | 18 import 'package:compiler/src/elements/elements.dart'; |
| 19 import 'package:compiler/src/elements/visitor.dart'; | 19 import 'package:compiler/src/elements/visitor.dart'; |
| 20 import 'package:compiler/src/library_loader.dart' show LoadedLibraries; |
| 20 import 'package:compiler/src/js_backend/backend_helpers.dart' | 21 import 'package:compiler/src/js_backend/backend_helpers.dart' |
| 21 show BackendHelpers; | 22 show BackendHelpers; |
| 22 import 'package:compiler/src/js_backend/lookup_map_analysis.dart' | 23 import 'package:compiler/src/js_backend/lookup_map_analysis.dart' |
| 23 show LookupMapResolutionAnalysis; | 24 show LookupMapResolutionAnalysis; |
| 24 import 'package:compiler/src/io/source_file.dart'; | 25 import 'package:compiler/src/io/source_file.dart'; |
| 25 import 'package:compiler/src/options.dart' show CompilerOptions; | 26 import 'package:compiler/src/options.dart' show CompilerOptions; |
| 26 import 'package:compiler/src/resolution/members.dart'; | 27 import 'package:compiler/src/resolution/members.dart'; |
| 27 import 'package:compiler/src/resolution/registry.dart'; | 28 import 'package:compiler/src/resolution/registry.dart'; |
| 28 import 'package:compiler/src/resolution/scope.dart'; | 29 import 'package:compiler/src/resolution/scope.dart'; |
| 29 import 'package:compiler/src/resolution/tree_elements.dart'; | 30 import 'package:compiler/src/resolution/tree_elements.dart'; |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 } | 137 } |
| 137 | 138 |
| 138 String get patchVersion { | 139 String get patchVersion { |
| 139 return testedPatchVersion != null ? testedPatchVersion : super.patchVersion; | 140 return testedPatchVersion != null ? testedPatchVersion : super.patchVersion; |
| 140 } | 141 } |
| 141 | 142 |
| 142 /// Initialize the mock compiler with an empty main library. | 143 /// Initialize the mock compiler with an empty main library. |
| 143 Future<Uri> init([String mainSource = ""]) { | 144 Future<Uri> init([String mainSource = ""]) { |
| 144 Uri uri = new Uri(scheme: "mock"); | 145 Uri uri = new Uri(scheme: "mock"); |
| 145 registerSource(uri, mainSource); | 146 registerSource(uri, mainSource); |
| 146 return libraryLoader.loadLibrary(uri).then((LibraryElement library) { | 147 return libraryLoader |
| 147 mainApp = library; | 148 .loadLibrary(uri) |
| 149 .then((LoadedLibraries loadedLibraries) { |
| 150 processLoadedLibraries(loadedLibraries); |
| 151 mainApp = loadedLibraries.rootLibrary; |
| 148 startResolution(); | 152 startResolution(); |
| 149 // We need to make sure the Object class is resolved. When registering a | 153 // We need to make sure the Object class is resolved. When registering a |
| 150 // dynamic invocation the ArgumentTypesRegistry eventually iterates over | 154 // dynamic invocation the ArgumentTypesRegistry eventually iterates over |
| 151 // the interfaces of the Object class which would be 'null' if the class | 155 // the interfaces of the Object class which would be 'null' if the class |
| 152 // wasn't resolved. | 156 // wasn't resolved. |
| 153 ClassElement objectClass = commonElements.objectClass; | 157 ClassElement objectClass = commonElements.objectClass; |
| 154 objectClass.ensureResolved(resolution); | 158 objectClass.ensureResolved(resolution); |
| 155 }).then((_) => uri); | 159 }).then((_) => uri); |
| 156 } | 160 } |
| 157 | 161 |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 trustTypeAnnotations: trustTypeAnnotations, | 398 trustTypeAnnotations: trustTypeAnnotations, |
| 395 enableTypeAssertions: enableTypeAssertions, | 399 enableTypeAssertions: enableTypeAssertions, |
| 396 enableUserAssertions: enableUserAssertions, | 400 enableUserAssertions: enableUserAssertions, |
| 397 expectedErrors: expectedErrors, | 401 expectedErrors: expectedErrors, |
| 398 expectedWarnings: expectedWarnings, | 402 expectedWarnings: expectedWarnings, |
| 399 outputProvider: outputProvider); | 403 outputProvider: outputProvider); |
| 400 compiler.registerSource(uri, code); | 404 compiler.registerSource(uri, code); |
| 401 compiler.diagnosticHandler = createHandler(compiler, code); | 405 compiler.diagnosticHandler = createHandler(compiler, code); |
| 402 return compiler; | 406 return compiler; |
| 403 } | 407 } |
| OLD | NEW |