Index: dart/lib/compiler/implementation/compiler.dart |
diff --git a/dart/lib/compiler/implementation/compiler.dart b/dart/lib/compiler/implementation/compiler.dart |
index 69234fe7f8c32557ec96fb69ee1ee7501d6430ed..81be0024c8fed44b5bbd4dd42d9e8501b26b5c76 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); |
@@ -763,10 +767,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); |
} |