do not erasure methods from non generics super types of raw types (IDEA-129646)

This commit is contained in:
Anna Kozlova
2014-09-18 15:00:10 +04:00
parent a6b194f5e6
commit 38087e7f3b
3 changed files with 43 additions and 3 deletions

View File

@@ -0,0 +1,30 @@
interface IRequestablePage {}
abstract class Page implements IRequestablePage {}
abstract class BTest {
public final <C extends IRequestablePage> void setResponsePage(final Class<C> cls) {}
public final <C extends IRequestablePage> void setResponsePage(final Class<C> cls, int i) {}
public abstract Class<? extends Page> getHomePage();
{
setResponsePage(getHomePage());
}
public BTest(Class<? extends Page> homePage) {
ALink link = new ALink() {
{
setResponsePage(homePage);
}
};
}
}
class ALink<T> extends BTest {
public ALink() {
super(null);
}
@Override
public Class<? extends Page> getHomePage() {
return null;
}
}