1.1 --- a/src/share/classes/com/sun/tools/javac/comp/Resolve.java Sat Aug 10 16:29:26 2013 +0100 1.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Resolve.java Mon Aug 12 17:25:07 2013 +0100 1.3 @@ -1344,32 +1344,23 @@ 1.4 if (bestSoFar.exists()) 1.5 return bestSoFar; 1.6 1.7 - Scope.Entry e = env.toplevel.namedImportScope.lookup(name); 1.8 - for (; e.scope != null; e = e.next()) { 1.9 - sym = e.sym; 1.10 - Type origin = e.getOrigin().owner.type; 1.11 - if (sym.kind == VAR) { 1.12 - if (e.sym.owner.type != origin) 1.13 - sym = sym.clone(e.getOrigin().owner); 1.14 - return isAccessible(env, origin, sym) 1.15 - ? sym : new AccessError(env, origin, sym); 1.16 + Symbol origin = null; 1.17 + for (Scope sc : new Scope[] { env.toplevel.namedImportScope, env.toplevel.starImportScope }) { 1.18 + Scope.Entry e = sc.lookup(name); 1.19 + for (; e.scope != null; e = e.next()) { 1.20 + sym = e.sym; 1.21 + if (sym.kind != VAR) 1.22 + continue; 1.23 + // invariant: sym.kind == VAR 1.24 + if (bestSoFar.kind < AMBIGUOUS && sym.owner != bestSoFar.owner) 1.25 + return new AmbiguityError(bestSoFar, sym); 1.26 + else if (bestSoFar.kind >= VAR) { 1.27 + origin = e.getOrigin().owner; 1.28 + bestSoFar = isAccessible(env, origin.type, sym) 1.29 + ? sym : new AccessError(env, origin.type, sym); 1.30 + } 1.31 } 1.32 - } 1.33 - 1.34 - Symbol origin = null; 1.35 - e = env.toplevel.starImportScope.lookup(name); 1.36 - for (; e.scope != null; e = e.next()) { 1.37 - sym = e.sym; 1.38 - if (sym.kind != VAR) 1.39 - continue; 1.40 - // invariant: sym.kind == VAR 1.41 - if (bestSoFar.kind < AMBIGUOUS && sym.owner != bestSoFar.owner) 1.42 - return new AmbiguityError(bestSoFar, sym); 1.43 - else if (bestSoFar.kind >= VAR) { 1.44 - origin = e.getOrigin().owner; 1.45 - bestSoFar = isAccessible(env, origin.type, sym) 1.46 - ? sym : new AccessError(env, origin.type, sym); 1.47 - } 1.48 + if (bestSoFar.exists()) break; 1.49 } 1.50 if (bestSoFar.kind == VAR && bestSoFar.owner.type != origin.type) 1.51 return bestSoFar.clone(origin);