Index: pkg/compiler/lib/src/typechecker.dart |
diff --git a/pkg/compiler/lib/src/typechecker.dart b/pkg/compiler/lib/src/typechecker.dart |
index 85710b11d3da5cbf9d040e3dd29402925f1cfc42..2a8ab08ccdc7592f86772f6c29d0f3111b726051 100644 |
--- a/pkg/compiler/lib/src/typechecker.dart |
+++ b/pkg/compiler/lib/src/typechecker.dart |
@@ -40,7 +40,7 @@ import 'elements/elements.dart' |
TypeDeclarationElement, |
TypedElement, |
VariableElement; |
-import 'resolution/class_members.dart' show MembersCreator; |
+import 'resolution/class_members.dart' show MembersCreator, ErroneousMember; |
import 'resolution/tree_elements.dart' show TreeElements; |
import 'tree/tree.dart'; |
import 'util/util.dart' show Link, LinkBuilder; |
@@ -733,7 +733,11 @@ class TypeCheckerVisitor extends Visitor<DartType> { |
Name name, DartType unaliasedBound, InterfaceType interface) { |
MemberSignature member = lookupMemberSignature(memberName, interface); |
if (member != null) { |
- return new MemberAccess(member); |
+ if (member is ErroneousMember) { |
+ return const DynamicAccess(); |
+ } else { |
+ return new MemberAccess(member); |
+ } |
} |
if (name == const PublicName('call')) { |
if (unaliasedBound.isFunctionType) { |