--- a/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java Tue Jun 18 20:56:04 2013 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java Wed Jun 19 11:48:05 2013 +0100
@@ -68,7 +68,6 @@
private TreeMaker make;
private Enter enter;
private boolean allowEnums;
- private boolean allowInterfaceBridges;
private Types types;
private final Resolve resolve;
@@ -92,7 +91,6 @@
Source source = Source.instance(context);
allowEnums = source.allowEnums();
addBridges = source.addBridges();
- allowInterfaceBridges = source.allowDefaultMethods();
types = Types.instance(context);
make = TreeMaker.instance(context);
resolve = Resolve.instance(context);
@@ -254,8 +252,7 @@
// Create a bridge method symbol and a bridge definition without a body.
Type bridgeType = meth.erasure(types);
- long flags = impl.flags() & AccessFlags | SYNTHETIC | BRIDGE |
- (origin.isInterface() ? DEFAULT : 0);
+ long flags = impl.flags() & AccessFlags | SYNTHETIC | BRIDGE;
if (hypothetical) flags |= HYPOTHETICAL;
MethodSymbol bridge = new MethodSymbol(flags,
meth.name,
@@ -390,12 +387,11 @@
}
}
// where
- private Filter<Symbol> overrideBridgeFilter = new Filter<Symbol>() {
+ Filter<Symbol> overrideBridgeFilter = new Filter<Symbol>() {
public boolean accepts(Symbol s) {
return (s.flags() & (SYNTHETIC | OVERRIDE_BRIDGE)) != SYNTHETIC;
}
};
-
/**
* @param method The symbol for which a bridge might have to be added
* @param impl The implementation of method
@@ -1003,9 +999,8 @@
ListBuffer<JCTree> bridges = new ListBuffer<JCTree>();
if (false) //see CR: 6996415
bridges.appendList(addOverrideBridgesIfNeeded(tree, c));
- if (allowInterfaceBridges || (tree.sym.flags() & INTERFACE) == 0) {
- addBridges(tree.pos(), c, bridges);
- }
+ if ((tree.sym.flags() & INTERFACE) == 0)
+ addBridges(tree.pos(), tree.sym, bridges);
tree.defs = bridges.toList().prependList(tree.defs);
}
tree.type = erasure(tree.type);