/ICSharpCode.Decompiler/Tests/StackTests/StackTests.il
http://github.com/icsharpcode/ILSpy · SKILL · 132 lines · 107 code · 25 blank · 0 comment · 1 complexity · e7531343f6fd328078dd663d5d067f9a MD5 · raw file
- .assembly extern mscorlib
- {
- .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
- .ver 4:0:0:0
- }
- .assembly StackTests
- {
- .hash algorithm 0x00008004
- .ver 1:0:4059:39717
- }
- .module StackTests.exe
- .imagebase 0x00400000
- .file alignment 0x00000200
- .stackreserve 0x00100000
- .subsystem 0x0003 // WINDOWS_CUI
- .corflags 0x00000003 // ILONLY 32BITREQUIRED
- .class private auto ansi beforefieldinit StackTests.Program extends [mscorlib]System.Object
- {
- .method public hidebysig static void Main(string[] args) cil managed
- {
- .entrypoint
- .maxstack 8
-
- ldc.i4.0
- call string StackTests.Program::Test1(bool cond)
- call void [mscorlib]System.Console::WriteLine(string) // false
-
- ldc.i4.1
- call string StackTests.Program::Test1(bool cond)
- call void [mscorlib]System.Console::WriteLine(string) // true
-
- ldc.i4.0
- ldc.i4.0
- ldc.i4.0
- call int32 StackTests.Program::Test2(int32 switch1, int32 br1, int32 br2)
- call void [mscorlib]System.Console::WriteLine(int32) // 11
-
- ldc.i4.0
- ldc.i4.1
- ldc.i4.0
- call int32 StackTests.Program::Test2(int32 switch1, int32 br1, int32 br2)
- call void [mscorlib]System.Console::WriteLine(int32) // 21
-
- ldc.i4.1
- ldc.i4.1
- ldc.i4.1
- call int32 StackTests.Program::Test2(int32 switch1, int32 br1, int32 br2)
- call void [mscorlib]System.Console::WriteLine(int32) // 32
-
- ldc.i4.2
- ldc.i4.1
- ldc.i4.0
- call int32 StackTests.Program::Test2(int32 switch1, int32 br1, int32 br2)
- call void [mscorlib]System.Console::WriteLine(int32) // 23
-
- ret
- }
- .method public hidebysig static string Test1(bool cond) cil managed
- {
- ldarg.0
- brtrue TRUE
-
- FALSE:
- ldstr "false"
- br EXIT
-
- TRUE:
- ldstr "true"
-
- EXIT:
- ret
- }
- .method public hidebysig static int32 Test2(int32 switch1, int32 br1, int32 br2) cil managed
- {
- ldarg.0
- switch (ENTRY1, ENTRY2, ENTRY3)
- ldc.i4.0
- ret
- ENTRY1:
- ldc.i4.1
- br BRANCH1
- ENTRY2:
- ldc.i4.2
- br BRANCH1
- ENTRY3:
- ldc.i4.3
- br BRANCH2
-
- BRANCH1:
- ldarg.1
- brtrue BRANCH2
-
- EXIT1:
- ldc.i4 10
- add
- ret
-
- BRANCH2:
- ldarg.2
- brtrue.s EXIT3
-
- EXIT2:
- ldc.i4 20
- add
- ret
-
- EXIT3:
- ldc.i4 30
- add
- ret
- }
- .method public hidebysig specialname rtspecialname
- instance void .ctor() cil managed
- {
- // Code size 7 (0x7)
- .maxstack 8
- IL_0000: ldarg.0
- IL_0001: call instance void [mscorlib]System.Object::.ctor()
- IL_0006: ret
- } // end of method Program::.ctor
- } // end of class StackTests.Program
- // =============================================================