| Index: pkg/dart2js_incremental/lib/dart2js_incremental.dart
|
| diff --git a/pkg/dart2js_incremental/lib/dart2js_incremental.dart b/pkg/dart2js_incremental/lib/dart2js_incremental.dart
|
| deleted file mode 100644
|
| index e62c7c31d92361ef734b1a5b7f2c7d588ef7852d..0000000000000000000000000000000000000000
|
| --- a/pkg/dart2js_incremental/lib/dart2js_incremental.dart
|
| +++ /dev/null
|
| @@ -1,176 +0,0 @@
|
| -// Copyright (c) 2014, 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_incremental;
|
| -
|
| -import 'dart:async' show
|
| - EventSink,
|
| - Future;
|
| -
|
| -import 'dart:developer' show
|
| - UserTag;
|
| -
|
| -import 'package:compiler/src/apiimpl.dart' show
|
| - CompilerImpl;
|
| -
|
| -import 'package:compiler/compiler_new.dart' show
|
| - CompilerDiagnostics,
|
| - CompilerInput,
|
| - CompilerOutput,
|
| - Diagnostic;
|
| -
|
| -import 'package:compiler/src/options.dart' show
|
| - CompilerOptions;
|
| -
|
| -import 'package:compiler/src/null_compiler_output.dart' show
|
| - NullCompilerOutput;
|
| -
|
| -import 'package:compiler/src/js_backend/js_backend.dart' show
|
| - JavaScriptBackend;
|
| -
|
| -import 'package:compiler/src/js_emitter/full_emitter/emitter.dart'
|
| - as full show Emitter;
|
| -
|
| -import 'package:compiler/src/elements/elements.dart' show
|
| - LibraryElement;
|
| -
|
| -import 'library_updater.dart' show
|
| - IncrementalCompilerContext,
|
| - LibraryUpdater,
|
| - Logger;
|
| -
|
| -import 'package:compiler/src/js/js.dart' as jsAst;
|
| -
|
| -part 'caching_compiler.dart';
|
| -
|
| -const List<String> INCREMENTAL_OPTIONS = const <String>[
|
| - '--disable-type-inference',
|
| - '--incremental-support',
|
| - '--generate-code-with-compile-time-errors',
|
| - '--no-source-maps', // TODO(ahe): Remove this.
|
| -];
|
| -
|
| -class IncrementalCompiler {
|
| - final Uri libraryRoot;
|
| - final Uri packageRoot;
|
| - final Uri packageConfig;
|
| - final CompilerInput inputProvider;
|
| - final CompilerDiagnostics diagnosticHandler;
|
| - final List<String> options;
|
| - final CompilerOutput outputProvider;
|
| - final Map<String, dynamic> environment;
|
| - final List<String> _updates = <String>[];
|
| - final IncrementalCompilerContext _context = new IncrementalCompilerContext();
|
| -
|
| - CompilerImpl _compiler;
|
| -
|
| - IncrementalCompiler({
|
| - this.libraryRoot,
|
| - this.packageRoot,
|
| - this.packageConfig,
|
| - this.inputProvider,
|
| - this.diagnosticHandler,
|
| - this.options,
|
| - this.outputProvider,
|
| - this.environment}) {
|
| - if (libraryRoot == null) {
|
| - throw new ArgumentError('libraryRoot is null.');
|
| - }
|
| - if (inputProvider == null) {
|
| - throw new ArgumentError('inputProvider is null.');
|
| - }
|
| - if (outputProvider == null) {
|
| - throw new ArgumentError('outputProvider is null.');
|
| - }
|
| - if (diagnosticHandler == null) {
|
| - throw new ArgumentError('diagnosticHandler is null.');
|
| - }
|
| - _context.incrementalCompiler = this;
|
| - }
|
| -
|
| - LibraryElement get mainApp => _compiler.mainApp;
|
| -
|
| - CompilerImpl get compiler => _compiler;
|
| -
|
| - Future<bool> compile(Uri script) {
|
| - return _reuseCompiler(null).then((CompilerImpl compiler) {
|
| - _compiler = compiler;
|
| - return compiler.run(script);
|
| - });
|
| - }
|
| -
|
| - Future<CompilerImpl> _reuseCompiler(
|
| - Future<bool> reuseLibrary(LibraryElement library)) {
|
| - List<String> options = this.options == null
|
| - ? <String> [] : new List<String>.from(this.options);
|
| - options.addAll(INCREMENTAL_OPTIONS);
|
| - return reuseCompiler(
|
| - cachedCompiler: _compiler,
|
| - libraryRoot: libraryRoot,
|
| - packageRoot: packageRoot,
|
| - packageConfig: packageConfig,
|
| - inputProvider: inputProvider,
|
| - diagnosticHandler: diagnosticHandler,
|
| - options: options,
|
| - outputProvider: outputProvider,
|
| - environment: environment,
|
| - reuseLibrary: reuseLibrary);
|
| - }
|
| -
|
| - Future<String> compileUpdates(
|
| - Map<Uri, Uri> updatedFiles,
|
| - {Logger logTime,
|
| - Logger logVerbose}) {
|
| - if (logTime == null) {
|
| - logTime = (_) {};
|
| - }
|
| - if (logVerbose == null) {
|
| - logVerbose = (_) {};
|
| - }
|
| - Future mappingInputProvider(Uri uri) {
|
| - Uri updatedFile = updatedFiles[uri];
|
| - return inputProvider.readFromUri(updatedFile == null ? uri : updatedFile);
|
| - }
|
| - LibraryUpdater updater = new LibraryUpdater(
|
| - _compiler,
|
| - mappingInputProvider,
|
| - logTime,
|
| - logVerbose,
|
| - _context);
|
| - _context.registerUriWithUpdates(updatedFiles.keys);
|
| - Future<CompilerImpl> future = _reuseCompiler(updater.reuseLibrary);
|
| - return future.then((CompilerImpl compiler) {
|
| - _compiler = compiler;
|
| - if (compiler.compilationFailed) {
|
| - return null;
|
| - } else {
|
| - String update = updater.computeUpdateJs();
|
| - _updates.add(update);
|
| - return update;
|
| - }
|
| - });
|
| - }
|
| -
|
| - String allUpdates() {
|
| - jsAst.Node updates = jsAst.js.escapedString(_updates.join(""));
|
| -
|
| - JavaScriptBackend backend = _compiler.backend;
|
| -
|
| - jsAst.FunctionDeclaration mainRunner = jsAst.js.statement(r"""
|
| -function dartMainRunner(main, args) {
|
| - #helper.patch(#updates + "\n//# sourceURL=initial_patch.js\n");
|
| - return main(args);
|
| -}""", {'updates': updates, 'helper': backend.namer.accessIncrementalHelper});
|
| -
|
| - return jsAst.prettyPrint(mainRunner, _compiler).getText();
|
| - }
|
| -}
|
| -
|
| -class IncrementalCompilationFailed {
|
| - final String reason;
|
| -
|
| - const IncrementalCompilationFailed(this.reason);
|
| -
|
| - String toString() => "Can't incrementally compile program.\n\n$reason";
|
| -}
|
|
|