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

Unified Diff: compiler/java/com/google/dart/compiler/resolver/Resolver.java

Issue 10537006: Issue 3266. Produce a warning when trying to call an inaccessible method (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: 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/resolver/Resolver.java
diff --git a/compiler/java/com/google/dart/compiler/resolver/Resolver.java b/compiler/java/com/google/dart/compiler/resolver/Resolver.java
index 052c1158fc67598904fb4548cfe8275bb849a677..a7493a34ecaa3a44a1257961a0f3dda33fdb8fa9 100644
--- a/compiler/java/com/google/dart/compiler/resolver/Resolver.java
+++ b/compiler/java/com/google/dart/compiler/resolver/Resolver.java
@@ -1185,6 +1185,10 @@ public class Resolver {
if (member != null) {
if (!member.getElement().getModifiers().isStatic()) {
element = member.getElement();
+ // Must be accessible.
+ if (!Elements.isAccessible(context.getScope().getLibrary(), element)) {
+ onError(x, ResolverErrorCode.CANNOT_ACCESS_METHOD, x.getFunctionNameString());
+ }
}
}
break;
@@ -1454,6 +1458,9 @@ public class Resolver {
if (isStaticContextOrInitializer()) {
onError(node, ResolverErrorCode.CANNOT_RESOLVE_METHOD, name);
}
+ if (scope.findElement(null, name) != null) {
+ onError(node, ResolverErrorCode.CANNOT_ACCESS_METHOD, name);
+ }
break;
case CONSTRUCTOR:

Powered by Google App Engine
This is Rietveld 408576698