| Index: pkg/compiler/lib/src/old_to_new_api.dart
|
| diff --git a/pkg/compiler/lib/src/old_to_new_api.dart b/pkg/compiler/lib/src/old_to_new_api.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..34d6e79d019f293ccff6104a5b5b33abc3dd9ae5
|
| --- /dev/null
|
| +++ b/pkg/compiler/lib/src/old_to_new_api.dart
|
| @@ -0,0 +1,52 @@
|
| +// Copyright (c) 2015, 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.
|
| +
|
| +/// Implementation of the new compiler API in '../compiler_new.dart' through the
|
| +/// old compiler API in '../compiler.dart'.
|
| +
|
| +library compiler.api.legacy;
|
| +
|
| +import 'dart:async' show EventSink, Future;
|
| +import 'null_compiler_output.dart' show NullSink;
|
| +import '../compiler.dart';
|
| +import '../compiler_new.dart';
|
| +
|
| +/// Implementation of [CompilerInput] using a [CompilerInputProvider].
|
| +class LegacyCompilerInput implements CompilerInput {
|
| + final CompilerInputProvider _inputProvider;
|
| +
|
| + LegacyCompilerInput(this._inputProvider);
|
| +
|
| + @override
|
| + Future readFromUri(Uri uri) {
|
| + return _inputProvider(uri);
|
| + }
|
| +}
|
| +
|
| +/// Implementation of [CompilerDiagnostics] using a [DiagnosticHandler].
|
| +class LegacyCompilerDiagnostics implements CompilerDiagnostics {
|
| + final DiagnosticHandler _handler;
|
| +
|
| + LegacyCompilerDiagnostics(this._handler);
|
| +
|
| + @override
|
| + void report(Uri uri, int begin, int end,
|
| + String message, Diagnostic kind) {
|
| + _handler(uri, begin, end, message, kind);
|
| + }
|
| +}
|
| +
|
| +/// Implementation of [CompilerOutput] using an optional
|
| +/// [CompilerOutputProvider].
|
| +class LegacyCompilerOutput implements CompilerOutput {
|
| + final CompilerOutputProvider _outputProvider;
|
| +
|
| + LegacyCompilerOutput([this._outputProvider]);
|
| +
|
| + @override
|
| + EventSink<String> createEventSink(String name, String extension) {
|
| + if (_outputProvider != null) return _outputProvider(name, extension);
|
| + return NullSink.outputProvider(name, extension);
|
| + }
|
| +}
|
|
|