OLD | NEW |
| (Empty) |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 package com.google.dart.compiler; | |
6 | |
7 import com.google.dart.compiler.ast.DartUnit; | |
8 import com.google.dart.compiler.ast.LibraryUnit; | |
9 import com.google.dart.compiler.resolver.CoreTypeProvider; | |
10 | |
11 import java.io.IOException; | |
12 import java.util.Collection; | |
13 | |
14 /** | |
15 * Interface for compiler backends. | |
16 */ | |
17 public interface Backend { | |
18 | |
19 /** | |
20 * Determines whether compilation artifacts are out of date with respect to | |
21 * this source. | |
22 */ | |
23 boolean isOutOfDate(DartSource src, DartCompilerContext context); | |
24 | |
25 /** | |
26 * Compile the given compilation unit. | |
27 * @param context The listener through which compilation errors are reported | |
28 * (not <code>null</code>) | |
29 */ | |
30 void compileUnit(DartUnit unit, DartSource src, | |
31 DartCompilerContext context, | |
32 CoreTypeProvider typeProvider) | |
33 throws IOException; | |
34 | |
35 /** | |
36 * Package the given application. | |
37 * | |
38 * @param app The application library whose entry-point should be called | |
39 * @param libraries The transitive set of libraries contained in this | |
40 * application | |
41 * @param context The listener through which compilation errors are reported | |
42 * (not <code>null</code>) | |
43 */ | |
44 void packageApp(LibrarySource app, | |
45 Collection<LibraryUnit> libraries, | |
46 DartCompilerContext context, | |
47 CoreTypeProvider typeProvider) | |
48 throws IOException; | |
49 | |
50 /** | |
51 * The application extension for the backend. | |
52 */ | |
53 String getAppExtension(); | |
54 } | |
OLD | NEW |