Index: pkg/compiler/lib/src/typechecker.dart |
diff --git a/pkg/compiler/lib/src/typechecker.dart b/pkg/compiler/lib/src/typechecker.dart |
index a21913aac27db74fb86e7af9f50291621a88969f..db61f8621e5f1878e3ac2d458c3b98a2d600c72d 100644 |
--- a/pkg/compiler/lib/src/typechecker.dart |
+++ b/pkg/compiler/lib/src/typechecker.dart |
@@ -1023,8 +1023,7 @@ class TypeCheckerVisitor extends Visitor<DartType> { |
ElementAccess computeAccess(Send node, String name, Element element, |
MemberKind memberKind, |
{bool lookupClassMember: false}) { |
- if (element != null && element.isErroneous) { |
- // An error has already been reported for this node. |
+ if (Elements.isMalformed(element)) { |
return const DynamicAccess(); |
} |
if (node.receiver != null) { |
@@ -1063,7 +1062,7 @@ class TypeCheckerVisitor extends Visitor<DartType> { |
if (element == null) { |
// foo() where foo is unresolved. |
return lookupMember(node, thisType, name, memberKind, null); |
- } else if (element.isErroneous) { |
+ } else if (element.isMalformed) { |
// foo() where foo is erroneous. |
return const DynamicAccess(); |
} else if (element.impliesType) { |
@@ -1206,7 +1205,7 @@ class TypeCheckerVisitor extends Visitor<DartType> { |
DartType type = analyze(node.selector); |
return analyzeInvocation(node, new TypeAccess(type)); |
} |
- } else if (Elements.isErroneous(element) && selector == null) { |
+ } else if (Elements.isMalformed(element) && selector == null) { |
// exp() where exp is an erroneous construct like `new Unresolved()`. |
DartType type = analyze(node.selector); |
return analyzeInvocation(node, new TypeAccess(type)); |