diff options
Diffstat (limited to 'org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/MethodScope.java')
-rw-r--r-- | org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/MethodScope.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/MethodScope.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/MethodScope.java index 24bb80b9f..35727fec4 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/MethodScope.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/MethodScope.java @@ -515,6 +515,14 @@ public FieldBinding findField(TypeBinding receiverType, char[] fieldName, Invoca return null; if (!field.isValidBinding()) return field; // answer the error field + + if (receiverType.isInterface() && invocationSite.isQualifiedSuper()) + return new ProblemFieldBinding( + field, // closest match + field.declaringClass, + fieldName, + ProblemReasons.NoProperEnclosingInstance); + if (field.isStatic()) return field; // static fields are always accessible |