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

Unified Diff: dart/pkg/compiler/lib/src/resolution/members.dart

Issue 828413004: Don’t exit prematurely if compilation failed. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 5 years, 11 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: dart/pkg/compiler/lib/src/resolution/members.dart
diff --git a/dart/pkg/compiler/lib/src/resolution/members.dart b/dart/pkg/compiler/lib/src/resolution/members.dart
index fa554528c872e50f419fda5fe650bce80c49e070..4928109606d78ce4950553084b96828817e136a2 100644
--- a/dart/pkg/compiler/lib/src/resolution/members.dart
+++ b/dart/pkg/compiler/lib/src/resolution/members.dart
@@ -743,7 +743,8 @@ class ResolverTask extends CompilerTask {
Element nextTarget = target.immediateRedirectionTarget;
if (seen.contains(nextTarget)) {
error(node, MessageKind.CYCLIC_REDIRECTING_FACTORY);
- return;
+ targetType = target.enclosingClass.thisType;
+ break;
}
seen.add(target);
target = nextTarget;
@@ -3148,7 +3149,6 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
}
if (redirectionTarget == constructor) {
compiler.reportError(node, MessageKind.CYCLIC_REDIRECTING_FACTORY);
- return;
}
}
@@ -4254,6 +4254,9 @@ class ClassResolverVisitor extends TypeDefinitionVisitor {
}
FunctionElement constructor =
new SynthesizedConstructorElementX.forDefault(superMember, element);
+ if (superMember.isErroneous) {
+ compiler.elementsWithCompileTimeErrors.add(constructor);
+ }
element.setDefaultConstructor(constructor, compiler);
}
return element.computeType(compiler);

Powered by Google App Engine
This is Rietveld 408576698