|
Lines 123-131
Link Here
|
| 123 |
} |
123 |
} |
| 124 |
} |
124 |
} |
| 125 |
// check whether bridge method is already defined above for interface methods |
125 |
// check whether bridge method is already defined above for interface methods |
| 126 |
if (originalInherited.declaringClass.isInterface() |
126 |
if (originalInherited.declaringClass.isInterface()) { |
| 127 |
&& this.type.superclass.erasure().findSuperTypeOriginatingFrom(originalInherited.declaringClass) == null) { |
127 |
if ((concreteMethod.declaringClass == this.type.superclass && this.type.superclass.isParameterizedType()) |
| 128 |
this.type.addSyntheticBridgeMethod(originalInherited, concreteMethod.original()); |
128 |
|| this.type.superclass.erasure().findSuperTypeOriginatingFrom(originalInherited.declaringClass) == null) |
|
|
129 |
this.type.addSyntheticBridgeMethod(originalInherited, concreteMethod.original()); |
| 129 |
} |
130 |
} |
| 130 |
} |
131 |
} |
| 131 |
} |
132 |
} |
|
Lines 703-709
Link Here
|
| 703 |
inheritedMethod = computeSubstituteMethod(inheritedMethod, existingMethod); |
704 |
inheritedMethod = computeSubstituteMethod(inheritedMethod, existingMethod); |
| 704 |
return inheritedMethod != null |
705 |
return inheritedMethod != null |
| 705 |
&& inheritedMethod.returnType == existingMethod.returnType // keep around to produce bridge methods |
706 |
&& inheritedMethod.returnType == existingMethod.returnType // keep around to produce bridge methods |
| 706 |
&& super.isInterfaceMethodImplemented(inheritedMethod, existingMethod, superType); |
707 |
&& doesMethodOverride(existingMethod, inheritedMethod); |
| 707 |
} |
708 |
} |
| 708 |
public boolean isMethodSubsignature(MethodBinding method, MethodBinding inheritedMethod) { |
709 |
public boolean isMethodSubsignature(MethodBinding method, MethodBinding inheritedMethod) { |
| 709 |
if (!org.eclipse.jdt.core.compiler.CharOperation.equals(method.selector, inheritedMethod.selector)) |
710 |
if (!org.eclipse.jdt.core.compiler.CharOperation.equals(method.selector, inheritedMethod.selector)) |