--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java Mon Nov 04 18:51:56 2013 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java Wed Nov 06 17:48:25 2013 +0100
@@ -1378,7 +1378,11 @@
ref = make.Ident(sym);
args = make.Idents(md.params);
} else {
- ref = make.Select(make.Ident(md.params.head), sym);
+ Symbol msym = sym;
+ if (sym.owner.isInterface()) {
+ msym = msym.clone(types.supertype(accessor.owner.type).tsym);
+ }
+ ref = make.Select(make.Ident(md.params.head), msym);
args = make.Idents(md.params.tail);
}
JCStatement stat; // The statement accessing the private symbol.