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

Unified Diff: compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java

Issue 10545189: Issue 3643. Associate 'no such method' problem with method name, not with whole invocation (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Use 'resolutionError' flag in DartIdentifier Created 8 years, 6 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: 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 2a64e2db03ab9ba2d8aa785973549c3aad80b00d..2b1c6c5b6077bff1ee6ad84e10bcb8cdb6f842f1 100644
--- a/compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java
+++ b/compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java
@@ -1143,7 +1143,7 @@ public class TypeAnalyzer implements DartCompilationPhase {
DartNode target = node.getTarget();
Type receiver = nonVoidTypeOf(target);
List<DartExpression> arguments = node.getArguments();
- Member member = lookupMember(receiver, name, node);
+ Member member = lookupMember(receiver, name, node.getFunctionName());
if (member != null) {
node.setElement(member.getElement());
}
@@ -2120,7 +2120,9 @@ public class TypeAnalyzer implements DartCompilationPhase {
type = typeAsMemberOf(element, currentClass);
break;
case NONE:
- // already reported by resolver
+ if (!target.hasResolutionError()) {
+ onError(target, TypeErrorCode.INTERFACE_HAS_NO_METHOD_NAMED, currentClass, target);
+ }
return dynamicType;
default:
type = element.getType();

Powered by Google App Engine
This is Rietveld 408576698