diff -r aa6c6f8b5622 -r f7f271bd74a2 src/share/classes/com/sun/tools/javac/comp/Resolve.java --- a/src/share/classes/com/sun/tools/javac/comp/Resolve.java Sat Aug 10 16:29:26 2013 +0100 +++ b/src/share/classes/com/sun/tools/javac/comp/Resolve.java Mon Aug 12 17:25:07 2013 +0100 @@ -1344,32 +1344,23 @@ if (bestSoFar.exists()) return bestSoFar; - Scope.Entry e = env.toplevel.namedImportScope.lookup(name); - for (; e.scope != null; e = e.next()) { - sym = e.sym; - Type origin = e.getOrigin().owner.type; - if (sym.kind == VAR) { - if (e.sym.owner.type != origin) - sym = sym.clone(e.getOrigin().owner); - return isAccessible(env, origin, sym) - ? sym : new AccessError(env, origin, sym); + Symbol origin = null; + for (Scope sc : new Scope[] { env.toplevel.namedImportScope, env.toplevel.starImportScope }) { + Scope.Entry e = sc.lookup(name); + for (; e.scope != null; e = e.next()) { + sym = e.sym; + if (sym.kind != VAR) + continue; + // invariant: sym.kind == VAR + if (bestSoFar.kind < AMBIGUOUS && sym.owner != bestSoFar.owner) + return new AmbiguityError(bestSoFar, sym); + else if (bestSoFar.kind >= VAR) { + origin = e.getOrigin().owner; + bestSoFar = isAccessible(env, origin.type, sym) + ? sym : new AccessError(env, origin.type, sym); + } } - } - - Symbol origin = null; - e = env.toplevel.starImportScope.lookup(name); - for (; e.scope != null; e = e.next()) { - sym = e.sym; - if (sym.kind != VAR) - continue; - // invariant: sym.kind == VAR - if (bestSoFar.kind < AMBIGUOUS && sym.owner != bestSoFar.owner) - return new AmbiguityError(bestSoFar, sym); - else if (bestSoFar.kind >= VAR) { - origin = e.getOrigin().owner; - bestSoFar = isAccessible(env, origin.type, sym) - ? sym : new AccessError(env, origin.type, sym); - } + if (bestSoFar.exists()) break; } if (bestSoFar.kind == VAR && bestSoFar.owner.type != origin.type) return bestSoFar.clone(origin);