| Index: compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java | 
| diff --git a/compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java b/compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java | 
| index d70e077e630a5090859cab6c14072a69f673ec08..f244fad5c4fce5840497893743d0d6a0626c3ba2 100644 | 
| --- a/compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java | 
| +++ b/compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java | 
| @@ -2818,7 +2818,11 @@ public class TypeAnalyzer implements DartCompilationPhase { | 
| // A subtype of interface Function. | 
| return dynamicType; | 
| } else if (name == null || currentClass == null) { | 
| -              return typeError(diagnosticNode, TypeErrorCode.NOT_A_FUNCTION_TYPE, type); | 
| +              if (reportNoMemberWhenHasInterceptor || !(type instanceof InterfaceType) | 
| +                  || !Elements.handlesNoSuchMethod((InterfaceType) type)) { | 
| +                return typeError(diagnosticNode, TypeErrorCode.NOT_A_FUNCTION_TYPE, type); | 
| +              } | 
| +              return dynamicType; | 
| } else { | 
| return typeError(diagnosticNode, TypeErrorCode.NOT_A_METHOD_IN, name, currentClass); | 
| } | 
|  |