dataflow to/from containers support

This commit is contained in:
Alexey Kudravtsev
2013-10-22 12:33:55 +04:00
parent 999a2e8e52
commit 6bcad287da
50 changed files with 1303 additions and 301 deletions
@@ -345,6 +345,17 @@
<annotation name="org.jetbrains.annotations.NonNls" />
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name='java.lang.System void arraycopy(java.lang.Object, int, java.lang.Object, int, int) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="target" val="&quot;dest&quot;"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name='java.lang.System void arraycopy(java.lang.Object, int, java.lang.Object, int, int) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name="java.lang.Thread Thread(java.lang.Runnable, java.lang.String) 1">
<annotation name="org.jetbrains.annotations.NonNls" />
</item>
+132 -14
View File
@@ -5,6 +5,10 @@
</item>
<item name="java.util.ArrayList ArrayList(java.util.Collection&lt;? extends E&gt;) 0">
<annotation name="org.jetbrains.annotations.NotNull" />
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name="java.util.Arrays T[] copyOf(T[], int)">
<annotation name="org.jetbrains.annotations.NotNull" />
@@ -577,26 +581,22 @@
<val name="intValues" val="{java.util.Calendar.SUNDAY, java.util.Calendar.MONDAY, java.util.Calendar.TUESDAY, java.util.Calendar.WEDNESDAY, java.util.Calendar.THURSDAY, java.util.Calendar.FRIDAY, java.util.Calendar.SATURDAY}" />
</annotation>
</item>
<item name="java.util.Collection Iterator&lt;E&gt; iterator()">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name="java.util.Collection Object[] toArray()">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name="java.util.Collection T[] toArray(T[] a)">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name="java.util.Collection T[] toArray(T[])">
<annotation name="org.jetbrains.annotations.NotNull" />
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name="java.util.Collection T[] toArray(T[]) 0">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name="java.util.Collection boolean addAll(java.util.Collection&lt;? extends E&gt; c) 0">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name="java.util.Collection boolean addAll(java.util.Collection&lt;? extends E&gt;) 0">
<annotation name="org.jetbrains.annotations.NotNull" />
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name="java.util.Collection boolean containsAll(java.util.Collection&lt;?&gt; c) 0">
<annotation name="org.jetbrains.annotations.NotNull" />
@@ -618,6 +618,10 @@
</item>
<item name="java.util.Collection java.lang.Object[] toArray()">
<annotation name="org.jetbrains.annotations.NotNull" />
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name="java.util.Collection java.util.Iterator&lt;E&gt; iterator()">
<annotation name="org.jetbrains.annotations.NotNull" />
@@ -871,6 +875,47 @@
<item name="java.util.Formatter java.util.Formatter format(java.lang.String, java.lang.Object...) 0">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name='java.util.HashSet HashSet(java.util.Collection&lt;? extends E&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name='java.util.LinkedHashSet LinkedHashSet(java.util.Collection&lt;? extends E&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name='java.util.LinkedList LinkedList(java.util.Collection&lt;? extends E&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name='java.util.List E get(int)'>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
</annotation>
</item>
<item name='java.util.List E remove(int)'>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
</annotation>
</item>
<item name='java.util.List E set(int, E)'>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
</annotation>
</item>
<item name='java.util.List E set(int, E) 1'>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name="java.util.List List&lt;E&gt; subList(int fromIndex, int toIndex)">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
@@ -883,14 +928,24 @@
<item name="java.util.List T[] toArray(T[]) 0">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name="java.util.List boolean addAll(int index, java.util.Collection&lt;? extends E&gt; c) 1">
<annotation name="org.jetbrains.annotations.NotNull" />
<item name='java.util.List boolean add(E) 0'>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name="java.util.List boolean addAll(int, java.util.Collection&lt;? extends E&gt;) 1">
<annotation name="org.jetbrains.annotations.NotNull" />
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name="java.util.List boolean addAll(java.util.Collection&lt;? extends E&gt;) 0">
<annotation name="org.jetbrains.annotations.NotNull" />
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name="java.util.List boolean containsAll(java.util.Collection&lt;?&gt;) 0">
<annotation name="org.jetbrains.annotations.NotNull" />
@@ -909,6 +964,10 @@
</item>
<item name="java.util.List java.util.List&lt;E&gt; subList(int, int)">
<annotation name="org.jetbrains.annotations.NotNull" />
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name="java.util.List java.util.ListIterator&lt;E&gt; listIterator()">
<annotation name="org.jetbrains.annotations.NotNull" />
@@ -916,11 +975,56 @@
<item name="java.util.List java.util.ListIterator&lt;E&gt; listIterator(int)">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name='java.util.List void add(int, E) 1'>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name='java.util.Map V get(java.lang.Object)'>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="source" val="&quot;this.values&quot;"/>
<val name="sourceIsContainer" val="true" />
</annotation>
</item>
<item name='java.util.Map V put(K, V)'>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="source" val="&quot;this.values&quot;"/>
<val name="sourceIsContainer" val="true" />
</annotation>
</item>
<item name='java.util.Map V put(K, V) 0'>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="target" val="&quot;this.keys&quot;"/>
<val name="targetIsContainer" val="true" />
</annotation>
</item>
<item name='java.util.Map V put(K, V) 1'>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="target" val="&quot;this.values&quot;"/>
<val name="targetIsContainer" val="true" />
</annotation>
</item>
<item name='java.util.Map V remove(java.lang.Object)'>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="source" val="&quot;this.values&quot;"/>
<val name="sourceIsContainer" val="true" />
</annotation>
</item>
<item name="java.util.Map java.util.Collection&lt;V&gt; values()">
<annotation name="org.jetbrains.annotations.NotNull" />
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="source" val="&quot;this.values&quot;"/>
<val name="sourceIsContainer" val="true" />
<val name="targetIsContainer" val="true" />
</annotation>
</item>
<item name="java.util.Map java.util.Set&lt;K&gt; keySet()">
<annotation name="org.jetbrains.annotations.NotNull" />
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="source" val="&quot;this.keys&quot;"/>
<val name="sourceIsContainer" val="true" />
<val name="targetIsContainer" val="true" />
</annotation>
</item>
<item name="java.util.Map java.util.Set&lt;java.util.Map.Entry&lt;K,V&gt;&gt; entrySet()">
<annotation name="org.jetbrains.annotations.NotNull" />
@@ -988,8 +1092,22 @@
<item name="java.util.SortedSet java.util.SortedSet&lt;E&gt; tailSet(E)">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name='java.util.TreeSet TreeSet(java.util.Collection&lt;? extends E&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name="java.util.UUID">
<annotation name="org.jetbrains.annotations.NonNls" />
</item>
<item name='java.util.Vector Vector(java.util.Collection&lt;? extends E&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
</root>
@@ -51,6 +51,34 @@
<item name="java.util.concurrent.ConcurrentMap boolean replace(K, V, V) 2">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name='java.util.concurrent.ConcurrentSkipListSet ConcurrentSkipListSet(java.util.Collection&lt;? extends E&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name='java.util.concurrent.ConcurrentSkipListSet ConcurrentSkipListSet(java.util.SortedSet&lt;E&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name='java.util.concurrent.CopyOnWriteArrayList CopyOnWriteArrayList(E[]) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name='java.util.concurrent.CopyOnWriteArrayList CopyOnWriteArrayList(java.util.Collection&lt;? extends E&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='org.intellij.lang.annotations.Flow'>
<val name="sourceIsContainer" val="true"/>
<val name="targetIsContainer" val="true"/>
</annotation>
</item>
<item name="java.util.concurrent.CountDownLatch boolean await(long, java.util.concurrent.TimeUnit) 1">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>