package spoon.test.generics.testclasses;
import javax.lang.model.util.SimpleTypeVisitor7;
import java.util.ArrayList;
import java.util.List;
public class Tacos<K, V extends String> implements ITacos<V> {
public Tacos() {
<String>this(1);
}
public <T> Tacos(int nbTacos) {
}
public void m() {
List<String> l = new ArrayList<>();
List l2;
IBurritos<?, ?> burritos = new Burritos<>();
List<?> l3 = new ArrayList<Object>();
new <Integer>Tacos<Object, String>();
new Tacos<>();
}
public void m2() {
this.<String>makeTacos(null);
this.makeTacos(null);
}
public void m3() {
new SimpleTypeVisitor7<Tacos, Void>() {
};
new javax.lang.model.util.SimpleTypeVisitor7<Tacos, Void>() {
};
}
public <V, C extends List<V>> void m4() {
Tacos.<V, C>makeTacos();
Tacos.makeTacos();
}
public static <V, C extends List<V>> List<C> makeTacos() {
return null;
}
public <T> void makeTacos(T anObject) {
}
class Burritos<K, V> implements IBurritos<K, V> {
Tacos<K, String>.Burritos<K, V> burritos;
public Tacos<K, String>.Burritos<K, V> b() {
new Burritos<K, V>();
return null;
}
class Pozole {
public Tacos<K, String>.Burritos<K, V>.Pozole p() {
new Pozole();
return null;
}
}
@Override
public IBurritos<K, V> make() {
return new Burritos<K, V>() {};
}
}
public class BeerFactory {
public Beer newBeer() {
return new Beer();
}
}
class Beer {
}
}