Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Unified Diff: pkg/dev_compiler/lib/src/compiler/command.dart

Issue 2757753002: Migrate DDC to the new analysis driver.
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/dev_compiler/lib/src/compiler/command.dart
diff --git a/pkg/dev_compiler/lib/src/compiler/command.dart b/pkg/dev_compiler/lib/src/compiler/command.dart
index 738837cea62097ebbca0c6277231580ee0f818b7..2ada9004df3603c93cc445c5668b43776854a2d8 100644
--- a/pkg/dev_compiler/lib/src/compiler/command.dart
+++ b/pkg/dev_compiler/lib/src/compiler/command.dart
@@ -2,6 +2,7 @@
// 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';
import 'dart:io';
import 'package:analyzer/src/command_line/arguments.dart'
show
@@ -13,6 +14,7 @@ import 'package:analyzer/src/summary/package_bundle_reader.dart'
show InSummarySource;
import 'package:args/args.dart' show ArgParser, ArgResults;
import 'package:args/command_runner.dart' show UsageException;
+import 'package:dev_compiler/src/compiler/compiler.dart';
import 'package:path/path.dart' as path;
import '../analyzer/context.dart' show AnalyzerOptions;
@@ -28,7 +30,7 @@ bool _verbose = false;
/// This handles argument parsing, usage, error handling.
/// See bin/dartdevc.dart for the actual entry point, which includes Bazel
/// worker support.
-int compile(List<String> args, {void printFn(Object obj)}) {
+Future<int> compile(List<String> args, {void printFn(Object obj)}) async {
printFn ??= print;
ArgResults argResults;
@@ -57,7 +59,7 @@ int compile(List<String> args, {void printFn(Object obj)}) {
}
try {
- _compile(argResults, analyzerOptions, printFn);
+ await _compile(argResults, analyzerOptions, printFn);
return 0;
} on UsageException catch (error) {
// Incorrect usage, input file not found, etc.
@@ -127,8 +129,8 @@ bool _changed(List<int> list1, List<int> list2) {
return false;
}
-void _compile(ArgResults argResults, AnalyzerOptions analyzerOptions,
- void printFn(Object obj)) {
+Future<Null> _compile(ArgResults argResults, AnalyzerOptions analyzerOptions,
+ void printFn(Object obj)) async {
var compiler = new ModuleCompiler(analyzerOptions);
var compilerOpts = new CompilerOptions.fromArguments(argResults);
var outPaths = argResults['out'] as List<String>;
@@ -179,7 +181,7 @@ void _compile(ArgResults argResults, AnalyzerOptions analyzerOptions,
var unit = new BuildUnit(modulePath, libraryRoot, argResults.rest,
(source) => _moduleForLibrary(moduleRoot, source, compilerOpts));
- var module = compiler.compile(unit, compilerOpts);
+ JSModuleFile module = await compiler.compile(unit, compilerOpts);
module.errors.forEach(printFn);
if (!module.isValid) throw new CompileErrorException();

Powered by Google App Engine
This is Rietveld 408576698