Skip to content

Commit c810776

Browse files
committed
C#: Update reference conversion test
1 parent 2424017 commit c810776

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

csharp/ql/test/library-tests/conversion/reftype/RefType.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
interface I1<in T> { }
55
interface I2<out T> { }
66
interface I3<in T1, out T2> : I1<T1>, I2<T2> { }
7+
interface I4<in T3, T4> where T3 : C1 { I4<T3, T4> M(I4<C1, T4> x); }
78

89
class C1 { }
910

@@ -86,4 +87,9 @@ void M<T3, T4, T5, T6, T7>(T3 p1, T4 p2, T5 p3, T6 p4, T7 p5)
8687
}
8788
}
8889

90+
class C3<T5, T6> where T5 : C1
91+
{
92+
public I4<T5, T6> M(I4<C1, T6> x) => x;
93+
}
94+
8995
// semmle-extractor-options: /r:System.Dynamic.Runtime.dll /r:System.Linq.Expressions.dll

csharp/ql/test/library-tests/conversion/reftype/RefType.expected

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
| C2[] | Object |
2222
| C2[] | Object[] |
2323
| C2[] | dynamic |
24+
| C3<,> | Object |
25+
| C3<,> | dynamic |
2426
| Func<I1<C1>> | Object |
2527
| Func<I1<C1>> | dynamic |
2628
| Func<T3,T4,Object,T5,T6> | Func<T3,T4,String,T5,T6> |
@@ -70,6 +72,14 @@
7072
| I3<C2,C1> | I2<C1> |
7173
| I3<C2,C1> | Object |
7274
| I3<C2,C1> | dynamic |
75+
| I4<,> | Object |
76+
| I4<,> | dynamic |
77+
| I4<C1,T4> | Object |
78+
| I4<C1,T4> | dynamic |
79+
| I4<C1,T6> | Object |
80+
| I4<C1,T6> | dynamic |
81+
| I4<T5,T6> | Object |
82+
| I4<T5,T6> | dynamic |
7383
| ICollection<C1> | IEnumerable<C1> |
7484
| ICollection<C1> | Object |
7585
| ICollection<C1> | dynamic |
@@ -180,6 +190,9 @@
180190
| Object[] | dynamic |
181191
| SByte[] | Object |
182192
| SByte[] | dynamic |
193+
| T3 | C1 |
194+
| T3 | Object |
195+
| T3 | dynamic |
183196
| T3[] | ICollection<T3> |
184197
| T3[] | IEnumerable<T3> |
185198
| T3[] | IList<T3> |
@@ -203,6 +216,7 @@
203216
| T4[] | Object |
204217
| T4[] | Object[] |
205218
| T4[] | dynamic |
219+
| T5 | C1 |
206220
| T5 | Object |
207221
| T5 | dynamic |
208222
| UInt32[] | Object |
@@ -215,6 +229,7 @@
215229
| null | C1[] |
216230
| null | C2 |
217231
| null | C2[] |
232+
| null | C3<,> |
218233
| null | Func<I1<C1>> |
219234
| null | Func<T3,T4,Object,T5,T6> |
220235
| null | Func<T3,T4,String,T5,T6> |
@@ -233,6 +248,10 @@
233248
| null | I3<,> |
234249
| null | I3<C1,C2> |
235250
| null | I3<C2,C1> |
251+
| null | I4<,> |
252+
| null | I4<C1,T4> |
253+
| null | I4<C1,T6> |
254+
| null | I4<T5,T6> |
236255
| null | ICollection<C1> |
237256
| null | ICollection<C2> |
238257
| null | ICollection<T3> |
@@ -263,6 +282,7 @@
263282
| null | Object |
264283
| null | Object[] |
265284
| null | SByte[] |
285+
| null | T3 |
266286
| null | T3[] |
267287
| null | T4 |
268288
| null | T4[] |

0 commit comments

Comments
 (0)