mirror of https://github.com/icsharpcode/ILSpy.git
5 changed files with 196 additions and 2 deletions
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
using System; |
||||
|
||||
namespace ICSharpCode.Decompiler.Tests.TestCases.ILPretty |
||||
{ |
||||
public class Issue1038<TK, TR> where TR : class, new() |
||||
{ |
||||
public event Action<TK, TR> TestEvent = delegate { |
||||
}; |
||||
} |
||||
} |
@ -0,0 +1,125 @@
@@ -0,0 +1,125 @@
|
||||
// Metadata version: v4.0.30319 |
||||
.assembly extern mscorlib |
||||
{ |
||||
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. |
||||
.ver 4:0:0:0 |
||||
} |
||||
.assembly extern System |
||||
{ |
||||
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. |
||||
.ver 4:0:0:0 |
||||
} |
||||
.assembly extern System.Core |
||||
{ |
||||
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. |
||||
.ver 4:0:0:0 |
||||
} |
||||
.assembly ConsoleApp11 |
||||
{ |
||||
.ver 1:0:0:0 |
||||
} |
||||
.module ConsoleApp11.exe |
||||
// MVID: {B973FCD6-A9C4-48A9-8291-26DDC248E208} |
||||
.imagebase 0x00400000 |
||||
.file alignment 0x00000200 |
||||
.stackreserve 0x00100000 |
||||
.subsystem 0x0003 // WINDOWS_CUI |
||||
.corflags 0x00020003 // ILONLY 32BITPREFERRED |
||||
// Image base: 0x000001C4B6C90000 |
||||
|
||||
.class public auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.ILPretty.Issue1038`2<TK, class .ctor TR> |
||||
{ |
||||
// Fields |
||||
.field private class [System.Core]System.Action`2<!TK, !TR> TestEvent |
||||
.field private static class [System.Core]System.Action`2<!TK, !TR> '<>f__am$cache0' |
||||
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) |
||||
|
||||
// Methods |
||||
.method public hidebysig specialname rtspecialname instance void .ctor () cil managed |
||||
{ |
||||
.maxstack 8 |
||||
|
||||
ldarg.0 |
||||
ldsfld class [System.Core]System.Action`2<!0, !1> class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.Issue1038`2<!TK, !TR>::'<>f__am$cache0' |
||||
brtrue.s IL_0019 |
||||
|
||||
ldnull |
||||
ldftn void class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.Issue1038`2<!TK, !TR>::'<TestEvent>m__0'(!0, !1) |
||||
newobj instance void class [System.Core]System.Action`2<!TK, !TR>::.ctor(object, native int) |
||||
stsfld class [System.Core]System.Action`2<!0, !1> class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.Issue1038`2<!TK, !TR>::'<>f__am$cache0' |
||||
|
||||
IL_0019: ldsfld class [System.Core]System.Action`2<!0, !1> class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.Issue1038`2<!TK, !TR>::'<>f__am$cache0' |
||||
stfld class [System.Core]System.Action`2<!0, !1> class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.Issue1038`2<!TK, !TR>::TestEvent |
||||
ret |
||||
} |
||||
|
||||
.method public hidebysig specialname instance void add_TestEvent (class [System.Core]System.Action`2<!TK, !TR> 'value') cil managed |
||||
{ |
||||
.maxstack 3 |
||||
.locals init ( |
||||
[0] class [System.Core]System.Action`2<!TK, !TR>, |
||||
[1] class [System.Core]System.Action`2<!TK, !TR> |
||||
) |
||||
|
||||
ldarg.0 |
||||
ldfld class [System.Core]System.Action`2<!0, !1> class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.Issue1038`2<!TK, !TR>::TestEvent |
||||
stloc.0 |
||||
IL_0007: ldloc.0 |
||||
stloc.1 |
||||
ldarg.0 |
||||
ldflda class [System.Core]System.Action`2<!0, !1> class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.Issue1038`2<!TK, !TR>::TestEvent |
||||
ldloc.1 |
||||
ldarg.1 |
||||
call class [mscorlib]System.Delegate [mscorlib]System.Delegate::Combine(class [mscorlib]System.Delegate, class [mscorlib]System.Delegate) |
||||
castclass class [System.Core]System.Action`2<!TK, !TR> |
||||
ldloc.0 |
||||
call !!0 [mscorlib]System.Threading.Interlocked::CompareExchange<class [System.Core]System.Action`2<!TK, !TR>>(!!0&, !!0, !!0) |
||||
stloc.0 |
||||
ldloc.0 |
||||
ldloc.1 |
||||
bne.un IL_0007 |
||||
ret |
||||
} |
||||
|
||||
.method public hidebysig specialname instance void remove_TestEvent (class [System.Core]System.Action`2<!TK, !TR> 'value') cil managed |
||||
{ |
||||
.maxstack 3 |
||||
.locals init ( |
||||
[0] class [System.Core]System.Action`2<!TK, !TR>, |
||||
[1] class [System.Core]System.Action`2<!TK, !TR> |
||||
) |
||||
|
||||
ldarg.0 |
||||
ldfld class [System.Core]System.Action`2<!0, !1> class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.Issue1038`2<!TK, !TR>::TestEvent |
||||
stloc.0 |
||||
IL_0007: ldloc.0 |
||||
stloc.1 |
||||
ldarg.0 |
||||
ldflda class [System.Core]System.Action`2<!0, !1> class ICSharpCode.Decompiler.Tests.TestCases.ILPretty.Issue1038`2<!TK, !TR>::TestEvent |
||||
ldloc.1 |
||||
ldarg.1 |
||||
call class [mscorlib]System.Delegate [mscorlib]System.Delegate::Remove(class [mscorlib]System.Delegate, class [mscorlib]System.Delegate) |
||||
castclass class [System.Core]System.Action`2<!TK, !TR> |
||||
ldloc.0 |
||||
call !!0 [mscorlib]System.Threading.Interlocked::CompareExchange<class [System.Core]System.Action`2<!TK, !TR>>(!!0&, !!0, !!0) |
||||
stloc.0 |
||||
ldloc.0 |
||||
ldloc.1 |
||||
bne.un IL_0007 |
||||
ret |
||||
} |
||||
|
||||
.method private hidebysig static void '<TestEvent>m__0' (!TK '', !TR '') cil managed |
||||
{ |
||||
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) |
||||
.maxstack 8 |
||||
ret |
||||
} |
||||
|
||||
// Events |
||||
.event class [System.Core]System.Action`2<!TK, !TR> TestEvent |
||||
{ |
||||
.addon instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.Issue1038`2::add_TestEvent(class [System.Core]System.Action`2<!0, !1>) |
||||
.removeon instance void ICSharpCode.Decompiler.Tests.TestCases.ILPretty.Issue1038`2::remove_TestEvent(class [System.Core]System.Action`2<!0, !1>) |
||||
} |
||||
} |
Loading…
Reference in new issue