Index: dart/lib/compiler/implementation/compiler.dart |
diff --git a/dart/lib/compiler/implementation/compiler.dart b/dart/lib/compiler/implementation/compiler.dart |
index 4cfc900ba86182c22cdb08833fec42a4c69fb127..1e0af70862c0f625c4bf1d3effb2361b5996a520 100644 |
--- a/dart/lib/compiler/implementation/compiler.dart |
+++ b/dart/lib/compiler/implementation/compiler.dart |
@@ -148,6 +148,8 @@ class Compiler implements DiagnosticListener { |
bool compilationFailed = false; |
+ bool hasCrashed = false; |
+ |
Compiler([this.tracer = const Tracer(), |
this.enableTypeAssertions = false, |
this.enableUserAssertions = false, |
@@ -203,6 +205,8 @@ class Compiler implements DiagnosticListener { |
} |
void unhandledExceptionOnElement(Element element) { |
+ if (hasCrashed) return; |
+ hasCrashed = true; |
reportDiagnostic(spanFromElement(element), |
MessageKind.COMPILER_CRASHED.error().toString(), |
api.Diagnostic.CRASH); |
@@ -765,10 +769,6 @@ class Compiler implements DiagnosticListener { |
enqueuer.codegen.registerInstantiatedClass(cls); |
} |
- void resolveClass(ClassElement element) { |
- withCurrentElement(element, () => resolver.resolveClass(element)); |
- } |
- |
Type resolveTypeAnnotation(Element element, TypeAnnotation annotation) { |
return resolver.resolveTypeAnnotation(element, annotation); |
} |