blob: c7488f3ccaa5a72428e5dc65911bbd7da0a35b76 [file] [log] [blame]
import java.util.*;
class CLS {
static <V extends String> void bar (V v) {}
static void foo () {
bar<error descr="'bar(java.lang.String)' in 'CLS' cannot be applied to '(java.lang.Object)'">(new Object())</error>;
}
}
//////////////////////////////
abstract class ZZZ<K> {
public abstract <T extends String> ZZZ<T> get();
}
class Z2<K> extends ZZZ<K> {
public <T extends String> Z2<T> get() {
return null;
}
void f() {
Z2 z2 = get();
}
}
/////////////////
abstract class LeastRecentlyUsedCache {
interface Callable<V> {
V call() throws Exception;
}
<E extends A> Callable<E> e(E e) {
return null;
}
<T extends B> Callable<T> f(boolean b, final T t) {
return b ? e(t) : new Callable<T>() {
public T call() throws Exception {
return t;
}
};
}
void ff() {
}
class A {}
class B extends A {}
}
//////////////////////////
class BadCodeGreen<T, C extends Collection<? extends T>> {
public BadCodeGreen(C c, T t) {
c.add<error descr="'add(capture<? extends T>)' in 'java.util.Collection' cannot be applied to '(T)'">(t)</error>;
}
}
////////////////////////////
abstract class A {
public abstract <T extends List<?>> T create();
}
class B extends A {
public <T extends List<?>> T create() {
return null;
}
}
///////////////////////////