--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java Tue Jan 13 19:13:42 2015 +0100
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java Thu Jan 15 13:58:11 2015 +0000
@@ -2640,8 +2640,7 @@
try {
refResult = rs.resolveMemberReference(localEnv, that, that.expr.type,
that.name, argtypes, typeargtypes, referenceCheck,
- resultInfo.checkContext.inferenceContext(),
- resultInfo.checkContext.deferredAttrContext().mode);
+ resultInfo.checkContext.inferenceContext(), rs.basicReferenceChooser);
} finally {
resultInfo.checkContext.inferenceContext().rollback(saved_undet);
}
@@ -2659,9 +2658,8 @@
case WRONG_MTHS:
case AMBIGUOUS:
case HIDDEN:
+ case MISSING_ENCL:
case STATICERR:
- case MISSING_ENCL:
- case WRONG_STATICNESS:
targetError = true;
break;
default:
@@ -2722,15 +2720,6 @@
return;
}
- if (that.sym.isStatic() && !TreeInfo.isStaticSelector(that.expr, names) &&
- !that.kind.isUnbound()) {
- //no static bound mrefs
- log.error(that.expr.pos(), "invalid.mref", Kinds.kindName(that.getMode()),
- diags.fragment("static.bound.mref"));
- result = that.type = types.createErrorType(currentTarget);
- return;
- }
-
if (!refSym.isStatic() && that.kind == JCMemberReference.ReferenceKind.SUPER) {
// Check that super-qualified symbols are not abstract (JLS)
rs.checkNonAbstract(that.pos(), that.sym);