Index: lib/devc.dart |
diff --git a/lib/devc.dart b/lib/devc.dart |
index a5ea96a24c529c1e7b082b7556213ec536106095..90ea46bf4b12f8ec6a6ba3f03dcb4bf1e954ec6f 100644 |
--- a/lib/devc.dart |
+++ b/lib/devc.dart |
@@ -10,7 +10,7 @@ import 'dart:convert'; |
import 'dart:io'; |
import 'package:analyzer/src/generated/error.dart' |
- show AnalysisError, ErrorSeverity, ErrorType; |
+ show AnalysisError, AnalysisErrorListener, ErrorSeverity, ErrorType; |
pquitslund
2015/07/10 05:17:25
Nit: I would sort this import after engine.dart.
Jennifer Messerly
2015/07/10 16:12:05
Done.
|
import 'package:analyzer/src/generated/engine.dart' |
show AnalysisContext, ChangeSet; |
import 'package:analyzer/src/generated/source.dart' show Source; |
@@ -54,7 +54,7 @@ abstract class AbstractCompiler { |
class Compiler implements AbstractCompiler { |
final CompilerOptions options; |
final AnalysisContext context; |
- final CompilerReporter _reporter; |
+ final AnalysisErrorListener _reporter; |
final TypeRules rules; |
final CodeChecker _checker; |
final SourceNode _entryNode; |
@@ -64,7 +64,7 @@ class Compiler implements AbstractCompiler { |
bool _failure = false; |
factory Compiler(CompilerOptions options, |
- {AnalysisContext context, CompilerReporter reporter}) { |
+ {AnalysisContext context, AnalysisErrorListener reporter}) { |
var strongOpts = options.strongOptions; |
var sourceOpts = options.sourceOptions; |
if (context == null) { |
@@ -124,14 +124,11 @@ class Compiler implements AbstractCompiler { |
void _buildHtmlFile(HtmlSourceNode node) { |
if (outputDir == null) return; |
- var uri = node.source.uri; |
- _reporter.enterHtml(uri); |
var output = generateEntryHtml(node, options); |
if (output == null) { |
_failure = true; |
return; |
} |
- _reporter.leaveHtml(); |
var filename = path.basename(node.uri.path); |
String outputFile = path.join(outputDir, filename); |
new File(outputFile).writeAsStringSync(output); |
@@ -169,7 +166,6 @@ class Compiler implements AbstractCompiler { |
} else { |
node.info = current = new LibraryInfo(lib, _isEntry(node)); |
} |
- _reporter.enterLibrary(source.uri); |
_libraries.add(current); |
rules.currentLibraryInfo = current; |
@@ -180,12 +176,9 @@ class Compiler implements AbstractCompiler { |
bool failureInLib = false; |
for (var unit in libraryUnit.libraryThenParts) { |
var unitSource = unit.element.source; |
- _reporter.enterCompilationUnit(unit); |
- // TODO(sigmund): integrate analyzer errors with static-info (issue #6). |
failureInLib = logErrors(unitSource) || failureInLib; |
_checker.visitCompilationUnit(unit); |
if (_checker.failure) failureInLib = true; |
- _reporter.leaveCompilationUnit(); |
} |
if (failureInLib) { |
_failure = true; |
@@ -196,7 +189,6 @@ class Compiler implements AbstractCompiler { |
var hash = cg.generateLibrary(libraryUnit, current); |
if (_hashing) node.cachingHash = hash; |
} |
- _reporter.leaveLibrary(); |
} |
/// Log any errors encountered when resolving [source] and return whether any |
@@ -216,9 +208,9 @@ class Compiler implements AbstractCompiler { |
continue; |
} |
- var message = new AnalyzerMessage.from(error); |
- if (message.level == Level.SEVERE) failure = true; |
- _reporter.log(message); |
+ // All analyzer warnings or errors are errors for DDC. |
+ failure = true; |
+ _reporter.onError(error); |
} |
} |
return failure; |