blob: 629c0ee4861f8ae6d29609e46c3d576e2cde0d29 [file] [log] [blame]
package p;
import java.util.ArrayList;
import java.util.List;
class A {
public List<String> getList() {
List<String> list= new ArrayList<String>();
list.add("X");
return list;
}
}
interface I {
public List<String> getList();
}
class C extends A implements I {
// Inherits getList() from A and I, but does NOT induce a connection
// between them by redeclaring the method.
//
// Ways to deal:
// A) Always calculate RippleMethods (but only once per method!).
// B) If CU of C is found & processed:
// connect inherited methods from A with matching methods from I.
// If it is not guaranteed that C will be processed:
// need a subtype hierarchy on A and I ==> A) RippleMethods.
// void use() {
// List l= getList();
// }
}