allow unchecked generics in comparing unrelated return types (IDEA-123316)

This commit is contained in:
Anna Kozlova
2014-04-02 13:52:33 +02:00
parent 2c85ce76a1
commit 9cfa60146c
3 changed files with 26 additions and 0 deletions
@@ -1181,6 +1181,7 @@ public class HighlightMethodUtil {
continue;
}
}
if (JavaGenericsUtil.isRawToGeneric(currentType, otherSuperReturnType)) continue;
}
return createIncompatibleReturnTypeMessage(currentMethod, otherSuperMethod, otherSuperReturnType,
currentType, JavaErrorMessages.message("unrelated.overriding.methods.return.types"),
@@ -0,0 +1,24 @@
class Temp {
interface Future<F> {}
class Message {
}
interface Client<C extends Client, M> {
<T> Future<T> request(M request);
}
interface MessageClient extends Client<MessageClient, Message> {
Future<Message> request(Message request);
}
abstract class AbstractClient implements MessageClient {
}
class ConcreteClient extends AbstractClient {
public Future<Message> request(Message request) {
return null;
}
}
}
@@ -340,6 +340,7 @@ public class GenericsHighlightingTest extends LightDaemonAnalyzerTestCase {
public void testIDEA120153() { doTest(LanguageLevel.JDK_1_7, JavaSdkVersion.JDK_1_7, false); }
public void testIDEA120563() { doTest(LanguageLevel.JDK_1_7, JavaSdkVersion.JDK_1_7, false); }
public void testIDEA121400() { doTest(LanguageLevel.JDK_1_7, JavaSdkVersion.JDK_1_7, false); }
public void testIDEA123316() { doTest(LanguageLevel.JDK_1_7, JavaSdkVersion.JDK_1_7, false); }
public void testJavaUtilCollections_NoVerify() throws Exception {
PsiClass collectionsClass = getJavaFacade().findClass("java.util.Collections", GlobalSearchScope.moduleWithLibrariesScope(getModule()));