|
| 1 | +.method private hidebysig static void Instrument(string assemblyPath, |
| 2 | + class Gaillard.SharpCover.Program/InstrumentConfig config, |
| 3 | + class [mscorlib]System.IO.TextWriter writer, |
| 4 | + int32& instrumentIndex) cil managed |
| 5 | +{ |
| 6 | + // Code size 192 (0xc0) |
| 7 | + .maxstack 5 |
| 8 | + .locals init ([0] class [Mono.Cecil]Mono.Cecil.AssemblyDefinition 'assembly', |
| 9 | + [1] class [Mono.Cecil]Mono.Cecil.MethodReference countReference, |
| 10 | + [2] class [Mono.Cecil]Mono.Cecil.TypeDefinition 'type', |
| 11 | + [3] string counterPath, |
| 12 | + [4] class [Mono.Cecil]Mono.Cecil.ReaderParameters '<>g__initLocal4', |
| 13 | + [5] class [Mono.Cecil]Mono.Cecil.WriterParameters '<>g__initLocal5', |
| 14 | + [6] class [mscorlib]System.Collections.Generic.IEnumerator`1<class [Mono.Cecil]Mono.Cecil.TypeDefinition> CS$5$0000, |
| 15 | + [7] bool CS$4$0001) |
| 16 | + IL_0000: nop |
| 17 | + IL_0001: ldarg.0 |
| 18 | + IL_0002: newobj instance void [Mono.Cecil]Mono.Cecil.ReaderParameters::.ctor() |
| 19 | + IL_0007: stloc.s '<>g__initLocal4' |
| 20 | + IL_0009: ldloc.s '<>g__initLocal4' |
| 21 | + IL_000b: ldc.i4.1 |
| 22 | + IL_000c: callvirt instance void [Mono.Cecil]Mono.Cecil.ReaderParameters::set_ReadSymbols(bool) |
| 23 | + IL_0011: nop |
| 24 | + IL_0012: ldloc.s '<>g__initLocal4' |
| 25 | + IL_0014: call class [Mono.Cecil]Mono.Cecil.AssemblyDefinition [Mono.Cecil]Mono.Cecil.AssemblyDefinition::ReadAssembly(string, |
| 26 | + class [Mono.Cecil]Mono.Cecil.ReaderParameters) |
| 27 | + IL_0019: stloc.0 |
| 28 | + IL_001a: ldloc.0 |
| 29 | + IL_001b: callvirt instance class [Mono.Cecil]Mono.Cecil.ModuleDefinition [Mono.Cecil]Mono.Cecil.AssemblyDefinition::get_MainModule() |
| 30 | + IL_0020: ldsfld class [mscorlib]System.Reflection.MethodInfo Gaillard.SharpCover.Program::countMethodInfo |
| 31 | + IL_0025: callvirt instance class [Mono.Cecil]Mono.Cecil.MethodReference [Mono.Cecil]Mono.Cecil.ModuleDefinition::Import(class [mscorlib]System.Reflection.MethodBase) |
| 32 | + IL_002a: stloc.1 |
| 33 | + IL_002b: nop |
| 34 | + IL_002c: ldloc.0 |
| 35 | + IL_002d: callvirt instance class [Mono.Cecil]Mono.Cecil.ModuleDefinition [Mono.Cecil]Mono.Cecil.AssemblyDefinition::get_MainModule() |
| 36 | + IL_0032: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1<class [Mono.Cecil]Mono.Cecil.TypeDefinition> [Mono.Cecil]Mono.Cecil.ModuleDefinition::GetTypes() |
| 37 | + IL_0037: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1<!0> class [mscorlib]System.Collections.Generic.IEnumerable`1<class [Mono.Cecil]Mono.Cecil.TypeDefinition>::GetEnumerator() |
| 38 | + IL_003c: stloc.s CS$5$0000 |
| 39 | + .try |
| 40 | + { |
| 41 | + IL_003e: br.s IL_0053 |
| 42 | + IL_0040: ldloc.s CS$5$0000 |
| 43 | + IL_0042: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1<class [Mono.Cecil]Mono.Cecil.TypeDefinition>::get_Current() |
| 44 | + IL_0047: stloc.2 |
| 45 | + IL_0048: ldloc.2 |
| 46 | + IL_0049: ldloc.1 |
| 47 | + IL_004a: ldarg.1 |
| 48 | + IL_004b: ldarg.2 |
| 49 | + IL_004c: ldarg.3 |
| 50 | + IL_004d: call void Gaillard.SharpCover.Program::Instrument(class [Mono.Cecil]Mono.Cecil.TypeDefinition, |
| 51 | + class [Mono.Cecil]Mono.Cecil.MethodReference, |
| 52 | + class Gaillard.SharpCover.Program/InstrumentConfig, |
| 53 | + class [mscorlib]System.IO.TextWriter, |
| 54 | + int32&) |
| 55 | + IL_0052: nop |
| 56 | + IL_0053: ldloc.s CS$5$0000 |
| 57 | + IL_0055: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext() |
| 58 | + IL_005a: stloc.s CS$4$0001 |
| 59 | + IL_005c: ldloc.s CS$4$0001 |
| 60 | + IL_005e: brtrue.s IL_0040 |
| 61 | + IL_0060: leave.s IL_0076 |
| 62 | + } // end .try |
| 63 | + finally |
| 64 | + { |
| 65 | + IL_0062: ldloc.s CS$5$0000 |
| 66 | + IL_0064: ldnull |
| 67 | + IL_0065: ceq |
| 68 | + IL_0067: stloc.s CS$4$0001 |
| 69 | + IL_0069: ldloc.s CS$4$0001 |
| 70 | + IL_006b: brtrue.s IL_0075 |
| 71 | + IL_006d: ldloc.s CS$5$0000 |
| 72 | + IL_006f: callvirt instance void [mscorlib]System.IDisposable::Dispose() |
| 73 | + IL_0074: nop |
| 74 | + IL_0075: endfinally |
| 75 | + } // end handler |
| 76 | + IL_0076: nop |
| 77 | + IL_0077: ldloc.0 |
| 78 | + IL_0078: ldarg.0 |
| 79 | + IL_0079: newobj instance void [Mono.Cecil]Mono.Cecil.WriterParameters::.ctor() |
| 80 | + IL_007e: stloc.s '<>g__initLocal5' |
| 81 | + IL_0080: ldloc.s '<>g__initLocal5' |
| 82 | + IL_0082: ldc.i4.1 |
| 83 | + IL_0083: callvirt instance void [Mono.Cecil]Mono.Cecil.WriterParameters::set_WriteSymbols(bool) |
| 84 | + IL_0088: nop |
| 85 | + IL_0089: ldloc.s '<>g__initLocal5' |
| 86 | + IL_008b: callvirt instance void [Mono.Cecil]Mono.Cecil.AssemblyDefinition::Write(string, |
| 87 | + class [Mono.Cecil]Mono.Cecil.WriterParameters) |
| 88 | + IL_0090: nop |
| 89 | + IL_0091: ldtoken [Counter]Gaillard.SharpCover.Counter |
| 90 | + IL_0096: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) |
| 91 | + IL_009b: callvirt instance class [mscorlib]System.Reflection.Assembly [mscorlib]System.Type::get_Assembly() |
| 92 | + IL_00a0: callvirt instance string [mscorlib]System.Reflection.Assembly::get_Location() |
| 93 | + IL_00a5: stloc.3 |
| 94 | + IL_00a6: ldloc.3 |
| 95 | + IL_00a7: ldarg.0 |
| 96 | + IL_00a8: call string [mscorlib]System.IO.Path::GetDirectoryName(string) |
| 97 | + IL_00ad: ldloc.3 |
| 98 | + IL_00ae: call string [mscorlib]System.IO.Path::GetFileName(string) |
| 99 | + IL_00b3: call string [mscorlib]System.IO.Path::Combine(string, |
| 100 | + string) |
| 101 | + IL_00b8: ldc.i4.1 |
| 102 | + IL_00b9: call void [mscorlib]System.IO.File::Copy(string, |
| 103 | + string, |
| 104 | + bool) |
| 105 | + IL_00be: nop |
| 106 | + IL_00bf: ret |
| 107 | +} // end of method Program::Instrument |
| 108 | + |
0 commit comments