[java-intentions] IDEA-299075 Additional fixes

1. Map to supertype if expected is a supertype for actual
2. Do not suggest the replacement when type parameter bounds are violated

GitOrigin-RevId: 7784f18fcdb7fdd9541e5c92a211808475f62054
This commit is contained in:
Tagir Valeev
2022-08-03 15:05:17 +02:00
committed by intellij-monorepo-bot
parent 74e77b300e
commit 41cbe227c2
4 changed files with 56 additions and 6 deletions

View File

@@ -0,0 +1,12 @@
// "Replace 'E2.class' with 'E1.class'" "true-preview"
import java.util.EnumSet;
import java.util.Set;
public class Demo {
void test2() {
Set<E1> set = EnumSet.allOf(E1.class);
}
enum E1 {}
enum E2 {}
}

View File

@@ -0,0 +1,12 @@
// "Replace 'E2.class' with 'E1.class'" "true-preview"
import java.util.EnumSet;
import java.util.Set;
public class Demo {
void test2() {
Set<E1> set = EnumSet.<caret>allOf(E2.class);
}
enum E1 {}
enum E2 {}
}

View File

@@ -0,0 +1,11 @@
// "Replace 'E2.class' with 'String.class'" "false"
import java.util.EnumSet;
import java.util.Set;
public class Demo {
void test2() {
Set<String> set2 = EnumSet.<caret>allOf(E2.class);
}
enum E2 {}
}