| Index: tests/compiler/dart2js/memory_compiler.dart
|
| diff --git a/tests/compiler/dart2js/memory_compiler.dart b/tests/compiler/dart2js/memory_compiler.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3bf07d2d93b1e0217d2c16252e4023760849f919
|
| --- /dev/null
|
| +++ b/tests/compiler/dart2js/memory_compiler.dart
|
| @@ -0,0 +1,68 @@
|
| +// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +library dart2js.test.memory_compiler;
|
| +
|
| +import 'package:expect/expect.dart';
|
| +import 'memory_source_file_helper.dart';
|
| +
|
| +import '../../../sdk/lib/_internal/compiler/implementation/dart2jslib.dart'
|
| + show NullSink;
|
| +
|
| +import '../../../sdk/lib/_internal/compiler/compiler.dart'
|
| + show DiagnosticHandler;
|
| +
|
| +import 'dart:async';
|
| +
|
| +import '../../../sdk/lib/_internal/compiler/implementation/mirrors/mirrors.dart';
|
| +import '../../../sdk/lib/_internal/compiler/implementation/mirrors/dart2js_mirror.dart';
|
| +
|
| +Compiler compilerFor(Map<String,String> memorySourceFiles,
|
| + {DiagnosticHandler diagnosticHandler,
|
| + List<String> options: const []}) {
|
| + Uri script = currentDirectory.resolve(nativeToUriPath(Platform.script));
|
| + Uri libraryRoot = script.resolve('../../../sdk/');
|
| + Uri packageRoot = script.resolve('./packages/');
|
| +
|
| + MemorySourceFileProvider.MEMORY_SOURCE_FILES = memorySourceFiles;
|
| + var provider = new MemorySourceFileProvider();
|
| + if (diagnosticHandler == null) {
|
| + diagnosticHandler = new FormattingDiagnosticHandler(provider);
|
| + }
|
| +
|
| + EventSink<String> outputProvider(String name, String extension) {
|
| + if (name != '') throw 'Attempt to output file "$name.$extension"';
|
| + return new NullSink('$name.$extension');
|
| + }
|
| +
|
| + Compiler compiler = new Compiler(provider.readStringFromUri,
|
| + outputProvider,
|
| + diagnosticHandler,
|
| + libraryRoot,
|
| + packageRoot,
|
| + options);
|
| + return compiler;
|
| +}
|
| +
|
| +Future<MirrorSystem> mirrorSystemFor(Map<String,String> memorySourceFiles,
|
| + {DiagnosticHandler diagnosticHandler,
|
| + List<String> options: const []}) {
|
| + Uri script = currentDirectory.resolve(nativeToUriPath(Platform.script));
|
| + Uri libraryRoot = script.resolve('../../../sdk/');
|
| + Uri packageRoot = script.resolve('./packages/');
|
| +
|
| + MemorySourceFileProvider.MEMORY_SOURCE_FILES = memorySourceFiles;
|
| + var provider = new MemorySourceFileProvider();
|
| + if (diagnosticHandler == null) {
|
| + diagnosticHandler = new FormattingDiagnosticHandler(provider);
|
| + }
|
| +
|
| + List<Uri> libraries = <Uri>[];
|
| + memorySourceFiles.forEach((String path, _) {
|
| + libraries.add(new Uri(scheme: 'memory', path: path));
|
| + });
|
| +
|
| + return analyze(libraries, libraryRoot, packageRoot,
|
| + provider, diagnosticHandler, options);
|
| +}
|
|
|