| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 "package:expect/expect.dart"; | 7 import "package:expect/expect.dart"; | 
| 8 import 'dart:async'; | 8 import 'dart:async'; | 
| 9 import 'dart:collection'; | 9 import 'dart:collection'; | 
| 10 | 10 | 
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 248 import 'dart:_interceptors'; | 248 import 'dart:_interceptors'; | 
| 249 import 'dart:_isolate_helper'; | 249 import 'dart:_isolate_helper'; | 
| 250 '''; | 250 '''; | 
| 251 | 251 | 
| 252 const String DEFAULT_ISOLATE_HELPERLIB = r''' | 252 const String DEFAULT_ISOLATE_HELPERLIB = r''' | 
| 253   var startRootIsolate; | 253   var startRootIsolate; | 
| 254   var _currentIsolate; | 254   var _currentIsolate; | 
| 255   var _callInIsolate; | 255   var _callInIsolate; | 
| 256   class _WorkerBase {}'''; | 256   class _WorkerBase {}'''; | 
| 257 | 257 | 
|  | 258 const String DEFAULT_MIRRORS = r''' | 
|  | 259 class Comment {} | 
|  | 260 class MirrorSystem {} | 
|  | 261 class MirrorsUsed {} | 
|  | 262 '''; | 
|  | 263 | 
| 258 class MockCompiler extends Compiler { | 264 class MockCompiler extends Compiler { | 
| 259   api.DiagnosticHandler diagnosticHandler; | 265   api.DiagnosticHandler diagnosticHandler; | 
| 260   List<WarningMessage> warnings; | 266   List<WarningMessage> warnings; | 
| 261   List<WarningMessage> errors; | 267   List<WarningMessage> errors; | 
| 262   List<WarningMessage> hints; | 268   List<WarningMessage> hints; | 
| 263   List<WarningMessage> infos; | 269   List<WarningMessage> infos; | 
| 264   List<WarningMessage> crashes; | 270   List<WarningMessage> crashes; | 
| 265   /// Expected number of warnings. If `null`, the number of warnings is | 271   /// Expected number of warnings. If `null`, the number of warnings is | 
| 266   /// not checked. | 272   /// not checked. | 
| 267   final int expectedWarnings; | 273   final int expectedWarnings; | 
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 304 | 310 | 
| 305     clearMessages(); | 311     clearMessages(); | 
| 306 | 312 | 
| 307     registerSource(Compiler.DART_CORE, coreSource); | 313     registerSource(Compiler.DART_CORE, coreSource); | 
| 308     registerSource(PATCH_CORE, PATCH_CORE_SOURCE); | 314     registerSource(PATCH_CORE, PATCH_CORE_SOURCE); | 
| 309 | 315 | 
| 310     registerSource(Compiler.DART_JS_HELPER, DEFAULT_HELPERLIB); | 316     registerSource(Compiler.DART_JS_HELPER, DEFAULT_HELPERLIB); | 
| 311     registerSource(Compiler.DART_FOREIGN_HELPER, FOREIGN_LIBRARY); | 317     registerSource(Compiler.DART_FOREIGN_HELPER, FOREIGN_LIBRARY); | 
| 312     registerSource(Compiler.DART_INTERCEPTORS, interceptorsSource); | 318     registerSource(Compiler.DART_INTERCEPTORS, interceptorsSource); | 
| 313     registerSource(Compiler.DART_ISOLATE_HELPER, DEFAULT_ISOLATE_HELPERLIB); | 319     registerSource(Compiler.DART_ISOLATE_HELPER, DEFAULT_ISOLATE_HELPERLIB); | 
|  | 320     registerSource(Compiler.DART_MIRRORS, DEFAULT_MIRRORS); | 
| 314   } | 321   } | 
| 315 | 322 | 
| 316   /// Initialize the mock compiler with an empty main library. | 323   /// Initialize the mock compiler with an empty main library. | 
| 317   Future init([String mainSource = ""]) { | 324   Future init([String mainSource = ""]) { | 
| 318     Uri uri = new Uri(scheme: "mock"); | 325     Uri uri = new Uri(scheme: "mock"); | 
| 319     registerSource(uri, mainSource); | 326     registerSource(uri, mainSource); | 
| 320     return libraryLoader.loadLibrary(uri, null, uri) | 327     return libraryLoader.loadLibrary(uri) | 
| 321         .then((LibraryElement library) { | 328         .then((LibraryElement library) { | 
| 322       coreLibrary = libraries['${Compiler.DART_CORE}']; |  | 
| 323       jsHelperLibrary = libraries['${Compiler.DART_JS_HELPER}']; |  | 
| 324       foreignLibrary = libraries['${Compiler.DART_FOREIGN_HELPER}']; |  | 
| 325       interceptorsLibrary = libraries['${Compiler.DART_INTERCEPTORS}']; |  | 
| 326       isolateHelperLibrary = libraries['${Compiler.DART_ISOLATE_HELPER}']; |  | 
| 327 |  | 
| 328       assertMethod = jsHelperLibrary.find('assertHelper'); |  | 
| 329       identicalFunction = coreLibrary.find('identical'); |  | 
| 330 |  | 
| 331       mainApp = library; | 329       mainApp = library; | 
| 332       initializeSpecialClasses(); |  | 
| 333       // We need to make sure the Object class is resolved. When registering a | 330       // We need to make sure the Object class is resolved. When registering a | 
| 334       // dynamic invocation the ArgumentTypesRegistry eventually iterates over | 331       // dynamic invocation the ArgumentTypesRegistry eventually iterates over | 
| 335       // the interfaces of the Object class which would be 'null' if the class | 332       // the interfaces of the Object class which would be 'null' if the class | 
| 336       // wasn't resolved. | 333       // wasn't resolved. | 
| 337       objectClass.ensureResolved(this); | 334       objectClass.ensureResolved(this); | 
| 338     }); | 335     }); | 
| 339   } | 336   } | 
| 340 | 337 | 
| 341   Future runCompiler(Uri uri) { | 338   Future runCompiler(Uri uri) { | 
| 342     return init().then((_) { | 339     return init().then((_) { | 
| (...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 596 | 593 | 
| 597 class MockElement extends FunctionElementX { | 594 class MockElement extends FunctionElementX { | 
| 598   MockElement(Element enclosingElement) | 595   MockElement(Element enclosingElement) | 
| 599       : super('', ElementKind.FUNCTION, Modifiers.EMPTY, | 596       : super('', ElementKind.FUNCTION, Modifiers.EMPTY, | 
| 600               enclosingElement, false); | 597               enclosingElement, false); | 
| 601 | 598 | 
| 602   get node => null; | 599   get node => null; | 
| 603 | 600 | 
| 604   parseNode(_) => null; | 601   parseNode(_) => null; | 
| 605 } | 602 } | 
| OLD | NEW | 
|---|