// Microsoft (R) .NET Framework IL Disassembler. Version 3.5.30729.1 // Copyright (c) Microsoft Corporation. All rights reserved. // 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 '09.blocks' { // --- The following custom attribute is added automatically, do not uncomment ------- // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 02 00 00 00 00 00 ) .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows. .hash algorithm 0x00008004 .ver 0:0:0:0 } .module '09.blocks.exe' // MVID: {27582DA6-698B-4DFC-8FD1-428E976A6BF3} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY // Image base: 0x030E0000 // =============== CLASS MEMBERS DECLARATION =================== .class public auto ansi beforefieldinit Program extends [mscorlib]System.Object { .class auto ansi nested private beforefieldinit Inner extends [mscorlib]System.Object { .class auto ansi nested private beforefieldinit f_B extends [mscorlib]System.Object { .class auto ansi nested private beforefieldinit p_C extends [mscorlib]System.Object { .field private class Program/Inner/f_B outer .field private int32 v_C .method public hidebysig specialname rtspecialname instance void .ctor(class Program/Inner/f_B outer) cil managed { // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 IL_0008: stfld class Program/Inner/f_B Program/Inner/f_B/p_C::outer IL_000d: ret } // end of method p_C::.ctor .method public hidebysig instance void Execute() cil managed { // Code size 54 (0x36) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldfld class Program/Inner/f_B Program/Inner/f_B/p_C::outer IL_0006: ldfld class Program/Inner Program/Inner/f_B::outer IL_000b: ldc.i4.1 IL_000c: stfld int32 Program/Inner::v_A IL_0011: ldarg.0 IL_0012: ldc.i4.1 IL_0013: stfld int32 Program/Inner/f_B/p_C::v_C IL_0018: ldarg.0 IL_0019: ldfld class Program/Inner/f_B Program/Inner/f_B/p_C::outer IL_001e: ldarg.0 IL_001f: ldfld class Program/Inner/f_B Program/Inner/f_B/p_C::outer IL_0024: ldfld int32 Program/Inner/f_B::p_B IL_0029: ldarg.0 IL_002a: ldfld int32 Program/Inner/f_B/p_C::v_C IL_002f: add IL_0030: stfld int32 Program/Inner/f_B::v_B IL_0035: ret } // end of method p_C::Execute } // end of class p_C .field private class Program/Inner outer .field private int32 p_B .field private int32 v_B .method public hidebysig specialname rtspecialname instance void .ctor(class Program/Inner outer) cil managed { // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 IL_0008: stfld class Program/Inner Program/Inner/f_B::outer IL_000d: ret } // end of method f_B::.ctor .method public hidebysig instance int32 Execute(int32 p_B) cil managed { // Code size 53 (0x35) .maxstack 3 .locals init (class Program/Inner/f_B/p_C V_0) IL_0000: ldarg.0 IL_0001: ldarg.1 IL_0002: stfld int32 Program/Inner/f_B::p_B IL_0007: ldarg.0 IL_0008: newobj instance void Program/Inner/f_B/p_C::.ctor(class Program/Inner/f_B) IL_000d: stloc.0 IL_000e: ldloc.0 IL_000f: callvirt instance void Program/Inner/f_B/p_C::Execute() IL_0014: ldarg.0 IL_0015: ldfld class Program/Inner Program/Inner/f_B::outer IL_001a: ldarg.0 IL_001b: ldfld class Program/Inner Program/Inner/f_B::outer IL_0020: ldfld int32 Program/Inner::v_A IL_0025: ldc.i4.3 IL_0026: add IL_0027: stfld int32 Program/Inner::v_A IL_002c: ldarg.0 IL_002d: ldfld int32 Program/Inner/f_B::v_B IL_0032: ldc.i4.2 IL_0033: mul IL_0034: ret } // end of method f_B::Execute } // end of class f_B .field private int32 v_A .field private int32 v_A2 .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 Inner::.ctor .method public hidebysig instance void Execute() cil managed { // Code size 65 (0x41) .maxstack 2 .locals init (class Program/Inner/f_B V_0) IL_0000: ldarg.0 IL_0001: newobj instance void Program/Inner/f_B::.ctor(class Program/Inner) IL_0006: stloc.0 IL_0007: ldarg.0 IL_0008: call string [mscorlib]System.Console::ReadLine() IL_000d: call int32 [mscorlib]System.Int32::Parse(string) IL_0012: stfld int32 Program/Inner::v_A2 IL_0017: ldloc.0 IL_0018: ldc.i4.3 IL_0019: callvirt instance int32 Program/Inner/f_B::Execute(int32) IL_001e: ldarg.0 IL_001f: ldfld int32 Program/Inner::v_A2 IL_0024: ble IL_0035 IL_0029: ldc.i4.s 100 IL_002b: call void [mscorlib]System.Console::WriteLine(int32) IL_0030: br IL_0040 IL_0035: ldarg.0 IL_0036: ldfld int32 Program/Inner::v_A IL_003b: call void [mscorlib]System.Console::WriteLine(int32) IL_0040: ret } // end of method Inner::Execute } // end of class Inner .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 .method public hidebysig static void Main(string[] agrs) cil managed { .entrypoint // Code size 13 (0xd) .maxstack 1 .locals init (class Program/Inner V_0) IL_0000: newobj instance void Program/Inner::.ctor() IL_0005: stloc.0 IL_0006: ldloc.0 IL_0007: callvirt instance void Program/Inner::Execute() IL_000c: ret } // end of method Program::Main } // end of class Program // ============================================================= // *********** DISASSEMBLY COMPLETE *********************** // WARNING: Created Win32 resource file 09.blocks.ilasm.res