@@ -93,6 +93,113 @@ static IEnumerable<int> FlowAcrossYieldReturnWithBackwardsBranch (int n = 0)
9393 }
9494 }
9595
96+ [ ExpectedWarning ( "IL2072" , nameof ( GetWithPublicMethods ) , nameof ( DataFlowTypeExtensions . RequiresAll ) , CompilerGeneratedCode = true ) ]
97+ static IEnumerable < object [ ] > ReturnManyObjects ( )
98+ {
99+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
100+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
101+ Type t = GetWithPublicMethods ( ) ;
102+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
103+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
104+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
105+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
106+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
107+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
108+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
109+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
110+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
111+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
112+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
113+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
114+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
115+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
116+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
117+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
118+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
119+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
120+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
121+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
122+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
123+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
124+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
125+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
126+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
127+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
128+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
129+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
130+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
131+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
132+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
133+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
134+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
135+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
136+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
137+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
138+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
139+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
140+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
141+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
142+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
143+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
144+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
145+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
146+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
147+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
148+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
149+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
150+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
151+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
152+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
153+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
154+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
155+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
156+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
157+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
158+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
159+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
160+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
161+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
162+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
163+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
164+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
165+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
166+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
167+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
168+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
169+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
170+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
171+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
172+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
173+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
174+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
175+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
176+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
177+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
178+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
179+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
180+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
181+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
182+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
183+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
184+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
185+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
186+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
187+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
188+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
189+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
190+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
191+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
192+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
193+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
194+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
195+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
196+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
197+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
198+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
199+ yield return new object [ ] { 1 , 2 , new object [ ] { 1 , 2 } , new object [ ] { 1 , 2 } } ;
200+ t . RequiresAll ( ) ;
201+ }
202+
96203 public static void Test ( )
97204 {
98205 FlowAcrossYieldReturn ( ) . GetEnumerator ( ) . MoveNext ( ) ; // Has to call MoveNext otherwise AOT will actually remove it
@@ -103,6 +210,8 @@ public static void Test ()
103210 FlowParameterAcrossYieldReturn ( ) ;
104211 FlowUnannotatedParameterAcrossYieldReturn ( ) ;
105212 FlowAcrossYieldReturnWithBackwardsBranch ( ) ;
213+
214+ foreach ( var o in ReturnManyObjects ( ) ) ;
106215 }
107216 }
108217
0 commit comments