blob: e01387f8c8862534bb90adda1b26feacb0050048 [file] [log] [blame]
// Copyright (c) 2017, 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.
import 'dart:async' show Future;
import 'package:kernel/kernel.dart' show Program;
import '../base/processed_options.dart' show ProcessedOptions;
import '../fasta/compiler_context.dart' show CompilerContext;
import '../fasta/incremental_compiler.dart' show IncrementalCompiler;
import 'compiler_options.dart' show CompilerOptions;
abstract class IncrementalKernelGenerator {
factory IncrementalKernelGenerator(CompilerOptions options, Uri entryPoint) {
return new IncrementalCompiler(new CompilerContext(
new ProcessedOptions(options, false, [entryPoint])));
}
/// Returns a component (nee program) whose libraries are the recompiled
/// libraries.
Future<Program> computeDelta({Uri entryPoint});
/// Remove the file associated with the given file [uri] from the set of
/// valid files. This guarantees that those files will be re-read on the
/// next call to [computeDelta]).
void invalidate(Uri uri);
}