blob: 414dfba4929e157ef613a230881753a51b483cc0 [file] [log] [blame]
package x;
import java.util.*;
import org.intellij.lang.annotations.Flow;
class ListTack {
void f(String <caret>s) {
}
void g(List<String> l) {
l.add(1, "uuu");
f(l.get(0));
}
void h() {
ArrayList<String> strings = new ArrayList<String>();
strings.add("x");
X<String> s2 = new X<String>(strings);
s2.add("y");
List<String> s3 = new ArrayList<String>();
s3.addAll(s2.toCollection());
Collection<String> s4 = new ArrayList<String>(s3.subList(0,1));
g(new ArrayList<String>(s4));
}
class X<T> {
X (@Flow(sourceIsContainer = true, targetIsContainer = true) Collection<T> input) {}
@Flow(sourceIsContainer = true)
T get() { return null;}
void add(@Flow(targetIsContainer = true) T item) {}
@Flow(sourceIsContainer=true, targetIsContainer = true)
Collection<T> toCollection() { return null; }
}
}