mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
UI is extracted from k1 implementation Java <-> kotlin interop is done through language agnostic api: each language implementation knows about usages in that language only + there are changeInfo converters which can transform javaChangeInfo <-> kotlinChangeInfo KTIJ-21132 GitOrigin-RevId: 03bfb8baeffb9e5691673f8e482395191332f89b
31 lines
972 B
Java
31 lines
972 B
Java
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
import java.util.List;
|
|
|
|
interface J<A, B> extends T<A, B> {
|
|
@Override
|
|
<C> @Nullable U<C> foofoofoo(@NotNull List<? extends C> a, @Nullable A b, @NotNull U<B> c);
|
|
}
|
|
|
|
abstract class J1<X, Y> implements J<U<X>, U<Y>> {
|
|
@Override
|
|
public <C> @Nullable U<C> foofoofoo(@NotNull List<? extends C> xu, @Nullable U<X> yu, @NotNull U<U<Y>> c) {
|
|
throw new UnsupportedOperationException();
|
|
}
|
|
}
|
|
|
|
abstract class J2<X> extends J1<X, String> {
|
|
@Override
|
|
public <C> @Nullable U<C> foofoofoo(@NotNull List<? extends C> xu, @Nullable U<X> stringU, @NotNull U<U<String>> c) {
|
|
throw new UnsupportedOperationException();
|
|
}
|
|
}
|
|
|
|
class J3 extends J2<Object> {
|
|
@Override
|
|
public <D> @Nullable U<D> foofoofoo(@NotNull List<? extends D> objectU, @Nullable U<Object> stringU, @NotNull U<U<String>> c) {
|
|
throw new UnsupportedOperationException();
|
|
}
|
|
}
|