Files
openide/java/java-tests/testData/refactoring/extractMethodNew/NotNullArgumentTooComplexCode_after.java
Mikhail Pyltsin 36f87ac0b6 [java] IDEA-354964 Migrate standard descriptors like JAVA_21 to TYPE_USE annotations
- fix tests
- fixes to show external annotations

GitOrigin-RevId: 79cde38663de10c2985b72e76e98372fef214b20
2024-06-26 20:34:48 +00:00

34 lines
1016 B
Java

import org.jetbrains.annotations.NotNull;
class TooComplexCode {
static class X { @NotNull X get() { return this; }}
static class A extends X { @NotNull X get() { return new B(); }}
static class B extends X { @NotNull X get() { return new C(); }}
static class C extends X { @NotNull X get() { return new A(); }}
void tooComplex(@NotNull X x) {
if (x instanceof A) {
X y = newMethod(x);
if (y instanceof A) {
System.out.println("A A "+x+' '+y);
}
if (y instanceof B) {
System.out.println("A B "+x+' '+y);
}
}
if (x instanceof B) {
X y = newMethod(x);
if (y instanceof A) {
System.out.println("B A "+x+' '+y);
}
if (y instanceof B) {
System.out.println("B B "+x+' '+y);
}
}
}
@NotNull
private TooComplexCode.X newMethod(@NotNull X x) {
return x.get();
}
}