mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-18 00:20:54 +07:00
- fix tests - fixes to show external annotations GitOrigin-RevId: 79cde38663de10c2985b72e76e98372fef214b20
34 lines
1016 B
Java
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();
|
|
}
|
|
} |