|
149 | 149 | ret
|
150 | 150 | }
|
151 | 151 |
|
| 152 | + .method public hidebysig |
| 153 | + instance bool BoxBranchToOther<byreflike U>(!T) cil managed |
| 154 | + { |
| 155 | + ldarg.1 |
| 156 | + // Begin sequence |
| 157 | + box !!U |
| 158 | + brfalse.s NEXT_1 |
| 159 | + // End sequence |
| 160 | + NEXT_1: |
| 161 | + |
| 162 | + ldarg.1 |
| 163 | + // Begin sequence |
| 164 | + box !!U |
| 165 | + brfalse NEXT_2 |
| 166 | + // End sequence |
| 167 | + NEXT_2: |
| 168 | + |
| 169 | + ldarg.1 |
| 170 | + // Begin sequence |
| 171 | + box !!U |
| 172 | + brtrue.s NEXT_3 |
| 173 | + // End sequence |
| 174 | + NEXT_3: |
| 175 | + |
| 176 | + ldarg.1 |
| 177 | + // Begin sequence |
| 178 | + box !!U |
| 179 | + brtrue NEXT_4 |
| 180 | + // End sequence |
| 181 | + NEXT_4: |
| 182 | + |
| 183 | + ldc.i4.1 |
| 184 | + ret |
| 185 | + } |
| 186 | + |
152 | 187 | .method public hidebysig
|
153 | 188 | instance bool BoxBranch_WithSideEffects(!T&) cil managed
|
154 | 189 | {
|
|
284 | 319 | ret
|
285 | 320 | }
|
286 | 321 |
|
| 322 | + .method public hidebysig |
| 323 | + instance bool BoxIsinstBranch_UsingTypeConstraints<byreflike (InvalidCSharp.EmptyInterface) U>(class InvalidCSharp.EmptyInterface) cil managed |
| 324 | + { |
| 325 | + .locals init ( |
| 326 | + [0] !!U |
| 327 | + ) |
| 328 | + ldarg.1 |
| 329 | + isinst !!U |
| 330 | + brfalse.s NOT_U |
| 331 | + ldarg.1 |
| 332 | + isinst !!U |
| 333 | + unbox.any !!U |
| 334 | + stloc.0 |
| 335 | + ldc.i4.0 |
| 336 | + ret |
| 337 | + NOT_U: |
| 338 | + ldc.i4.1 |
| 339 | + ret |
| 340 | + } |
| 341 | + |
287 | 342 | .method public hidebysig
|
288 | 343 | instance bool AllocArrayOfT() cil managed aggressiveinlining
|
289 | 344 | {
|
|
406 | 461 | {
|
407 | 462 | }
|
408 | 463 |
|
| 464 | +.class public auto ansi beforefieldinit InvalidCSharp.ClassWithInterface |
| 465 | + extends [System.Runtime]System.Object |
| 466 | + implements InvalidCSharp.EmptyInterface |
| 467 | +{ |
| 468 | + .method public hidebysig specialname rtspecialname |
| 469 | + instance void .ctor () cil managed |
| 470 | + { |
| 471 | + ldarg.0 |
| 472 | + call instance void [System.Runtime]System.Object::.ctor() |
| 473 | + ret |
| 474 | + } |
| 475 | +} |
| 476 | + |
409 | 477 | // Generic substitution of allow-byreflike with allow-byreflike
|
410 | 478 | .class interface public auto ansi abstract InvalidCSharp.GenericDerivedInterface_OverByRef`1<byreflike T>
|
411 | 479 | implements class InvalidCSharp.GenericInterface_Over`1<!T>
|
|
651 | 719 | call instance bool valuetype InvalidCSharp.GenericByRefLike_Over`1<valuetype ByRefLikeType>::BoxBranch(!0)
|
652 | 720 | pop
|
653 | 721 |
|
| 722 | + ldloca.s 0 |
| 723 | + ldloc 0 |
| 724 | + ldfld !0 valuetype InvalidCSharp.GenericByRefLike_Over`1<valuetype ByRefLikeType>::Field |
| 725 | + call instance bool valuetype InvalidCSharp.GenericByRefLike_Over`1<valuetype ByRefLikeType>::BoxBranchToOther<valuetype InvalidCSharp.ByRefLikeTypeWithInterface>(!0) |
| 726 | + pop |
| 727 | + |
| 728 | + ldloca.s 0 |
| 729 | + ldloc 0 |
| 730 | + ldfld !0 valuetype InvalidCSharp.GenericByRefLike_Over`1<valuetype ByRefLikeType>::Field |
| 731 | + call instance bool valuetype InvalidCSharp.GenericByRefLike_Over`1<valuetype ByRefLikeType>::BoxBranchToOther<valuetype RegularValueType>(!0) |
| 732 | + pop |
| 733 | + |
654 | 734 | ldloca.s 0
|
655 | 735 | ldloca.s 0
|
656 | 736 | ldflda !0 valuetype InvalidCSharp.GenericByRefLike_Over`1<valuetype ByRefLikeType>::Field
|
|
695 | 775 | ldloca.s 0
|
696 | 776 | ldflda !0 valuetype InvalidCSharp.GenericByRefLike_Over`1<valuetype ByRefLikeType>::Field
|
697 | 777 | call instance bool valuetype InvalidCSharp.GenericByRefLike_Over`1<valuetype ByRefLikeType>::BoxIsinstBranch_WithSideEffects(!0&)
|
| 778 | + pop |
| 779 | + |
| 780 | + ldloca.s 0 |
| 781 | + newobj instance void InvalidCSharp.ClassWithInterface::.ctor() |
| 782 | + call instance bool valuetype InvalidCSharp.GenericByRefLike_Over`1<valuetype ByRefLikeType>::BoxIsinstBranch_UsingTypeConstraints<valuetype InvalidCSharp.ByRefLikeTypeWithInterface>(class InvalidCSharp.EmptyInterface) |
698 | 783 |
|
699 | 784 | ret
|
700 | 785 | }
|
|
0 commit comments