1.1 --- a/src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java Thu Nov 14 13:47:38 2013 -0800 1.2 +++ b/src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java Fri Nov 15 11:08:12 2013 +0000 1.3 @@ -643,15 +643,16 @@ 1.4 } 1.5 JCMemberReference mref2 = new TreeCopier<Void>(make).copy(tree); 1.6 mref2.expr = exprTree; 1.7 - Pair<Symbol, ?> lookupRes = 1.8 - rs.resolveMemberReference(tree, localEnv, mref2, exprTree.type, 1.9 - tree.name, argtypes.toList(), null, true, rs.arityMethodCheck, inferenceContext); 1.10 - switch (lookupRes.fst.kind) { 1.11 + Symbol lookupSym = 1.12 + rs.resolveMemberReferenceByArity(localEnv, mref2, exprTree.type, 1.13 + tree.name, argtypes.toList(), inferenceContext); 1.14 + switch (lookupSym.kind) { 1.15 //note: as argtypes are erroneous types, type-errors must 1.16 //have been caused by arity mismatch 1.17 case Kinds.ABSENT_MTH: 1.18 case Kinds.WRONG_MTH: 1.19 case Kinds.WRONG_MTHS: 1.20 + case Kinds.WRONG_STATICNESS: 1.21 checkContext.report(tree, diags.fragment("incompatible.arg.types.in.mref")); 1.22 } 1.23 } 1.24 @@ -1037,11 +1038,10 @@ 1.25 attr.memberReferenceQualifierResult(tree)); 1.26 JCMemberReference mref2 = new TreeCopier<Void>(make).copy(tree); 1.27 mref2.expr = exprTree; 1.28 - Pair<Symbol, ReferenceLookupHelper> lookupRes = 1.29 - rs.resolveMemberReference(tree, localEnv, mref2, exprTree.type, 1.30 - tree.name, List.<Type>nil(), null, true, rs.nilMethodCheck, 1.31 - infer.emptyContext); 1.32 - Symbol res = tree.sym = lookupRes.fst; 1.33 + Symbol res = 1.34 + rs.getMemberReference(tree, localEnv, mref2, 1.35 + exprTree.type, tree.name); 1.36 + tree.sym = res; 1.37 if (res.kind >= Kinds.ERRONEOUS || 1.38 res.type.hasTag(FORALL) || 1.39 (res.flags() & Flags.VARARGS) != 0 ||