blob: 20c59f227f0a32aa2384a0a59a5f70c81c95d0f1 [file] [log] [blame]
// Copyright (c) 2016, 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 fasta.target;
import 'dart:async' show Future;
import 'ticker.dart' show Ticker;
import 'ast_kind.dart' show AstKind;
/// A compilation target.
///
/// A target reads source files with [read] and writes out the resulting
/// program when [writeOutline] is called.
abstract class Target {
final Ticker ticker;
Target(this.ticker);
/// Instructs this target to include [uri] in its result.
void read(Uri uri);
/// Write the resulting program in the file [uri].
Future writeProgram(Uri uri, AstKind astKind);
/// Write the resulting outline in the file [uri].
Future writeOutline(Uri uri);
}