mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-30 01:20:53 +07:00
79 lines
1.6 KiB
Java
79 lines
1.6 KiB
Java
|
|
interface Listener<A0, B0> {}
|
|
class Adapter<A, B> implements Listener<A, B> {}
|
|
class Super<O, B> {
|
|
public <C extends Adapter<O, B>> C apply(C configurer) throws Exception {
|
|
return null;
|
|
}
|
|
|
|
public <C extends Listener<O, B>> C apply(C configurer) throws Exception {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
class AdapterImpl extends Adapter<String, String>{}
|
|
|
|
class Child<O, B> extends Super<O, B> {}
|
|
class D {
|
|
|
|
void foo(Child<String, String> ch, AdapterImpl a) throws Exception {
|
|
ch.apply(a);
|
|
}
|
|
}
|
|
|
|
class Test {
|
|
interface Listener<A0, B0> {}
|
|
class Adapter<A, B> implements Listener<A, B> {}
|
|
class Super<O, B> {
|
|
public <C extends Adapter<O, B> & Runnable> C apply(C configurer) throws Exception {
|
|
return null;
|
|
}
|
|
|
|
public <C extends Listener<O, B> & Runnable> C apply(C configurer) throws Exception {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
abstract class AdapterImpl extends Adapter<String, String> implements Runnable{}
|
|
|
|
class Child<O, B> extends Super<O, B> {}
|
|
class D {
|
|
|
|
void foo(Child<String, String> ch, AdapterImpl a) throws Exception {
|
|
ch.apply( a);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
class Test1 {
|
|
class ResolveResult {
|
|
}
|
|
|
|
class A {
|
|
}
|
|
|
|
class B extends A {
|
|
}
|
|
|
|
abstract class AbstractResolver<K, V> {
|
|
}
|
|
|
|
abstract class Resolver<K> extends AbstractResolver<K, ResolveResult[]> {
|
|
}
|
|
|
|
public <T extends B> ResolveResult[] resolveWithCaching(T ref, Resolver<T> resolver) {
|
|
return null;
|
|
}
|
|
|
|
public <TRef extends A, TResult> TResult resolveWithCaching(TRef ref, AbstractResolver<TRef, TResult> resolver) {
|
|
return null;
|
|
}
|
|
|
|
{
|
|
Resolver<B> resolver = null;
|
|
B b = null;
|
|
resolveWithCaching(b, resolver);
|
|
}
|
|
} |