diff --git a/java/java-tests/testData/codeInsight/multipleJdks/java7/p/WrongComparator.java b/java/java-tests/testData/codeInsight/multipleJdks/java7/p/WrongComparator.java
new file mode 100644
index 000000000000..3eeb7d8af8a2
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/multipleJdks/java7/p/WrongComparator.java
@@ -0,0 +1,6 @@
+package p;
+abstract class B extends A implements java.util.Comparator {
+ {
+ reversed();
+ }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/multipleJdks/java8/p/WrongComparator.java b/java/java-tests/testData/codeInsight/multipleJdks/java8/p/WrongComparator.java
new file mode 100644
index 000000000000..83e3e922013c
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/multipleJdks/java8/p/WrongComparator.java
@@ -0,0 +1,3 @@
+package p;
+public abstract class A implements java.util.Comparator {
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/multipleJdks/java8/p/WrongSuperInLibrary.java b/java/java-tests/testData/codeInsight/multipleJdks/java8/p/WrongSuperInLibrary.java
new file mode 100644
index 000000000000..cc96792a654d
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/multipleJdks/java8/p/WrongSuperInLibrary.java
@@ -0,0 +1,6 @@
+package p;
+public abstract class A {
+ void foo(L l) {
+ l.stream();
+ }
+}
\ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/multipleJdks/libs/WrongSuperInLibrary.jar b/java/java-tests/testData/codeInsight/multipleJdks/libs/WrongSuperInLibrary.jar
new file mode 100644
index 000000000000..db8872191c1a
Binary files /dev/null and b/java/java-tests/testData/codeInsight/multipleJdks/libs/WrongSuperInLibrary.jar differ
diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/MultipleJdksHighlightingTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/MultipleJdksHighlightingTest.java
index 9d3ec5986cd9..f7b1cb2235d7 100644
--- a/java/java-tests/testSrc/com/intellij/codeInsight/MultipleJdksHighlightingTest.java
+++ b/java/java-tests/testSrc/com/intellij/codeInsight/MultipleJdksHighlightingTest.java
@@ -16,6 +16,7 @@
package com.intellij.codeInsight;
+import com.intellij.idea.Bombed;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.roots.ModifiableRootModel;
@@ -28,6 +29,8 @@ import com.intellij.testFramework.builders.JavaModuleFixtureBuilder;
import com.intellij.testFramework.fixtures.*;
import com.intellij.util.Consumer;
+import java.util.Calendar;
+
public class MultipleJdksHighlightingTest extends UsefulTestCase {
private CodeInsightTestFixture myFixture;
@@ -84,7 +87,30 @@ public class MultipleJdksHighlightingTest extends UsefulTestCase {
doTest();
}
- protected void doTest() {
+ @Bombed(month = Calendar.FEBRUARY, day = 20)
+ public void testWrongSuperInLibrary() throws Exception {
+ final String name = getTestName(false);
+ for (Module module : new Module[] {myJava7Module, myJava8Module}) {
+ ModuleRootModificationUtil.updateModel(module, new Consumer() {
+ @Override
+ public void consume(ModifiableRootModel model) {
+ ClsGenericsHighlightingTest.commitLibraryModel(model, myFixture.getTestDataPath(), name + ".jar");
+ }
+ });
+ }
+
+ myFixture.configureByFile("java8/p/" + name + ".java");
+ myFixture.checkHighlighting();
+ }
+
+ @Bombed(month = Calendar.FEBRUARY, day = 20)
+ public void testWrongComparator() throws Exception {
+ final String name = getTestName(false);
+ myFixture.configureByFiles("java7/p/" + name + ".java", "java8/p/" + name + ".java");
+ myFixture.checkHighlighting();
+ }
+
+ private void doTest() {
final String name = getTestName(false);
for (Module module : new Module[] {myJava7Module, myJava8Module}) {
ModuleRootModificationUtil.updateModel(module, new Consumer() {