--- a/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java Tue Jul 08 18:26:34 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java Wed Jul 09 16:32:05 2014 +0200
@@ -37,6 +37,7 @@
import static com.sun.tools.javac.code.Flags.*;
import static com.sun.tools.javac.code.Kinds.*;
+import static com.sun.tools.javac.code.Scope.LookupKind.NON_RECURSIVE;
import static com.sun.tools.javac.code.TypeTag.CLASS;
import static com.sun.tools.javac.code.TypeTag.TYPEVAR;
import static com.sun.tools.javac.code.TypeTag.VOID;
@@ -449,8 +450,8 @@
TypeSymbol i,
ClassSymbol origin,
ListBuffer<JCTree> bridges) {
- for (Scope.Entry e = i.members().elems; e != null; e = e.sibling)
- addBridgeIfNeeded(pos, e.sym, origin, bridges);
+ for (Symbol sym : i.members().getSymbols(NON_RECURSIVE))
+ addBridgeIfNeeded(pos, sym, origin, bridges);
for (List<Type> l = types.interfaces(i.type); l.nonEmpty(); l = l.tail)
addBridges(pos, l.head.tsym, origin, bridges);
}
@@ -529,14 +530,12 @@
}
// Check that we do not introduce a name clash by erasing types.
- for (Scope.Entry e = tree.sym.owner.members().lookup(tree.name);
- e.sym != null;
- e = e.next()) {
- if (e.sym != tree.sym &&
- types.isSameType(erasure(e.sym.type), tree.type)) {
+ for (Symbol sym : tree.sym.owner.members().getSymbolsByName(tree.name)) {
+ if (sym != tree.sym &&
+ types.isSameType(erasure(sym.type), tree.type)) {
log.error(tree.pos(),
"name.clash.same.erasure", tree.sym,
- e.sym);
+ sym);
return;
}
}