~/f/bless/RPMS.2017 ~/f/bless ~/f/bless RPMS.2017/bless-0.6.2-0.0.x86_64.rpm RPMS/bless-0.6.2-0.0.x86_64.rpm differ: byte 225, line 1 Comparing bless-0.6.2-0.0.x86_64.rpm to bless-0.6.2-0.0.x86_64.rpm comparing the rpm tags of bless --- old-rpm-tags +++ new-rpm-tags @@ -131,18 +131,18 @@ ___QF_CHECKSUM___ /usr/bin/bless 08ee5aedf71ea03f57cef105c4296a36ad92af4f9401e66de6b582e75f3e6833 0 /usr/lib64/bless 0 -/usr/lib64/bless/Bless.Buffers.dll 2422872c2b1793e509b8bcd522864a58bbcf6d819a1e416921da59f01a07a7a9 0 -/usr/lib64/bless/Bless.Gui.Areas.Plugins.dll 58af87e4c80455055d8e0087d26dac42b9e8364df2e1fdb654ca4687b2fb6e58 0 +/usr/lib64/bless/Bless.Buffers.dll e562377190e6b485839aab2ea0e43d0acfe169a0e96c916aff9495aefa46d652 0 +/usr/lib64/bless/Bless.Gui.Areas.Plugins.dll f85c5be8ba3fa8b16cc8cc5b5ccd2a4e899d4abd7ba49e46abfeb10e44ca1a03 0 /usr/lib64/bless/Bless.Gui.Areas.dll 89e1c430db370c50d4eb52892989901214bf19a9338dd501bd929312a6ebd423 0 -/usr/lib64/bless/Bless.Gui.Drawers.dll f028c323f73797bb65823dcbba10c912da994d50a99fe2cc9751b2f261ed49ae 0 -/usr/lib64/bless/Bless.Gui.Plugins.dll 45302ef75692fb794fed7f8f7e2c4aef48a432a8f72b9352a28038eba8d1316b 0 -/usr/lib64/bless/Bless.Gui.dll 6c355e640672f0ad053f1385ab7120d2932949271baab15764980fac0f3320fd 0 -/usr/lib64/bless/Bless.Plugins.dll 359794bf7bcaf41709f7003ad61a702690cd90efd713ab1f706227dbdbe3ab14 0 -/usr/lib64/bless/Bless.Tools.Export.Plugins.dll 4371307f38856d09f87a88af4a4afaf46878c2e5212f30c8e13650da2bcdd473 0 -/usr/lib64/bless/Bless.Tools.Export.dll d3dface1bb891721ffda3e0c3e7b132ab059be89f840dfa0595a5032f9bbf36c 0 +/usr/lib64/bless/Bless.Gui.Drawers.dll 0d969b24091dd729ad1786f90493c044af589861a572bbde4e9a8f184a740a1d 0 +/usr/lib64/bless/Bless.Gui.Plugins.dll b7b41f53452c4a026f834aa5f3b6cb546bb2c149f8721de990bee71f645bec95 0 +/usr/lib64/bless/Bless.Gui.dll 03087b661347d6041d3bbde6941ccd250c20a557823a6d0aa33bc4f540f8391c 0 +/usr/lib64/bless/Bless.Plugins.dll 776b78400df85c908bddf404ff52f0cd62c2a93d98a466e12c94c2efbedf7838 0 +/usr/lib64/bless/Bless.Tools.Export.Plugins.dll 52b0527e3cc80c25cd99159491e7e97c62524535a766f336077e06b571dfe120 0 +/usr/lib64/bless/Bless.Tools.Export.dll 61e2c02786c8cff31ac83d2b26c2778188bdd74c30b21a2987c4df6b40af11a4 0 /usr/lib64/bless/Bless.Tools.Find.dll c7ec13664b19f02bbe19ffad273db5fd0da50a7d67ccbbc200af842a1d218089 0 /usr/lib64/bless/Bless.Tools.dll aac49e5366f369db13172acd70ad31d14099b5f49e15df5df336c8e8330ff4bf 0 -/usr/lib64/bless/Bless.Util.dll ce211efc5cde4e894d2fe5e0652a6659cd4869a7f3e37cc335ac458c81fd75cd 0 +/usr/lib64/bless/Bless.Util.dll b62e7af6828ae2b63d5e17facb553004eb3b68eb7c299861253de93d1190c55f 0 /usr/lib64/bless/bless.exe 265941dfc575d24bb0cd768a724e2043fe6cffecc7ac0dd8304ff1bb04c49250 0 /usr/share/applications/bless.desktop 6b30b7be86022e6f70dff8205b1389598837c9d46f277f1e246c975e695fb3f7 0 /usr/share/bless 0 comparing rpmtags comparing RELEASE comparing PROVIDES comparing scripts comparing filelist comparing file checksum creating rename script RPM file checksum differs. Extracting packages PE32 Mono/.Net assembly: /usr/lib64/bless/Bless.Buffers.dll /usr/lib64/bless/Bless.Buffers.dll differs (PE32 executable (DLL) (console) Intel 80386, Mono/.Net assembly, for MS Windows) --- old /usr/lib64/bless/Bless.Buffers.dll (monodis) +++ new /usr/lib64/bless/Bless.Buffers.dll (monodis) @@ -1,12 +1,12 @@ +.assembly extern Bless.Util +{ + .ver 0:0:0:0 +} .assembly extern mscorlib { .ver 4:0:0:0 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. } -.assembly extern Bless.Util -{ - .ver 0:0:0:0 -} .assembly extern System { .ver 4:0:0:0 @@ -36,2265 +36,2493 @@ .namespace Bless.Buffers { - .class public auto ansi beforefieldinit Segment + .class public auto ansi beforefieldinit SegmentCollection extends [mscorlib]System.Object { - .field private class Bless.Buffers.IBuffer buffer - .field private int64 start - .field private int64 end + .field private class [Bless.Util]Bless.Util.List`1 list + .field private class [Bless.Util]Bless.Util.List`1/Node cachedNode + .field private int64 cachedMapping // method line 1 .method public hidebysig specialname rtspecialname - instance default void '.ctor' (class Bless.Buffers.IBuffer buffer, int64 start, int64 end) cil managed + instance default void '.ctor' () cil managed { // Method begins at RVA 0x2050 - // Code size 28 (0x1c) + // Code size 18 (0x12) .maxstack 8 IL_0000: ldarg.0 IL_0001: call instance void object::'.ctor'() IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld class Bless.Buffers.IBuffer Bless.Buffers.Segment::buffer - IL_000d: ldarg.0 - IL_000e: ldarg.2 - IL_000f: stfld int64 Bless.Buffers.Segment::start - IL_0014: ldarg.0 - IL_0015: ldarg.3 - IL_0016: stfld int64 Bless.Buffers.Segment::end - IL_001b: ret - } // end of method Segment::.ctor + IL_0007: newobj instance void class [Bless.Util]Bless.Util.List`1::'.ctor'() + IL_000c: stfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list + IL_0011: ret + } // end of method SegmentCollection::.ctor // method line 2 - .method public hidebysig - instance default bool Contains (int64 offset, int64 mapping) cil managed - { - // Method begins at RVA 0x206d - // Code size 32 (0x20) - .maxstack 8 - IL_0000: ldarg.1 - IL_0001: ldarg.2 - IL_0002: blt IL_001e - - IL_0007: ldarg.1 - IL_0008: ldarg.2 - IL_0009: ldarg.0 - IL_000a: ldfld int64 Bless.Buffers.Segment::end - IL_000f: add - IL_0010: ldarg.0 - IL_0011: ldfld int64 Bless.Buffers.Segment::start - IL_0016: sub - IL_0017: bgt IL_001e - - IL_001c: ldc.i4.1 - IL_001d: ret - IL_001e: ldc.i4.0 - IL_001f: ret - } // end of method Segment::Contains - - // method line 3 - .method public hidebysig - instance default class Bless.Buffers.Segment SplitAt (int64 pos) cil managed - { - // Method begins at RVA 0x2090 - // Code size 74 (0x4a) - .maxstack 3 - .locals init ( - class Bless.Buffers.Segment V_0) - IL_0000: ldarg.1 - IL_0001: ldarg.0 - IL_0002: ldfld int64 Bless.Buffers.Segment::end - IL_0007: ldarg.0 - IL_0008: ldfld int64 Bless.Buffers.Segment::start - IL_000d: sub - IL_000e: bgt IL_001b - - IL_0013: ldarg.1 - IL_0014: ldc.i4.0 - IL_0015: conv.i8 - IL_0016: bne.un IL_001d - - IL_001b: ldnull - IL_001c: ret - IL_001d: ldarg.0 - IL_001e: ldfld class Bless.Buffers.IBuffer Bless.Buffers.Segment::buffer - IL_0023: ldarg.0 - IL_0024: ldfld int64 Bless.Buffers.Segment::start - IL_0029: ldarg.1 - IL_002a: add - IL_002b: ldarg.0 - IL_002c: ldfld int64 Bless.Buffers.Segment::end - IL_0031: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) - IL_0036: stloc.0 - IL_0037: ldarg.0 - IL_0038: ldarg.0 - IL_0039: ldfld int64 Bless.Buffers.Segment::start - IL_003e: ldarg.1 - IL_003f: add - IL_0040: ldc.i4.1 - IL_0041: conv.i8 - IL_0042: sub - IL_0043: stfld int64 Bless.Buffers.Segment::end - IL_0048: ldloc.0 - IL_0049: ret - } // end of method Segment::SplitAt - - // method line 4 - .method public hidebysig - instance default void MakePrivateCopyOfData () cil managed - { - // Method begins at RVA 0x20e8 - // Code size 61 (0x3d) - .maxstack 4 - .locals init ( - class Bless.Buffers.SimpleBuffer V_0) - IL_0000: newobj instance void class Bless.Buffers.SimpleBuffer::'.ctor'() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: ldarg.0 - IL_0008: ldfld class Bless.Buffers.IBuffer Bless.Buffers.Segment::buffer - IL_000d: ldarg.0 - IL_000e: ldfld int64 Bless.Buffers.Segment::start - IL_0013: ldarg.0 - IL_0014: call instance int64 class Bless.Buffers.Segment::get_Size() - IL_0019: callvirt instance void class Bless.Buffers.BaseBuffer::AppendBuffer(class Bless.Buffers.IBuffer, int64, int64) - IL_001e: ldarg.0 - IL_001f: ldloc.0 - IL_0020: stfld class Bless.Buffers.IBuffer Bless.Buffers.Segment::buffer - IL_0025: ldarg.0 - IL_0026: ldc.i4.0 - IL_0027: conv.i8 - IL_0028: stfld int64 Bless.Buffers.Segment::start - IL_002d: ldarg.0 - IL_002e: ldloc.0 - IL_002f: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_0034: ldc.i4.1 - IL_0035: conv.i8 - IL_0036: sub - IL_0037: stfld int64 Bless.Buffers.Segment::end - IL_003c: ret - } // end of method Segment::MakePrivateCopyOfData - - // method line 5 - .method public virtual hidebysig - instance default string ToString () cil managed - { - // Method begins at RVA 0x2131 - // Code size 33 (0x21) - .maxstack 8 - IL_0000: ldstr "({0}->{1})" - IL_0005: ldarg.0 - IL_0006: ldfld int64 Bless.Buffers.Segment::start - IL_000b: box [mscorlib]System.Int64 - IL_0010: ldarg.0 - IL_0011: ldfld int64 Bless.Buffers.Segment::end - IL_0016: box [mscorlib]System.Int64 - IL_001b: call string string::Format(string, object, object) - IL_0020: ret - } // end of method Segment::ToString - - // method line 6 - .method public hidebysig specialname - instance default int64 get_Size () cil managed - { - // Method begins at RVA 0x2153 - // Code size 17 (0x11) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int64 Bless.Buffers.Segment::end - IL_0006: ldarg.0 - IL_0007: ldfld int64 Bless.Buffers.Segment::start - IL_000c: sub - IL_000d: ldc.i4.1 - IL_000e: conv.i8 - IL_000f: add - IL_0010: ret - } // end of method Segment::get_Size - - // method line 7 .method public hidebysig specialname - instance default class Bless.Buffers.IBuffer get_Buffer () cil managed + instance default class [Bless.Util]Bless.Util.List`1 get_List () cil managed { - // Method begins at RVA 0x2165 + // Method begins at RVA 0x2063 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Buffers.IBuffer Bless.Buffers.Segment::buffer + IL_0001: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list IL_0006: ret - } // end of method Segment::get_Buffer - - // method line 8 - .method public hidebysig specialname - instance default void set_Buffer (class Bless.Buffers.IBuffer 'value') cil managed - { - // Method begins at RVA 0x216d - // Code size 8 (0x8) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld class Bless.Buffers.IBuffer Bless.Buffers.Segment::buffer - IL_0007: ret - } // end of method Segment::set_Buffer + } // end of method SegmentCollection::get_List - // method line 9 - .method public hidebysig specialname - instance default int64 get_Start () cil managed + // method line 3 + .method private hidebysig + instance default void InvalidateCache () cil managed { - // Method begins at RVA 0x2176 - // Code size 7 (0x7) + // Method begins at RVA 0x206b + // Code size 16 (0x10) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int64 Bless.Buffers.Segment::start - IL_0006: ret - } // end of method Segment::get_Start + IL_0001: ldnull + IL_0002: stfld class [Bless.Util]Bless.Util.List`1/Node Bless.Buffers.SegmentCollection::cachedNode + IL_0007: ldarg.0 + IL_0008: ldc.i4.0 + IL_0009: conv.i8 + IL_000a: stfld int64 Bless.Buffers.SegmentCollection::cachedMapping + IL_000f: ret + } // end of method SegmentCollection::InvalidateCache - // method line 10 - .method public hidebysig specialname - instance default void set_Start (int64 'value') cil managed + // method line 4 + .method private hidebysig + instance default void SetCache (class [Bless.Util]Bless.Util.List`1/Node n, int64 map) cil managed { - // Method begins at RVA 0x217e - // Code size 8 (0x8) + // Method begins at RVA 0x207c + // Code size 15 (0xf) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld int64 Bless.Buffers.Segment::start - IL_0007: ret - } // end of method Segment::set_Start + IL_0002: stfld class [Bless.Util]Bless.Util.List`1/Node Bless.Buffers.SegmentCollection::cachedNode + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int64 Bless.Buffers.SegmentCollection::cachedMapping + IL_000e: ret + } // end of method SegmentCollection::SetCache - // method line 11 - .method public hidebysig specialname - instance default int64 get_End () cil managed + // method line 5 + .method public hidebysig + instance default void Append (class Bless.Buffers.Segment s) cil managed { - // Method begins at RVA 0x2187 - // Code size 7 (0x7) - .maxstack 8 + // Method begins at RVA 0x208c + // Code size 100 (0x64) + .maxstack 3 + .locals init ( + class [Bless.Util]Bless.Util.List`1/Node V_0, + class Bless.Buffers.Segment V_1) IL_0000: ldarg.0 - IL_0001: ldfld int64 Bless.Buffers.Segment::end - IL_0006: ret - } // end of method Segment::get_End + IL_0001: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list + IL_0006: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::get_Last() + IL_000b: stloc.0 + IL_000c: ldloc.0 + IL_000d: brfalse IL_0056 - // method line 12 - .method public hidebysig specialname - instance default void set_End (int64 'value') cil managed - { - // Method begins at RVA 0x218f - // Code size 8 (0x8) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld int64 Bless.Buffers.Segment::end - IL_0007: ret - } // end of method Segment::set_End + IL_0012: ldloc.0 + IL_0013: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_0018: brfalse IL_0056 - .property instance int64 Size () - { - .get instance default int64 Bless.Buffers.Segment::get_Size () - } - .property instance class Bless.Buffers.IBuffer Buffer () - { - .get instance default class Bless.Buffers.IBuffer Bless.Buffers.Segment::get_Buffer () - .set instance default void Bless.Buffers.Segment::set_Buffer (class Bless.Buffers.IBuffer 'value') - } - .property instance int64 Start () - { - .get instance default int64 Bless.Buffers.Segment::get_Start () - .set instance default void Bless.Buffers.Segment::set_Start (int64 'value') - } - .property instance int64 End () - { - .get instance default int64 Bless.Buffers.Segment::get_End () - .set instance default void Bless.Buffers.Segment::set_End (int64 'value') - } - } // end of class Bless.Buffers.Segment -} + IL_001d: ldloc.0 + IL_001e: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_0023: stloc.1 + IL_0024: ldarg.1 + IL_0025: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_002a: ldloc.1 + IL_002b: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_0030: bne.un IL_0056 -.namespace Bless.Buffers -{ - .class public auto ansi beforefieldinit SaveAsOperation - extends [Bless.Util]Bless.Util.ThreadedAsyncOperation - implements Bless.Buffers.ISaveState { - .field family class Bless.Buffers.ByteBuffer byteBuffer - .field family int64 bytesSaved - .field family string savePath - .field private class [mscorlib]System.IO.FileStream fs - .field private valuetype Bless.Buffers.SaveAsOperation/SaveAsStage stageReached + IL_0035: ldarg.1 + IL_0036: callvirt instance int64 class Bless.Buffers.Segment::get_Start() + IL_003b: ldloc.1 + IL_003c: callvirt instance int64 class Bless.Buffers.Segment::get_End() + IL_0041: ldc.i4.1 + IL_0042: conv.i8 + IL_0043: add + IL_0044: bne.un IL_0056 - // method line 13 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' (class Bless.Buffers.ByteBuffer bb, string fn, class [Bless.Util]Bless.Util.ProgressCallback pc, class [mscorlib]System.AsyncCallback ac, bool glibIdle) cil managed - { - // Method begins at RVA 0x2198 - // Code size 41 (0x29) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.3 - IL_0002: ldarg.s 4 - IL_0004: ldarg.s 5 - IL_0006: call instance void class [Bless.Util]Bless.Util.ThreadedAsyncOperation::'.ctor'(class [Bless.Util]Bless.Util.ProgressCallback, class [mscorlib]System.AsyncCallback, bool) - IL_000b: ldarg.0 - IL_000c: ldarg.1 - IL_000d: stfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveAsOperation::byteBuffer - IL_0012: ldarg.0 - IL_0013: ldarg.2 - IL_0014: stfld string Bless.Buffers.SaveAsOperation::savePath - IL_0019: ldarg.0 - IL_001a: ldnull - IL_001b: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs - IL_0020: ldarg.0 - IL_0021: ldc.i4.0 - IL_0022: conv.i8 - IL_0023: stfld int64 Bless.Buffers.SaveAsOperation::bytesSaved - IL_0028: ret - } // end of method SaveAsOperation::.ctor + IL_0049: ldloc.1 + IL_004a: ldarg.1 + IL_004b: callvirt instance int64 class Bless.Buffers.Segment::get_End() + IL_0050: callvirt instance void class Bless.Buffers.Segment::set_End(int64) + IL_0055: ret + IL_0056: ldarg.0 + IL_0057: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list + IL_005c: ldarg.1 + IL_005d: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::Append(!0) + IL_0062: pop + IL_0063: ret + } // end of method SegmentCollection::Append - // method line 14 - .method public final virtual hidebysig newslot specialname - instance default class Bless.Buffers.ByteBuffer get_Buffer () cil managed + // method line 6 + .method private hidebysig + instance default class [Bless.Util]Bless.Util.List`1/Node InsertAfter (class [Bless.Util]Bless.Util.List`1/Node n, class Bless.Buffers.Segment s) cil managed { - // Method begins at RVA 0x21c2 - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveAsOperation::byteBuffer - IL_0006: ret - } // end of method SaveAsOperation::get_Buffer + // Method begins at RVA 0x20fc + // Code size 89 (0x59) + .maxstack 3 + .locals init ( + class Bless.Buffers.Segment V_0) + IL_0000: ldarg.1 + IL_0001: brfalse IL_004b - // method line 15 - .method public final virtual hidebysig newslot specialname - instance default string get_SavePath () cil managed - { - // Method begins at RVA 0x21ca - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld string Bless.Buffers.SaveAsOperation::savePath - IL_0006: ret - } // end of method SaveAsOperation::get_SavePath + IL_0006: ldarg.1 + IL_0007: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_000c: brfalse IL_004b - // method line 16 - .method public hidebysig specialname - instance default void set_SavePath (string 'value') cil managed - { - // Method begins at RVA 0x21d2 - // Code size 8 (0x8) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld string Bless.Buffers.SaveAsOperation::savePath - IL_0007: ret - } // end of method SaveAsOperation::set_SavePath + IL_0011: ldarg.1 + IL_0012: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_0017: stloc.0 + IL_0018: ldarg.2 + IL_0019: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_001e: ldloc.0 + IL_001f: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_0024: bne.un IL_004b - // method line 17 - .method public hidebysig specialname - instance default int64 get_BytesSaved () cil managed - { - // Method begins at RVA 0x21db - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int64 Bless.Buffers.SaveAsOperation::bytesSaved - IL_0006: ret - } // end of method SaveAsOperation::get_BytesSaved + IL_0029: ldarg.2 + IL_002a: callvirt instance int64 class Bless.Buffers.Segment::get_Start() + IL_002f: ldloc.0 + IL_0030: callvirt instance int64 class Bless.Buffers.Segment::get_End() + IL_0035: ldc.i4.1 + IL_0036: conv.i8 + IL_0037: add + IL_0038: bne.un IL_004b - // method line 18 - .method public hidebysig specialname - instance default valuetype Bless.Buffers.SaveAsOperation/SaveAsStage get_StageReached () cil managed - { - // Method begins at RVA 0x21e3 - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld valuetype Bless.Buffers.SaveAsOperation/SaveAsStage Bless.Buffers.SaveAsOperation::stageReached - IL_0006: ret - } // end of method SaveAsOperation::get_StageReached + IL_003d: ldloc.0 + IL_003e: ldarg.2 + IL_003f: callvirt instance int64 class Bless.Buffers.Segment::get_End() + IL_0044: callvirt instance void class Bless.Buffers.Segment::set_End(int64) + IL_0049: ldarg.1 + IL_004a: ret + IL_004b: ldarg.0 + IL_004c: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list + IL_0051: ldarg.1 + IL_0052: ldarg.2 + IL_0053: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::InsertAfter(class [Bless.Util]Bless.Util.List`1/Node, !0) + IL_0058: ret + } // end of method SegmentCollection::InsertAfter - // method line 19 - .method family hidebysig - instance default bool CheckFreeSpace (string path, int64 extraSpace) cil managed + // method line 7 + .method private hidebysig + instance default class [Bless.Util]Bless.Util.List`1/Node InsertBefore (class [Bless.Util]Bless.Util.List`1/Node n, class Bless.Buffers.Segment s) cil managed { - // Method begins at RVA 0x21ec - // Code size 42 (0x2a) - .maxstack 2 + // Method begins at RVA 0x2164 + // Code size 89 (0x59) + .maxstack 3 .locals init ( - int64 V_0, - bool V_1) - .try { // 0 - IL_0000: ldarg.1 - IL_0001: call int64 class [Bless.Util]Portable::GetAvailableDiskSpace(string) - IL_0006: stloc.0 - IL_0007: ldloc.0 - IL_0008: ldarg.2 - IL_0009: add - IL_000a: ldarg.0 - IL_000b: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveAsOperation::byteBuffer - IL_0010: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_0015: clt - IL_0017: ldc.i4.0 - IL_0018: ceq - IL_001a: stloc.1 - IL_001b: leave IL_0028 + class Bless.Buffers.Segment V_0) + IL_0000: ldarg.1 + IL_0001: brfalse IL_004b - } // end .try 0 - catch class [mscorlib]System.NotImplementedException { // 0 - IL_0020: pop - IL_0021: ldc.i4.1 - IL_0022: stloc.1 - IL_0023: leave IL_0028 + IL_0006: ldarg.1 + IL_0007: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_000c: brfalse IL_004b - } // end handler 0 - IL_0028: ldloc.1 - IL_0029: ret - } // end of method SaveAsOperation::CheckFreeSpace + IL_0011: ldarg.1 + IL_0012: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_0017: stloc.0 + IL_0018: ldarg.2 + IL_0019: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_001e: ldloc.0 + IL_001f: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_0024: bne.un IL_004b - // method line 20 - .method family virtual hidebysig - instance default bool StartProgress () cil managed - { - // Method begins at RVA 0x2234 - // Code size 72 (0x48) - .maxstack 3 - IL_0000: ldarg.0 - IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0006: ldstr "Saving '{0}'" - IL_000b: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) - IL_0010: ldarg.0 - IL_0011: call instance string class Bless.Buffers.SaveAsOperation::get_SavePath() - IL_0016: call string string::Format(string, object) - IL_001b: ldc.i4.3 - IL_001c: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) - IL_0021: pop - IL_0022: ldarg.0 - IL_0023: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0028: ldarg.0 - IL_0029: ldfld int64 Bless.Buffers.SaveAsOperation::bytesSaved - IL_002e: conv.r8 - IL_002f: ldarg.0 - IL_0030: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveAsOperation::byteBuffer - IL_0035: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_003a: conv.r8 - IL_003b: div - IL_003c: box [mscorlib]System.Double - IL_0041: ldc.i4.0 - IL_0042: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) - IL_0047: ret - } // end of method SaveAsOperation::StartProgress + IL_0029: ldarg.2 + IL_002a: callvirt instance int64 class Bless.Buffers.Segment::get_End() + IL_002f: ldc.i4.1 + IL_0030: conv.i8 + IL_0031: add + IL_0032: ldloc.0 + IL_0033: callvirt instance int64 class Bless.Buffers.Segment::get_Start() + IL_0038: bne.un IL_004b + + IL_003d: ldloc.0 + IL_003e: ldarg.2 + IL_003f: callvirt instance int64 class Bless.Buffers.Segment::get_Start() + IL_0044: callvirt instance void class Bless.Buffers.Segment::set_Start(int64) + IL_0049: ldarg.1 + IL_004a: ret + IL_004b: ldarg.0 + IL_004c: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list + IL_0051: ldarg.1 + IL_0052: ldarg.2 + IL_0053: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::InsertBefore(class [Bless.Util]Bless.Util.List`1/Node, !0) + IL_0058: ret + } // end of method SegmentCollection::InsertBefore + + // method line 8 + .method public hidebysig + instance default class Bless.Buffers.Segment FindSegment (int64 offset, [out] int64& OutMapping, [out] class [Bless.Util]Bless.Util.List`1/Node& OutNode) cil managed + { + // Method begins at RVA 0x21cc + // Code size 258 (0x102) + .maxstack 3 + .locals init ( + class Bless.Buffers.Segment V_0, + int64 V_1, + class [Bless.Util]Bless.Util.List`1/Node V_2) + IL_0000: ldarg.2 + IL_0001: ldc.i4.0 + IL_0002: conv.i8 + IL_0003: stind.i8 + IL_0004: ldarg.3 + IL_0005: ldnull + IL_0006: stind.ref + IL_0007: ldarg.0 + IL_0008: ldfld class [Bless.Util]Bless.Util.List`1/Node Bless.Buffers.SegmentCollection::cachedNode + IL_000d: brtrue IL_0037 + + IL_0012: ldarg.0 + IL_0013: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list + IL_0018: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::get_First() + IL_001d: brtrue IL_0024 + + IL_0022: ldnull + IL_0023: ret + IL_0024: ldarg.0 + IL_0025: ldarg.0 + IL_0026: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list + IL_002b: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::get_First() + IL_0030: ldc.i4.0 + IL_0031: conv.i8 + IL_0032: call instance void class Bless.Buffers.SegmentCollection::SetCache(class [Bless.Util]Bless.Util.List`1/Node, int64) + IL_0037: ldarg.0 + IL_0038: ldfld class [Bless.Util]Bless.Util.List`1/Node Bless.Buffers.SegmentCollection::cachedNode + IL_003d: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_0042: stloc.0 + IL_0043: ldarg.0 + IL_0044: ldfld int64 Bless.Buffers.SegmentCollection::cachedMapping + IL_0049: stloc.1 + IL_004a: ldarg.0 + IL_004b: ldfld class [Bless.Util]Bless.Util.List`1/Node Bless.Buffers.SegmentCollection::cachedNode + IL_0050: stloc.2 + IL_0051: ldloc.0 + IL_0052: ldarg.1 + IL_0053: ldloc.1 + IL_0054: callvirt instance bool class Bless.Buffers.Segment::Contains(int64, int64) + IL_0059: brfalse IL_0066 + + IL_005e: ldarg.2 + IL_005f: ldloc.1 + IL_0060: stind.i8 + IL_0061: ldarg.3 + IL_0062: ldloc.2 + IL_0063: stind.ref + IL_0064: ldloc.0 + IL_0065: ret + IL_0066: ldarg.1 + IL_0067: ldloc.1 + IL_0068: bge IL_00b6 + + IL_006d: br IL_00a6 + + IL_0072: ldloc.2 + IL_0073: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev + IL_0078: stloc.2 + IL_0079: ldloc.2 + IL_007a: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_007f: stloc.0 + IL_0080: ldloc.1 + IL_0081: ldloc.0 + IL_0082: callvirt instance int64 class Bless.Buffers.Segment::get_Size() + IL_0087: sub + IL_0088: stloc.1 + IL_0089: ldloc.0 + IL_008a: ldarg.1 + IL_008b: ldloc.1 + IL_008c: callvirt instance bool class Bless.Buffers.Segment::Contains(int64, int64) + IL_0091: brfalse IL_00a6 + + IL_0096: ldarg.0 + IL_0097: ldloc.2 + IL_0098: ldloc.1 + IL_0099: call instance void class Bless.Buffers.SegmentCollection::SetCache(class [Bless.Util]Bless.Util.List`1/Node, int64) + IL_009e: ldarg.2 + IL_009f: ldloc.1 + IL_00a0: stind.i8 + IL_00a1: ldarg.3 + IL_00a2: ldloc.2 + IL_00a3: stind.ref + IL_00a4: ldloc.0 + IL_00a5: ret + IL_00a6: ldloc.2 + IL_00a7: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev + IL_00ac: brtrue IL_0072 + + IL_00b1: br IL_00fa + + IL_00b6: br IL_00ef + + IL_00bb: ldloc.1 + IL_00bc: ldloc.0 + IL_00bd: callvirt instance int64 class Bless.Buffers.Segment::get_Size() + IL_00c2: add + IL_00c3: stloc.1 + IL_00c4: ldloc.2 + IL_00c5: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next + IL_00ca: stloc.2 + IL_00cb: ldloc.2 + IL_00cc: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_00d1: stloc.0 + IL_00d2: ldloc.0 + IL_00d3: ldarg.1 + IL_00d4: ldloc.1 + IL_00d5: callvirt instance bool class Bless.Buffers.Segment::Contains(int64, int64) + IL_00da: brfalse IL_00ef + + IL_00df: ldarg.0 + IL_00e0: ldloc.2 + IL_00e1: ldloc.1 + IL_00e2: call instance void class Bless.Buffers.SegmentCollection::SetCache(class [Bless.Util]Bless.Util.List`1/Node, int64) + IL_00e7: ldarg.2 + IL_00e8: ldloc.1 + IL_00e9: stind.i8 + IL_00ea: ldarg.3 + IL_00eb: ldloc.2 + IL_00ec: stind.ref + IL_00ed: ldloc.0 + IL_00ee: ret + IL_00ef: ldloc.2 + IL_00f0: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next + IL_00f5: brtrue IL_00bb + + IL_00fa: ldarg.2 + IL_00fb: ldloc.1 + IL_00fc: stind.i8 + IL_00fd: ldarg.3 + IL_00fe: ldloc.2 + IL_00ff: stind.ref + IL_0100: ldnull + IL_0101: ret + } // end of method SegmentCollection::FindSegment + + // method line 9 + .method public hidebysig + instance default void Insert (class Bless.Buffers.SegmentCollection sc, int64 offset) cil managed + { + // Method begins at RVA 0x22dc + // Code size 319 (0x13f) + .maxstack 4 + .locals init ( + int64 V_0, + class [Bless.Util]Bless.Util.List`1/Node V_1, + class Bless.Buffers.Segment V_2, + class [Bless.Util]Bless.Util.List`1 V_3, + int32 V_4, + class [Bless.Util]Bless.Util.List`1/Node V_5, + int32 V_6, + class [Bless.Util]Bless.Util.List`1 V_7, + int32 V_8, + class [Bless.Util]Bless.Util.List`1/Node V_9, + int32 V_10, + class Bless.Buffers.Segment V_11, + class [Bless.Util]Bless.Util.List`1 V_12, + int32 V_13, + class [Bless.Util]Bless.Util.List`1/Node V_14, + int32 V_15) + IL_0000: ldarg.0 + IL_0001: ldarg.2 + IL_0002: ldloca.s 0 + IL_0004: ldloca.s 1 + IL_0006: call instance class Bless.Buffers.Segment class Bless.Buffers.SegmentCollection::FindSegment(int64, [out] int64&, [out] class [Bless.Util]Bless.Util.List`1/Node&) + IL_000b: stloc.2 + IL_000c: ldloc.2 + IL_000d: brtrue IL_007e + + IL_0012: ldloc.1 + IL_0013: brtrue IL_0020 + + IL_0018: ldarg.2 + IL_0019: ldc.i4.0 + IL_001a: conv.i8 + IL_001b: beq IL_0039 + + IL_0020: ldloc.1 + IL_0021: brfalse IL_007d + + IL_0026: ldarg.2 + IL_0027: ldloc.0 + IL_0028: ldloc.1 + IL_0029: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_002e: callvirt instance int64 class Bless.Buffers.Segment::get_Size() + IL_0033: add + IL_0034: bne.un IL_007d + + IL_0039: ldarg.1 + IL_003a: callvirt instance class [Bless.Util]Bless.Util.List`1 class Bless.Buffers.SegmentCollection::get_List() + IL_003f: stloc.3 + IL_0040: ldloc.3 + IL_0041: callvirt instance int32 class [Bless.Util]Bless.Util.List`1::get_Count() + IL_0046: stloc.s 4 + IL_0048: ldloc.3 + IL_0049: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::get_First() + IL_004e: stloc.s 5 + IL_0050: ldc.i4.0 + IL_0051: stloc.s 6 + IL_0053: br IL_0074 + + IL_0058: ldarg.0 + IL_0059: ldloc.s 5 + IL_005b: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_0060: call instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) + IL_0065: ldloc.s 5 + IL_0067: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next + IL_006c: stloc.s 5 + IL_006e: ldloc.s 6 + IL_0070: ldc.i4.1 + IL_0071: add + IL_0072: stloc.s 6 + IL_0074: ldloc.s 6 + IL_0076: ldloc.s 4 + IL_0078: blt IL_0058 + + IL_007d: ret + IL_007e: ldloc.0 + IL_007f: ldarg.2 + IL_0080: bne.un IL_00db + + IL_0085: ldarg.1 + IL_0086: callvirt instance class [Bless.Util]Bless.Util.List`1 class Bless.Buffers.SegmentCollection::get_List() + IL_008b: stloc.s 7 + IL_008d: ldloc.s 7 + IL_008f: callvirt instance int32 class [Bless.Util]Bless.Util.List`1::get_Count() + IL_0094: stloc.s 8 + IL_0096: ldloc.s 7 + IL_0098: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::get_Last() + IL_009d: stloc.s 9 + IL_009f: ldc.i4.0 + IL_00a0: stloc.s 10 + IL_00a2: br IL_00c5 + + IL_00a7: ldarg.0 + IL_00a8: ldloc.1 + IL_00a9: ldloc.s 9 + IL_00ab: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_00b0: call instance class [Bless.Util]Bless.Util.List`1/Node class Bless.Buffers.SegmentCollection::InsertBefore(class [Bless.Util]Bless.Util.List`1/Node, class Bless.Buffers.Segment) + IL_00b5: stloc.1 + IL_00b6: ldloc.s 9 + IL_00b8: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev + IL_00bd: stloc.s 9 + IL_00bf: ldloc.s 10 + IL_00c1: ldc.i4.1 + IL_00c2: add + IL_00c3: stloc.s 10 + IL_00c5: ldloc.s 10 + IL_00c7: ldloc.s 8 + IL_00c9: blt IL_00a7 + + IL_00ce: ldarg.0 + IL_00cf: ldloc.1 + IL_00d0: ldloc.0 + IL_00d1: call instance void class Bless.Buffers.SegmentCollection::SetCache(class [Bless.Util]Bless.Util.List`1/Node, int64) + IL_00d6: br IL_013e + + IL_00db: ldloc.2 + IL_00dc: ldarg.2 + IL_00dd: ldloc.0 + IL_00de: sub + IL_00df: callvirt instance class Bless.Buffers.Segment class Bless.Buffers.Segment::SplitAt(int64) + IL_00e4: stloc.s 11 + IL_00e6: ldarg.0 + IL_00e7: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list + IL_00ec: ldloc.1 + IL_00ed: ldloc.s 11 + IL_00ef: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::InsertAfter(class [Bless.Util]Bless.Util.List`1/Node, !0) + IL_00f4: pop + IL_00f5: ldarg.1 + IL_00f6: callvirt instance class [Bless.Util]Bless.Util.List`1 class Bless.Buffers.SegmentCollection::get_List() + IL_00fb: stloc.s 12 + IL_00fd: ldloc.s 12 + IL_00ff: callvirt instance int32 class [Bless.Util]Bless.Util.List`1::get_Count() + IL_0104: stloc.s 13 + IL_0106: ldloc.s 12 + IL_0108: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::get_First() + IL_010d: stloc.s 14 + IL_010f: ldc.i4.0 + IL_0110: stloc.s 15 + IL_0112: br IL_0135 - // method line 21 - .method family virtual hidebysig - instance default bool UpdateProgress () cil managed - { - // Method begins at RVA 0x2288 - // Code size 38 (0x26) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0006: ldarg.0 - IL_0007: ldfld int64 Bless.Buffers.SaveAsOperation::bytesSaved - IL_000c: conv.r8 - IL_000d: ldarg.0 - IL_000e: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveAsOperation::byteBuffer - IL_0013: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_0018: conv.r8 - IL_0019: div - IL_001a: box [mscorlib]System.Double - IL_001f: ldc.i4.2 - IL_0020: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) - IL_0025: ret - } // end of method SaveAsOperation::UpdateProgress + IL_0117: ldarg.0 + IL_0118: ldloc.1 + IL_0119: ldloc.s 14 + IL_011b: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_0120: call instance class [Bless.Util]Bless.Util.List`1/Node class Bless.Buffers.SegmentCollection::InsertAfter(class [Bless.Util]Bless.Util.List`1/Node, class Bless.Buffers.Segment) + IL_0125: stloc.1 + IL_0126: ldloc.s 14 + IL_0128: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next + IL_012d: stloc.s 14 + IL_012f: ldloc.s 15 + IL_0131: ldc.i4.1 + IL_0132: add + IL_0133: stloc.s 15 + IL_0135: ldloc.s 15 + IL_0137: ldloc.s 13 + IL_0139: blt IL_0117 - // method line 22 - .method family virtual hidebysig - instance default bool EndProgress () cil managed - { - // Method begins at RVA 0x22af - // Code size 38 (0x26) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0006: ldarg.0 - IL_0007: ldfld int64 Bless.Buffers.SaveAsOperation::bytesSaved - IL_000c: conv.r8 - IL_000d: ldarg.0 - IL_000e: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveAsOperation::byteBuffer - IL_0013: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_0018: conv.r8 - IL_0019: div - IL_001a: box [mscorlib]System.Double - IL_001f: ldc.i4.5 - IL_0020: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) - IL_0025: ret - } // end of method SaveAsOperation::EndProgress + IL_013e: ret + } // end of method SegmentCollection::Insert - // method line 23 - .method family virtual hidebysig - instance default void DoOperation () cil managed + // method line 10 + .method public hidebysig + instance default class Bless.Buffers.SegmentCollection DeleteRange (int64 pos1, int64 pos2) cil managed { - // Method begins at RVA 0x22d8 - // Code size 416 (0x1a0) - .maxstack 6 + // Method begins at RVA 0x2428 + // Code size 492 (0x1ec) + .maxstack 4 .locals init ( - string V_0, - unsigned int8[] V_1, + int64 V_0, + int64 V_1, class [Bless.Util]Bless.Util.List`1/Node V_2, - class Bless.Buffers.Segment V_3, - int64 V_4, - int64 V_5, - int32 V_6, - int64 V_7) + class [Bless.Util]Bless.Util.List`1/Node V_3, + class Bless.Buffers.Segment V_4, + class Bless.Buffers.Segment V_5, + bool V_6, + class Bless.Buffers.Segment V_7, + class Bless.Buffers.Segment V_8, + class Bless.Buffers.Segment V_9, + class Bless.Buffers.SegmentCollection V_10, + class Bless.Buffers.Segment V_11, + class [Bless.Util]Bless.Util.List`1/Node V_12, + class Bless.Buffers.Segment V_13, + class Bless.Buffers.Segment V_14, + class Bless.Buffers.SegmentCollection V_15, + class [Bless.Util]Bless.Util.List`1/Node V_16) IL_0000: ldarg.0 - IL_0001: ldc.i4.0 - IL_0002: stfld valuetype Bless.Buffers.SaveAsOperation/SaveAsStage Bless.Buffers.SaveAsOperation::stageReached - IL_0007: ldarg.0 - IL_0008: ldarg.0 - IL_0009: ldfld string Bless.Buffers.SaveAsOperation::savePath - IL_000e: call string class [mscorlib]System.IO.Path::GetDirectoryName(string) - IL_0013: ldc.i4.0 - IL_0014: conv.i8 - IL_0015: call instance bool class Bless.Buffers.SaveAsOperation::CheckFreeSpace(string, int64) - IL_001a: brtrue IL_003c + IL_0001: ldarg.2 + IL_0002: ldloca.s 1 + IL_0004: ldloca.s 3 + IL_0006: call instance class Bless.Buffers.Segment class Bless.Buffers.SegmentCollection::FindSegment(int64, [out] int64&, [out] class [Bless.Util]Bless.Util.List`1/Node&) + IL_000b: stloc.s 4 + IL_000d: ldarg.0 + IL_000e: ldarg.1 + IL_000f: ldloca.s 0 + IL_0011: ldloca.s 2 + IL_0013: call instance class Bless.Buffers.Segment class Bless.Buffers.SegmentCollection::FindSegment(int64, [out] int64&, [out] class [Bless.Util]Bless.Util.List`1/Node&) + IL_0018: stloc.s 5 + IL_001a: ldloc.s 5 + IL_001c: brfalse IL_0028 - IL_001f: ldstr "There is not enough free space on the device to save file '{0}'." - IL_0024: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) - IL_0029: ldarg.0 - IL_002a: ldfld string Bless.Buffers.SaveAsOperation::savePath - IL_002f: call string string::Format(string, object) - IL_0034: stloc.0 - IL_0035: ldloc.0 - IL_0036: newobj instance void class [mscorlib]System.IO.IOException::'.ctor'(string) - IL_003b: throw - IL_003c: ldarg.0 - IL_003d: ldarg.0 - IL_003e: ldfld string Bless.Buffers.SaveAsOperation::savePath - IL_0043: ldc.i4.6 - IL_0044: ldc.i4.2 - IL_0045: newobj instance void class [mscorlib]System.IO.FileStream::'.ctor'(string, valuetype [mscorlib]System.IO.FileMode, valuetype [mscorlib]System.IO.FileAccess) - IL_004a: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs - IL_004f: ldarg.0 - IL_0050: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs - IL_0055: callvirt instance void class [mscorlib]System.IO.Stream::Close() - IL_005a: ldarg.0 - IL_005b: ldarg.0 - IL_005c: ldfld string Bless.Buffers.SaveAsOperation::savePath - IL_0061: ldc.i4.2 - IL_0062: ldc.i4.2 - IL_0063: newobj instance void class [mscorlib]System.IO.FileStream::'.ctor'(string, valuetype [mscorlib]System.IO.FileMode, valuetype [mscorlib]System.IO.FileAccess) - IL_0068: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs - IL_006d: ldarg.0 - IL_006e: ldc.i4.1 - IL_006f: stfld valuetype Bless.Buffers.SaveAsOperation/SaveAsStage Bless.Buffers.SaveAsOperation::stageReached - IL_0074: ldc.i4 65535 - IL_0079: newarr [mscorlib]System.Byte - IL_007e: stloc.1 - IL_007f: ldarg.0 - IL_0080: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveAsOperation::byteBuffer - IL_0085: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.ByteBuffer::segCol - IL_008a: callvirt instance class [Bless.Util]Bless.Util.List`1 class Bless.Buffers.SegmentCollection::get_List() - IL_008f: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::get_First() - IL_0094: stloc.2 - IL_0095: br IL_017c + IL_0021: ldloc.s 4 + IL_0023: brtrue IL_002a - IL_009a: ldloc.2 - IL_009b: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_00a0: stloc.3 - IL_00a1: ldloc.3 - IL_00a2: callvirt instance int64 class Bless.Buffers.Segment::get_Size() - IL_00a7: stloc.s 4 - IL_00a9: ldloc.s 4 - IL_00ab: ldc.i4 65535 - IL_00b0: conv.i8 - IL_00b1: div - IL_00b2: stloc.s 5 - IL_00b4: ldloc.s 4 - IL_00b6: ldc.i4 65535 - IL_00bb: conv.i8 - IL_00bc: rem - IL_00bd: conv.i4 - IL_00be: stloc.s 6 - IL_00c0: ldc.i4.0 - IL_00c1: conv.i8 - IL_00c2: stloc.s 7 - IL_00c4: br IL_0129 + IL_0028: ldnull + IL_0029: ret + IL_002a: ldloc.2 + IL_002b: ldloc.3 + IL_002c: call bool object::ReferenceEquals(object, object) + IL_0031: brfalse IL_00f3 - IL_00c9: ldloc.3 - IL_00ca: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_00cf: ldloc.1 - IL_00d0: ldc.i4.0 - IL_00d1: conv.i8 - IL_00d2: ldloc.3 - IL_00d3: callvirt instance int64 class Bless.Buffers.Segment::get_Start() - IL_00d8: ldloc.s 7 - IL_00da: ldc.i4 65535 - IL_00df: conv.i8 - IL_00e0: mul - IL_00e1: add - IL_00e2: ldc.i4 65535 - IL_00e7: conv.i8 - IL_00e8: callvirt instance int64 class Bless.Buffers.IBuffer::Read(unsigned int8[], int64, int64, int64) - IL_00ed: pop - IL_00ee: ldarg.0 - IL_00ef: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs - IL_00f4: ldloc.1 - IL_00f5: ldc.i4.0 - IL_00f6: ldc.i4 65535 - IL_00fb: callvirt instance void class [mscorlib]System.IO.Stream::Write(unsigned int8[], int32, int32) - IL_0100: ldarg.0 - IL_0101: ldloc.s 7 - IL_0103: ldc.i4.1 - IL_0104: conv.i8 - IL_0105: add - IL_0106: ldc.i4 65535 - IL_010b: conv.i8 - IL_010c: mul - IL_010d: stfld int64 Bless.Buffers.SaveAsOperation::bytesSaved - IL_0112: ldarg.0 - IL_0113: ldfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled - IL_0118: brfalse IL_0122 + IL_0036: ldc.i4.0 + IL_0037: stloc.s 6 + IL_0039: ldloc.s 5 + IL_003b: ldarg.1 + IL_003c: ldloc.0 + IL_003d: sub + IL_003e: callvirt instance class Bless.Buffers.Segment class Bless.Buffers.Segment::SplitAt(int64) + IL_0043: stloc.s 7 + IL_0045: ldloc.s 7 + IL_0047: brtrue IL_0053 + + IL_004c: ldloc.s 5 + IL_004e: stloc.s 7 + IL_0050: ldc.i4.1 + IL_0051: stloc.s 6 + IL_0053: ldloc.s 7 + IL_0055: ldarg.2 + IL_0056: ldarg.1 + IL_0057: sub + IL_0058: ldc.i4.1 + IL_0059: conv.i8 + IL_005a: add + IL_005b: callvirt instance class Bless.Buffers.Segment class Bless.Buffers.Segment::SplitAt(int64) + IL_0060: stloc.s 8 + IL_0062: ldloc.s 8 + IL_0064: brfalse IL_0078 - IL_011d: br IL_0132 + IL_0069: ldarg.0 + IL_006a: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list + IL_006f: ldloc.2 + IL_0070: ldloc.s 8 + IL_0072: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::InsertAfter(class [Bless.Util]Bless.Util.List`1/Node, !0) + IL_0077: pop + IL_0078: ldloc.s 6 + IL_007a: brfalse IL_00e0 - IL_0122: ldloc.s 7 - IL_0124: ldc.i4.1 - IL_0125: conv.i8 - IL_0126: add - IL_0127: stloc.s 7 - IL_0129: ldloc.s 7 - IL_012b: ldloc.s 5 - IL_012d: blt IL_00c9 + IL_007f: ldloc.2 + IL_0080: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next + IL_0085: brfalse IL_009c - IL_0132: ldloc.s 6 - IL_0134: brfalse IL_0175 + IL_008a: ldarg.0 + IL_008b: ldloc.2 + IL_008c: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next + IL_0091: ldloc.0 + IL_0092: call instance void class Bless.Buffers.SegmentCollection::SetCache(class [Bless.Util]Bless.Util.List`1/Node, int64) + IL_0097: br IL_00d4 - IL_0139: ldarg.0 - IL_013a: ldfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled - IL_013f: brtrue IL_0175 + IL_009c: ldloc.2 + IL_009d: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev + IL_00a2: brfalse IL_00ce - IL_0144: ldloc.3 - IL_0145: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_014a: ldloc.1 - IL_014b: ldc.i4.0 - IL_014c: conv.i8 - IL_014d: ldloc.3 - IL_014e: callvirt instance int64 class Bless.Buffers.Segment::get_Start() - IL_0153: ldloc.s 7 - IL_0155: ldc.i4 65535 - IL_015a: conv.i8 - IL_015b: mul - IL_015c: add - IL_015d: ldloc.s 6 - IL_015f: conv.i8 - IL_0160: callvirt instance int64 class Bless.Buffers.IBuffer::Read(unsigned int8[], int64, int64, int64) - IL_0165: pop - IL_0166: ldarg.0 - IL_0167: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs - IL_016c: ldloc.1 - IL_016d: ldc.i4.0 - IL_016e: ldloc.s 6 - IL_0170: callvirt instance void class [mscorlib]System.IO.Stream::Write(unsigned int8[], int32, int32) - IL_0175: ldloc.2 - IL_0176: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next - IL_017b: stloc.2 - IL_017c: ldloc.2 - IL_017d: brfalse IL_018d + IL_00a7: ldloc.2 + IL_00a8: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev + IL_00ad: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_00b2: stloc.s 9 + IL_00b4: ldarg.0 + IL_00b5: ldloc.2 + IL_00b6: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev + IL_00bb: ldloc.0 + IL_00bc: ldloc.s 9 + IL_00be: callvirt instance int64 class Bless.Buffers.Segment::get_Size() + IL_00c3: sub + IL_00c4: call instance void class Bless.Buffers.SegmentCollection::SetCache(class [Bless.Util]Bless.Util.List`1/Node, int64) + IL_00c9: br IL_00d4 - IL_0182: ldarg.0 - IL_0183: ldfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled - IL_0188: brfalse IL_009a + IL_00ce: ldarg.0 + IL_00cf: call instance void class Bless.Buffers.SegmentCollection::InvalidateCache() + IL_00d4: ldarg.0 + IL_00d5: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list + IL_00da: ldloc.2 + IL_00db: callvirt instance void class [Bless.Util]Bless.Util.List`1::Remove(class [Bless.Util]Bless.Util.List`1/Node) + IL_00e0: newobj instance void class Bless.Buffers.SegmentCollection::'.ctor'() + IL_00e5: stloc.s 10 + IL_00e7: ldloc.s 10 + IL_00e9: ldloc.s 7 + IL_00eb: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) + IL_00f0: ldloc.s 10 + IL_00f2: ret + IL_00f3: ldloc.s 4 + IL_00f5: ldarg.2 + IL_00f6: ldloc.1 + IL_00f7: sub + IL_00f8: ldc.i4.1 + IL_00f9: conv.i8 + IL_00fa: add + IL_00fb: callvirt instance class Bless.Buffers.Segment class Bless.Buffers.Segment::SplitAt(int64) + IL_0100: stloc.s 11 + IL_0102: ldloc.s 11 + IL_0104: brtrue IL_0112 - IL_018d: ldarg.0 - IL_018e: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs - IL_0193: callvirt instance void class [mscorlib]System.IO.Stream::Close() - IL_0198: ldarg.0 - IL_0199: ldnull - IL_019a: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs - IL_019f: ret - } // end of method SaveAsOperation::DoOperation + IL_0109: ldloc.s 4 + IL_010b: stloc.s 11 + IL_010d: br IL_0121 - // method line 24 - .method family virtual hidebysig - instance default void EndOperation () cil managed - { - // Method begins at RVA 0x2484 - // Code size 30 (0x1e) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs - IL_0006: brfalse IL_001d + IL_0112: ldarg.0 + IL_0113: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list + IL_0118: ldloc.3 + IL_0119: ldloc.s 11 + IL_011b: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::InsertAfter(class [Bless.Util]Bless.Util.List`1/Node, !0) + IL_0120: pop + IL_0121: ldloc.2 + IL_0122: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next + IL_0127: stloc.s 12 + IL_0129: ldloc.s 5 + IL_012b: ldarg.1 + IL_012c: ldloc.0 + IL_012d: sub + IL_012e: callvirt instance class Bless.Buffers.Segment class Bless.Buffers.Segment::SplitAt(int64) + IL_0133: stloc.s 13 + IL_0135: ldloc.s 13 + IL_0137: brtrue IL_0184 - IL_000b: ldarg.0 - IL_000c: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs - IL_0011: callvirt instance void class [mscorlib]System.IO.Stream::Close() - IL_0016: ldarg.0 - IL_0017: ldnull - IL_0018: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs - IL_001d: ret - } // end of method SaveAsOperation::EndOperation + IL_013c: ldloc.s 5 + IL_013e: stloc.s 13 + IL_0140: ldloc.2 + IL_0141: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev + IL_0146: brfalse IL_0172 - // method line 25 - .method private final virtual hidebysig newslot strict - instance default valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Buffers.ISaveState.get_Result () cil managed - { - // Method begins at RVA 0x24a3 - .override Could not decode method override class Bless.Buffers.ISaveState::get_Result due to (null) - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_Result() - IL_0006: ret - } // end of method SaveAsOperation::Bless.Buffers.ISaveState.get_Result + IL_014b: ldloc.2 + IL_014c: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev + IL_0151: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_0156: stloc.s 14 + IL_0158: ldarg.0 + IL_0159: ldloc.2 + IL_015a: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev + IL_015f: ldloc.0 + IL_0160: ldloc.s 14 + IL_0162: callvirt instance int64 class Bless.Buffers.Segment::get_Size() + IL_0167: sub + IL_0168: call instance void class Bless.Buffers.SegmentCollection::SetCache(class [Bless.Util]Bless.Util.List`1/Node, int64) + IL_016d: br IL_0178 - // method line 26 - .method private final virtual hidebysig newslot strict - instance default class [mscorlib]System.Exception Bless.Buffers.ISaveState.get_ThreadException () cil managed - { - // Method begins at RVA 0x24ab - .override Could not decode method override class Bless.Buffers.ISaveState::get_ThreadException due to (null) - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance class [mscorlib]System.Exception class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_ThreadException() - IL_0006: ret - } // end of method SaveAsOperation::Bless.Buffers.ISaveState.get_ThreadException + IL_0172: ldarg.0 + IL_0173: call instance void class Bless.Buffers.SegmentCollection::InvalidateCache() + IL_0178: ldarg.0 + IL_0179: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list + IL_017e: ldloc.2 + IL_017f: callvirt instance void class [Bless.Util]Bless.Util.List`1::Remove(class [Bless.Util]Bless.Util.List`1/Node) + IL_0184: newobj instance void class Bless.Buffers.SegmentCollection::'.ctor'() + IL_0189: stloc.s 15 + IL_018b: ldloc.s 15 + IL_018d: ldloc.s 13 + IL_018f: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) + IL_0194: br IL_01c1 - .property instance class Bless.Buffers.ByteBuffer Buffer () - { - .get instance default class Bless.Buffers.ByteBuffer Bless.Buffers.SaveAsOperation::get_Buffer () - } - .property instance string SavePath () - { - .get instance default string Bless.Buffers.SaveAsOperation::get_SavePath () - .set instance default void Bless.Buffers.SaveAsOperation::set_SavePath (string 'value') - } - .property instance int64 BytesSaved () - { - .get instance default int64 Bless.Buffers.SaveAsOperation::get_BytesSaved () - } - .property instance valuetype Bless.Buffers.SaveAsOperation/SaveAsStage StageReached () - { - .get instance default valuetype Bless.Buffers.SaveAsOperation/SaveAsStage Bless.Buffers.SaveAsOperation::get_StageReached () - } - .class nested public auto ansi sealed SaveAsStage - extends [mscorlib]System.Enum - { - .field public specialname rtspecialname int32 value__ - .field public static literal valuetype Bless.Buffers.SaveAsOperation/SaveAsStage BeforeCreate = int32(0x00000000) - .field public static literal valuetype Bless.Buffers.SaveAsOperation/SaveAsStage BeforeWrite = int32(0x00000001) + IL_0199: ldloc.s 15 + IL_019b: ldloc.s 12 + IL_019d: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_01a2: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) + IL_01a7: ldloc.s 12 + IL_01a9: stloc.s 16 + IL_01ab: ldloc.s 12 + IL_01ad: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next + IL_01b2: stloc.s 12 + IL_01b4: ldarg.0 + IL_01b5: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list + IL_01ba: ldloc.s 16 + IL_01bc: callvirt instance void class [Bless.Util]Bless.Util.List`1::Remove(class [Bless.Util]Bless.Util.List`1/Node) + IL_01c1: ldloc.s 12 + IL_01c3: ldloc.3 + IL_01c4: call bool object::ReferenceEquals(object, object) + IL_01c9: brfalse IL_0199 - } // end of class SaveAsStage + IL_01ce: ldarg.0 + IL_01cf: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list + IL_01d4: ldloc.s 12 + IL_01d6: callvirt instance void class [Bless.Util]Bless.Util.List`1::Remove(class [Bless.Util]Bless.Util.List`1/Node) + IL_01db: ldloc.s 15 + IL_01dd: ldloc.s 12 + IL_01df: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_01e4: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) + IL_01e9: ldloc.s 15 + IL_01eb: ret + } // end of method SegmentCollection::DeleteRange - } // end of class Bless.Buffers.SaveAsOperation -} + // method line 11 + .method public hidebysig + instance default class Bless.Buffers.SegmentCollection GetRange (int64 pos1, int64 pos2) cil managed + { + // Method begins at RVA 0x2620 + // Code size 284 (0x11c) + .maxstack 4 + .locals init ( + int64 V_0, + int64 V_1, + class [Bless.Util]Bless.Util.List`1/Node V_2, + class [Bless.Util]Bless.Util.List`1/Node V_3, + class Bless.Buffers.Segment V_4, + class Bless.Buffers.Segment V_5, + class Bless.Buffers.SegmentCollection V_6, + class Bless.Buffers.Segment V_7, + class Bless.Buffers.Segment V_8, + class Bless.Buffers.Segment V_9, + class Bless.Buffers.SegmentCollection V_10, + class [Bless.Util]Bless.Util.List`1/Node V_11) + IL_0000: ldarg.0 + IL_0001: ldarg.2 + IL_0002: ldloca.s 1 + IL_0004: ldloca.s 3 + IL_0006: call instance class Bless.Buffers.Segment class Bless.Buffers.SegmentCollection::FindSegment(int64, [out] int64&, [out] class [Bless.Util]Bless.Util.List`1/Node&) + IL_000b: stloc.s 4 + IL_000d: ldarg.0 + IL_000e: ldarg.1 + IL_000f: ldloca.s 0 + IL_0011: ldloca.s 2 + IL_0013: call instance class Bless.Buffers.Segment class Bless.Buffers.SegmentCollection::FindSegment(int64, [out] int64&, [out] class [Bless.Util]Bless.Util.List`1/Node&) + IL_0018: stloc.s 5 + IL_001a: ldloc.s 5 + IL_001c: brfalse IL_0028 -.namespace Bless.Buffers -{ - .class interface public auto ansi abstract ISaveState - { + IL_0021: ldloc.s 4 + IL_0023: brtrue IL_002a - // method line 27 - .method public virtual hidebysig newslot abstract specialname - instance default valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult get_Result () cil managed - { - // Method begins at RVA 0x0 - } // end of method ISaveState::get_Result + IL_0028: ldnull + IL_0029: ret + IL_002a: ldloc.2 + IL_002b: ldloc.3 + IL_002c: call bool object::ReferenceEquals(object, object) + IL_0031: brfalse IL_006d - // method line 28 - .method public virtual hidebysig newslot abstract specialname - instance default string get_SavePath () cil managed - { - // Method begins at RVA 0x0 - } // end of method ISaveState::get_SavePath + IL_0036: newobj instance void class Bless.Buffers.SegmentCollection::'.ctor'() + IL_003b: stloc.s 6 + IL_003d: ldloc.s 5 + IL_003f: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_0044: ldarg.1 + IL_0045: ldloc.0 + IL_0046: sub + IL_0047: ldloc.s 5 + IL_0049: callvirt instance int64 class Bless.Buffers.Segment::get_Start() + IL_004e: add + IL_004f: ldarg.2 + IL_0050: ldloc.0 + IL_0051: sub + IL_0052: ldloc.s 5 + IL_0054: callvirt instance int64 class Bless.Buffers.Segment::get_Start() + IL_0059: add + IL_005a: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) + IL_005f: stloc.s 7 + IL_0061: ldloc.s 6 + IL_0063: ldloc.s 7 + IL_0065: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) + IL_006a: ldloc.s 6 + IL_006c: ret + IL_006d: ldloc.s 4 + IL_006f: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_0074: ldloc.s 4 + IL_0076: callvirt instance int64 class Bless.Buffers.Segment::get_Start() + IL_007b: ldarg.2 + IL_007c: ldloc.1 + IL_007d: sub + IL_007e: ldloc.s 4 + IL_0080: callvirt instance int64 class Bless.Buffers.Segment::get_Start() + IL_0085: add + IL_0086: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) + IL_008b: stloc.s 8 + IL_008d: ldloc.s 5 + IL_008f: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_0094: ldarg.1 + IL_0095: ldloc.0 + IL_0096: sub + IL_0097: ldloc.s 5 + IL_0099: callvirt instance int64 class Bless.Buffers.Segment::get_Start() + IL_009e: add + IL_009f: ldloc.s 5 + IL_00a1: callvirt instance int64 class Bless.Buffers.Segment::get_End() + IL_00a6: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) + IL_00ab: stloc.s 9 + IL_00ad: newobj instance void class Bless.Buffers.SegmentCollection::'.ctor'() + IL_00b2: stloc.s 10 + IL_00b4: ldloc.s 10 + IL_00b6: ldloc.s 9 + IL_00b8: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) + IL_00bd: ldloc.2 + IL_00be: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next + IL_00c3: stloc.s 11 + IL_00c5: br IL_0103 - // method line 29 - .method public virtual hidebysig newslot abstract specialname - instance default class Bless.Buffers.ByteBuffer get_Buffer () cil managed - { - // Method begins at RVA 0x0 - } // end of method ISaveState::get_Buffer + IL_00ca: ldloc.s 10 + IL_00cc: ldloc.s 11 + IL_00ce: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_00d3: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_00d8: ldloc.s 11 + IL_00da: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_00df: callvirt instance int64 class Bless.Buffers.Segment::get_Start() + IL_00e4: ldloc.s 11 + IL_00e6: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_00eb: callvirt instance int64 class Bless.Buffers.Segment::get_End() + IL_00f0: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) + IL_00f5: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) + IL_00fa: ldloc.s 11 + IL_00fc: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next + IL_0101: stloc.s 11 + IL_0103: ldloc.s 11 + IL_0105: ldloc.3 + IL_0106: call bool object::ReferenceEquals(object, object) + IL_010b: brfalse IL_00ca - // method line 30 - .method public virtual hidebysig newslot abstract specialname - instance default class [mscorlib]System.Exception get_ThreadException () cil managed - { - // Method begins at RVA 0x0 - } // end of method ISaveState::get_ThreadException + IL_0110: ldloc.s 10 + IL_0112: ldloc.s 8 + IL_0114: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) + IL_0119: ldloc.s 10 + IL_011b: ret + } // end of method SegmentCollection::GetRange - .property instance valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult Result () - { - .get instance default valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Buffers.ISaveState::get_Result () - } - .property instance string SavePath () - { - .get instance default string Bless.Buffers.ISaveState::get_SavePath () - } - .property instance class Bless.Buffers.ByteBuffer Buffer () - { - .get instance default class Bless.Buffers.ByteBuffer Bless.Buffers.ISaveState::get_Buffer () - } - .property instance class [mscorlib]System.Exception ThreadException () + .property instance class [Bless.Util]Bless.Util.List`1 List () { - .get instance default class [mscorlib]System.Exception Bless.Buffers.ISaveState::get_ThreadException () + .get instance default class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::get_List () } - } // end of class Bless.Buffers.ISaveState + } // end of class Bless.Buffers.SegmentCollection } .namespace Bless.Buffers { - .class public auto ansi beforefieldinit SaveOperation - extends [Bless.Util]Bless.Util.ThreadedAsyncOperation - implements Bless.Buffers.ISaveState { - .field family class Bless.Buffers.ByteBuffer byteBuffer - .field family int64 bytesSaved - .field family string savePath - .field private string tempPath - .field private valuetype Bless.Buffers.SaveOperation/SaveStage stageReached - - // method line 31 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' (class Bless.Buffers.ByteBuffer bb, string tempFilename, class [Bless.Util]Bless.Util.ProgressCallback pc, class [mscorlib]System.AsyncCallback ac, bool glibIdle) cil managed - { - // Method begins at RVA 0x24b3 - // Code size 58 (0x3a) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.3 - IL_0002: ldarg.s 4 - IL_0004: ldarg.s 5 - IL_0006: call instance void class [Bless.Util]Bless.Util.ThreadedAsyncOperation::'.ctor'(class [Bless.Util]Bless.Util.ProgressCallback, class [mscorlib]System.AsyncCallback, bool) - IL_000b: ldarg.0 - IL_000c: ldarg.1 - IL_000d: stfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer - IL_0012: ldarg.0 - IL_0013: ldarg.0 - IL_0014: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer - IL_0019: callvirt instance string class Bless.Buffers.ByteBuffer::get_Filename() - IL_001e: stfld string Bless.Buffers.SaveOperation::savePath - IL_0023: ldarg.0 - IL_0024: ldarg.2 - IL_0025: stfld string Bless.Buffers.SaveOperation::tempPath - IL_002a: ldarg.0 - IL_002b: ldc.i4.0 - IL_002c: conv.i8 - IL_002d: stfld int64 Bless.Buffers.SaveOperation::bytesSaved - IL_0032: ldarg.0 - IL_0033: ldc.i4.0 - IL_0034: stfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::activateProgress - IL_0039: ret - } // end of method SaveOperation::.ctor - - // method line 32 - .method public final virtual hidebysig newslot specialname - instance default class Bless.Buffers.ByteBuffer get_Buffer () cil managed - { - // Method begins at RVA 0x24ee - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer - IL_0006: ret - } // end of method SaveOperation::get_Buffer + .class public auto ansi beforefieldinit FileBuffer + extends Bless.Buffers.BaseBuffer + { + .custom instance void class [mscorlib]System.Reflection.DefaultMemberAttribute::'.ctor'(string) = (01 00 04 49 74 65 6D 00 00 ) // ...Item.. - // method line 33 - .method public final virtual hidebysig newslot specialname - instance default string get_SavePath () cil managed - { - // Method begins at RVA 0x24f6 - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld string Bless.Buffers.SaveOperation::savePath - IL_0006: ret - } // end of method SaveOperation::get_SavePath + .field private static literal unsigned int32 BLKGETSIZE64 = int32(0x80041272) + .field private int64 winOffset + .field private int32 winOccupied + .field private unsigned int8[] window + .field private bool isResizable + .field private class [mscorlib]System.IO.BinaryReader reader + .field private int64 FileLength + .field private static literal int32 default_size = int32(0x00001000) - // method line 34 - .method public hidebysig specialname - instance default void set_SavePath (string 'value') cil managed + // method line 12 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (string fn) cil managed { - // Method begins at RVA 0x24fe - // Code size 8 (0x8) + // Method begins at RVA 0x2788 + // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld string Bless.Buffers.SaveOperation::savePath - IL_0007: ret - } // end of method SaveOperation::set_SavePath + IL_0002: ldc.i4 4096 + IL_0007: call instance void class Bless.Buffers.FileBuffer::'.ctor'(string, int32) + IL_000c: ret + } // end of method FileBuffer::.ctor - // method line 35 - .method public hidebysig specialname - instance default int64 get_BytesSaved () cil managed + // method line 13 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (string fn, int32 size) cil managed { - // Method begins at RVA 0x2507 - // Code size 7 (0x7) + // Method begins at RVA 0x2796 + // Code size 26 (0x1a) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int64 Bless.Buffers.SaveOperation::bytesSaved - IL_0006: ret - } // end of method SaveOperation::get_BytesSaved + IL_0001: call instance void class Bless.Buffers.BaseBuffer::'.ctor'() + IL_0006: ldarg.0 + IL_0007: ldarg.2 + IL_0008: newarr [mscorlib]System.Byte + IL_000d: stfld unsigned int8[] Bless.Buffers.FileBuffer::window + IL_0012: ldarg.0 + IL_0013: ldarg.1 + IL_0014: call instance void class Bless.Buffers.FileBuffer::Load(string) + IL_0019: ret + } // end of method FileBuffer::.ctor - // method line 36 - .method public hidebysig specialname - instance default string get_TempPath () cil managed + // method line 14 + .method private static hidebysig pinvokeimpl ("libc" as "ioctl" winapi lasterr ) + default int32 ioctl (int32 fd, unsigned int32 'request', int64& size) cil managed preservesig { - // Method begins at RVA 0x250f - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld string Bless.Buffers.SaveOperation::tempPath - IL_0006: ret - } // end of method SaveOperation::get_TempPath + // Method begins at RVA 0x0 + } // end of method FileBuffer::ioctl - // method line 37 - .method public hidebysig specialname - instance default valuetype Bless.Buffers.SaveOperation/SaveStage get_StageReached () cil managed + // method line 15 + .method private hidebysig + instance default bool InWindow (int64 pos) cil managed { - // Method begins at RVA 0x2517 - // Code size 7 (0x7) + // Method begins at RVA 0x27b1 + // Code size 33 (0x21) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld valuetype Bless.Buffers.SaveOperation/SaveStage Bless.Buffers.SaveOperation::stageReached - IL_0006: ret - } // end of method SaveOperation::get_StageReached - - // method line 38 - .method family hidebysig - instance default bool CheckFreeSpace (string path, int64 extraSpace) cil managed - { - // Method begins at RVA 0x2520 - // Code size 42 (0x2a) - .maxstack 2 - .locals init ( - int64 V_0, - bool V_1) - .try { // 0 - IL_0000: ldarg.1 - IL_0001: call int64 class [Bless.Util]Portable::GetAvailableDiskSpace(string) - IL_0006: stloc.0 - IL_0007: ldloc.0 - IL_0008: ldarg.2 - IL_0009: add - IL_000a: ldarg.0 - IL_000b: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer - IL_0010: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_0015: clt - IL_0017: ldc.i4.0 - IL_0018: ceq - IL_001a: stloc.1 - IL_001b: leave IL_0028 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld int64 Bless.Buffers.FileBuffer::winOffset + IL_0007: blt IL_001f - } // end .try 0 - catch class [mscorlib]System.NotImplementedException { // 0 - IL_0020: pop - IL_0021: ldc.i4.1 - IL_0022: stloc.1 - IL_0023: leave IL_0028 + IL_000c: ldarg.1 + IL_000d: ldarg.0 + IL_000e: ldfld int64 Bless.Buffers.FileBuffer::winOffset + IL_0013: ldarg.0 + IL_0014: ldfld int32 Bless.Buffers.FileBuffer::winOccupied + IL_0019: conv.i8 + IL_001a: add + IL_001b: clt + IL_001d: br.s IL_0020 - } // end handler 0 - IL_0028: ldloc.1 - IL_0029: ret - } // end of method SaveOperation::CheckFreeSpace + IL_001f: ldc.i4.0 + IL_0020: ret + } // end of method FileBuffer::InWindow - // method line 39 - .method family virtual hidebysig - instance default bool StartProgress () cil managed + // method line 16 + .method public virtual hidebysig + instance default int64 Read (unsigned int8[] ba, int64 index, int64 pos, int64 len) cil managed { - // Method begins at RVA 0x2568 - // Code size 78 (0x4e) + // Method begins at RVA 0x27d4 + // Code size 91 (0x5b) .maxstack 4 - IL_0000: ldarg.0 - IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0006: ldstr "Moving '{0}' to '{1}'" - IL_000b: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) - IL_0010: ldarg.0 - IL_0011: ldfld string Bless.Buffers.SaveOperation::tempPath - IL_0016: ldarg.0 - IL_0017: ldfld string Bless.Buffers.SaveOperation::savePath - IL_001c: call string string::Format(string, object, object) - IL_0021: ldc.i4.3 - IL_0022: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) - IL_0027: pop - IL_0028: ldarg.0 - IL_0029: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback - IL_002e: ldarg.0 - IL_002f: ldfld int64 Bless.Buffers.SaveOperation::bytesSaved - IL_0034: conv.r8 - IL_0035: ldarg.0 - IL_0036: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer - IL_003b: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_0040: conv.r8 - IL_0041: div - IL_0042: box [mscorlib]System.Double - IL_0047: ldc.i4.0 - IL_0048: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) - IL_004d: ret - } // end of method SaveOperation::StartProgress + IL_0000: ldarg.3 + IL_0001: ldarg.0 + IL_0002: ldfld int64 Bless.Buffers.FileBuffer::FileLength + IL_0007: bge IL_0014 - // method line 40 - .method family virtual hidebysig - instance default bool UpdateProgress () cil managed + IL_000c: ldarg.3 + IL_000d: ldc.i4.0 + IL_000e: conv.i8 + IL_000f: bge IL_0017 + + IL_0014: ldc.i4.0 + IL_0015: conv.i8 + IL_0016: ret + IL_0017: ldarg.3 + IL_0018: ldarg.s 4 + IL_001a: add + IL_001b: ldarg.0 + IL_001c: ldfld int64 Bless.Buffers.FileBuffer::FileLength + IL_0021: ble IL_0033 + + IL_0026: ldarg.0 + IL_0027: ldfld int64 Bless.Buffers.FileBuffer::FileLength + IL_002c: ldarg.3 + IL_002d: sub + IL_002e: ldc.i4.1 + IL_002f: conv.i8 + IL_0030: add + IL_0031: starg.s 4 + IL_0033: ldarg.0 + IL_0034: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader + IL_0039: callvirt instance class [mscorlib]System.IO.Stream class [mscorlib]System.IO.BinaryReader::get_BaseStream() + IL_003e: ldarg.3 + IL_003f: ldc.i4.0 + IL_0040: callvirt instance int64 class [mscorlib]System.IO.Stream::Seek(int64, valuetype [mscorlib]System.IO.SeekOrigin) + IL_0045: pop + IL_0046: ldarg.0 + IL_0047: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader + IL_004c: ldarg.1 + IL_004d: ldarg.2 + IL_004e: conv.i4 + IL_004f: ldarg.s 4 + IL_0051: conv.i4 + IL_0052: callvirt instance int32 class [mscorlib]System.IO.BinaryReader::Read(unsigned int8[], int32, int32) + IL_0057: pop + IL_0058: ldarg.s 4 + IL_005a: ret + } // end of method FileBuffer::Read + + // method line 17 + .method public virtual hidebysig specialname + instance default void set_Item (int64 index, unsigned int8 'value') cil managed { - // Method begins at RVA 0x25c2 - // Code size 38 (0x26) + // Method begins at RVA 0x283b + // Code size 1 (0x1) .maxstack 8 + IL_0000: ret + } // end of method FileBuffer::set_Item + + // method line 18 + .method public virtual hidebysig specialname + instance default unsigned int8 get_Item (int64 index) cil managed + { + // Method begins at RVA 0x2840 + // Code size 143 (0x8f) + .maxstack 5 IL_0000: ldarg.0 - IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0006: ldarg.0 - IL_0007: ldfld int64 Bless.Buffers.SaveOperation::bytesSaved - IL_000c: conv.r8 + IL_0001: ldarg.1 + IL_0002: call instance bool class Bless.Buffers.FileBuffer::InWindow(int64) + IL_0007: brtrue IL_007e + + IL_000c: ldarg.1 IL_000d: ldarg.0 - IL_000e: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer - IL_0013: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_0018: conv.r8 - IL_0019: div - IL_001a: box [mscorlib]System.Double - IL_001f: ldc.i4.2 - IL_0020: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) - IL_0025: ret - } // end of method SaveOperation::UpdateProgress + IL_000e: ldfld int64 Bless.Buffers.FileBuffer::FileLength + IL_0013: blt IL_001e + + IL_0018: newobj instance void class [mscorlib]System.IndexOutOfRangeException::'.ctor'() + IL_001d: throw + IL_001e: ldarg.0 + IL_001f: ldarg.1 + IL_0020: ldarg.0 + IL_0021: ldfld unsigned int8[] Bless.Buffers.FileBuffer::window + IL_0026: ldlen + IL_0027: conv.i4 + IL_0028: ldc.i4.2 + IL_0029: div + IL_002a: conv.i8 + IL_002b: sub + IL_002c: stfld int64 Bless.Buffers.FileBuffer::winOffset + IL_0031: ldarg.0 + IL_0032: ldfld int64 Bless.Buffers.FileBuffer::winOffset + IL_0037: ldc.i4.0 + IL_0038: conv.i8 + IL_0039: bge IL_0046 + + IL_003e: ldarg.0 + IL_003f: ldc.i4.0 + IL_0040: conv.i8 + IL_0041: stfld int64 Bless.Buffers.FileBuffer::winOffset + IL_0046: ldarg.0 + IL_0047: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader + IL_004c: callvirt instance class [mscorlib]System.IO.Stream class [mscorlib]System.IO.BinaryReader::get_BaseStream() + IL_0051: ldarg.0 + IL_0052: ldfld int64 Bless.Buffers.FileBuffer::winOffset + IL_0057: ldc.i4.0 + IL_0058: callvirt instance int64 class [mscorlib]System.IO.Stream::Seek(int64, valuetype [mscorlib]System.IO.SeekOrigin) + IL_005d: pop + IL_005e: ldarg.0 + IL_005f: ldarg.0 + IL_0060: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader + IL_0065: ldarg.0 + IL_0066: ldfld unsigned int8[] Bless.Buffers.FileBuffer::window + IL_006b: ldc.i4.0 + IL_006c: ldarg.0 + IL_006d: ldfld unsigned int8[] Bless.Buffers.FileBuffer::window + IL_0072: ldlen + IL_0073: conv.i4 + IL_0074: callvirt instance int32 class [mscorlib]System.IO.BinaryReader::Read(unsigned int8[], int32, int32) + IL_0079: stfld int32 Bless.Buffers.FileBuffer::winOccupied + IL_007e: ldarg.0 + IL_007f: ldfld unsigned int8[] Bless.Buffers.FileBuffer::window + IL_0084: ldarg.1 + IL_0085: ldarg.0 + IL_0086: ldfld int64 Bless.Buffers.FileBuffer::winOffset + IL_008b: sub + IL_008c: conv.ovf.i + IL_008d: ldelem.u1 + IL_008e: ret + } // end of method FileBuffer::get_Item - // method line 41 - .method family virtual hidebysig - instance default bool EndProgress () cil managed + // method line 19 + .method public virtual hidebysig specialname + instance default int64 get_Size () cil managed { - // Method begins at RVA 0x25e9 - // Code size 38 (0x26) + // Method begins at RVA 0x28db + // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0006: ldarg.0 - IL_0007: ldfld int64 Bless.Buffers.SaveOperation::bytesSaved - IL_000c: conv.r8 - IL_000d: ldarg.0 - IL_000e: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer - IL_0013: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_0018: conv.r8 - IL_0019: div - IL_001a: box [mscorlib]System.Double - IL_001f: ldc.i4.5 - IL_0020: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) - IL_0025: ret - } // end of method SaveOperation::EndProgress + IL_0001: ldfld int64 Bless.Buffers.FileBuffer::FileLength + IL_0006: ret + } // end of method FileBuffer::get_Size - // method line 42 - .method family virtual hidebysig - instance default void DoOperation () cil managed + // method line 20 + .method public hidebysig + instance default void Load (string filename) cil managed { - // Method begins at RVA 0x2610 - // Code size 314 (0x13a) + // Method begins at RVA 0x28e4 + // Code size 242 (0xf2) .maxstack 5 .locals init ( - class Bless.Buffers.SaveAsOperation V_0, - string V_1, - object V_2, - bool V_3) + class [Mono.Posix]Mono.Unix.UnixFileInfo V_0, + class [Mono.Posix]Mono.Unix.UnixStream V_1, + class [mscorlib]System.IO.Stream V_2) IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer - IL_0006: ldarg.0 - IL_0007: ldfld string Bless.Buffers.SaveOperation::tempPath - IL_000c: ldarg.0 - IL_000d: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0012: ldnull - IL_0013: ldc.i4.0 - IL_0014: newobj instance void class Bless.Buffers.SaveAsOperation::'.ctor'(class Bless.Buffers.ByteBuffer, string, class [Bless.Util]Bless.Util.ProgressCallback, class [mscorlib]System.AsyncCallback, bool) - IL_0019: stloc.0 - IL_001a: ldarg.0 - IL_001b: ldc.i4.0 - IL_001c: stfld valuetype Bless.Buffers.SaveOperation/SaveStage Bless.Buffers.SaveOperation::stageReached - IL_0021: ldarg.0 - IL_0022: ldarg.0 - IL_0023: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer - IL_0028: callvirt instance string class Bless.Buffers.ByteBuffer::get_Filename() - IL_002d: call string class [mscorlib]System.IO.Path::GetDirectoryName(string) - IL_0032: ldarg.0 - IL_0033: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer - IL_0038: ldfld class Bless.Buffers.FileBuffer Bless.Buffers.ByteBuffer::fileBuf - IL_003d: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_0042: call instance bool class Bless.Buffers.SaveOperation::CheckFreeSpace(string, int64) - IL_0047: brtrue IL_006e + IL_0001: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader + IL_0006: brfalse IL_0016 - IL_004c: ldstr "There is not enough free space on the device to save file '{0}'." - IL_0051: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) - IL_0056: ldarg.0 - IL_0057: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer - IL_005c: callvirt instance string class Bless.Buffers.ByteBuffer::get_Filename() - IL_0061: call string string::Format(string, object) - IL_0066: stloc.1 - IL_0067: ldloc.1 - IL_0068: newobj instance void class [mscorlib]System.IO.IOException::'.ctor'(string) - IL_006d: throw - IL_006e: ldloc.0 - IL_006f: callvirt instance void class [Bless.Util]Bless.Util.ThreadedAsyncOperation::OperationThread() - IL_0074: ldloc.0 - IL_0075: callvirt instance valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_Result() - IL_007a: ldc.i4.2 - IL_007b: bne.un IL_0087 + IL_000b: ldarg.0 + IL_000c: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader + IL_0011: callvirt instance void class [mscorlib]System.IO.BinaryReader::Close() + IL_0016: ldarg.1 + IL_0017: newobj instance void class [Mono.Posix]Mono.Unix.UnixFileInfo::'.ctor'(string) + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: callvirt instance bool class [Mono.Posix]Mono.Unix.UnixFileSystemInfo::get_Exists() + IL_0023: brtrue IL_0034 - IL_0080: ldloc.0 - IL_0081: callvirt instance class [mscorlib]System.Exception class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_ThreadException() - IL_0086: throw - IL_0087: ldloc.0 - IL_0088: callvirt instance valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_Result() - IL_008d: ldc.i4.1 - IL_008e: bne.un IL_009a + IL_0028: ldloc.0 + IL_0029: callvirt instance string class [Mono.Posix]Mono.Unix.UnixFileSystemInfo::get_FullName() + IL_002e: newobj instance void class [mscorlib]System.IO.FileNotFoundException::'.ctor'(string) + IL_0033: throw + IL_0034: ldloc.0 + IL_0035: callvirt instance bool class [Mono.Posix]Mono.Unix.UnixFileSystemInfo::get_IsRegularFile() + IL_003a: brfalse IL_0057 - IL_0093: ldarg.0 - IL_0094: ldc.i4.1 - IL_0095: stfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled - IL_009a: ldarg.0 - IL_009b: ldfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled - IL_00a0: brtrue IL_0139 + IL_003f: ldarg.0 + IL_0040: ldloc.0 + IL_0041: callvirt instance int64 class [Mono.Posix]Mono.Unix.UnixFileSystemInfo::get_Length() + IL_0046: stfld int64 Bless.Buffers.FileBuffer::FileLength + IL_004b: ldarg.0 + IL_004c: ldc.i4.1 + IL_004d: stfld bool Bless.Buffers.FileBuffer::isResizable + IL_0052: br IL_009d - IL_00a5: ldarg.0 - IL_00a6: ldc.i4.1 - IL_00a7: call instance void class [Bless.Util]Bless.Util.ThreadedAsyncOperation::ActivateProgressReport(bool) - IL_00ac: ldarg.0 - IL_00ad: ldc.i4.1 - IL_00ae: stfld valuetype Bless.Buffers.SaveOperation/SaveStage Bless.Buffers.SaveOperation::stageReached - IL_00b3: ldarg.0 - IL_00b4: ldfld string Bless.Buffers.SaveOperation::savePath - IL_00b9: call bool class [mscorlib]System.IO.File::Exists(string) - IL_00be: brfalse IL_00ce + IL_0057: ldloc.0 + IL_0058: callvirt instance bool class [Mono.Posix]Mono.Unix.UnixFileSystemInfo::get_IsBlockDevice() + IL_005d: brfalse IL_0092 - IL_00c3: ldarg.0 - IL_00c4: ldfld string Bless.Buffers.SaveOperation::savePath - IL_00c9: call void class [mscorlib]System.IO.File::Delete(string) - IL_00ce: ldarg.0 - IL_00cf: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer - IL_00d4: ldfld object Bless.Buffers.ByteBuffer::LockObj - IL_00d9: stloc.2 - IL_00da: ldc.i4.0 - IL_00db: stloc.3 - .try { // 0 - IL_00dc: ldloc.2 - IL_00dd: ldloca.s 3 - IL_00df: call void class [mscorlib]System.Threading.Monitor::Enter(object, [out] bool&) - IL_00e4: ldarg.0 - IL_00e5: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer - IL_00ea: callvirt instance void class Bless.Buffers.ByteBuffer::MakePrivateCopyOfUndoRedo() - IL_00ef: ldarg.0 - IL_00f0: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer - IL_00f5: ldc.i4.1 - IL_00f6: callvirt instance void class Bless.Buffers.ByteBuffer::set_FileOperationsAllowed(bool) - IL_00fb: ldarg.0 - IL_00fc: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer - IL_0101: callvirt instance void class Bless.Buffers.ByteBuffer::CloseFile() - IL_0106: ldarg.0 - IL_0107: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer - IL_010c: ldc.i4.0 - IL_010d: callvirt instance void class Bless.Buffers.ByteBuffer::set_FileOperationsAllowed(bool) - IL_0112: leave IL_0121 + IL_0062: ldloc.0 + IL_0063: callvirt instance class [Mono.Posix]Mono.Unix.UnixStream class [Mono.Posix]Mono.Unix.UnixFileInfo::OpenRead() + IL_0068: stloc.1 + IL_0069: ldloc.1 + IL_006a: callvirt instance int32 class [Mono.Posix]Mono.Unix.UnixStream::get_Handle() + IL_006f: ldc.i4 -2147216782 + IL_0074: ldarg.0 + IL_0075: ldflda int64 Bless.Buffers.FileBuffer::FileLength + IL_007a: call int32 class Bless.Buffers.FileBuffer::ioctl(int32, unsigned int32, [out] int64&) + IL_007f: pop + IL_0080: ldloc.1 + IL_0081: callvirt instance void class [mscorlib]System.IO.Stream::Close() + IL_0086: ldarg.0 + IL_0087: ldc.i4.0 + IL_0088: stfld bool Bless.Buffers.FileBuffer::isResizable + IL_008d: br IL_009d - } // end .try 0 - finally { // 0 - IL_0117: ldloc.3 - IL_0118: brfalse.s IL_0120 + IL_0092: ldstr "File object isn't a regular or block device." + IL_0097: newobj instance void class [mscorlib]System.NotSupportedException::'.ctor'(string) + IL_009c: throw + IL_009d: ldarg.1 + IL_009e: ldc.i4.3 + IL_009f: ldc.i4.1 + IL_00a0: ldc.i4.3 + IL_00a1: newobj instance void class [mscorlib]System.IO.FileStream::'.ctor'(string, valuetype [mscorlib]System.IO.FileMode, valuetype [mscorlib]System.IO.FileAccess, valuetype [mscorlib]System.IO.FileShare) + IL_00a6: stloc.2 + IL_00a7: ldloc.2 + IL_00a8: callvirt instance bool class [mscorlib]System.IO.Stream::get_CanSeek() + IL_00ad: brtrue IL_00bd - IL_011a: ldloc.2 - IL_011b: call void class [mscorlib]System.Threading.Monitor::Exit(object) - IL_0120: endfinally - } // end handler 0 - IL_0121: ldarg.0 - IL_0122: ldc.i4.2 - IL_0123: stfld valuetype Bless.Buffers.SaveOperation/SaveStage Bless.Buffers.SaveOperation::stageReached - IL_0128: ldarg.0 - IL_0129: ldfld string Bless.Buffers.SaveOperation::tempPath - IL_012e: ldarg.0 - IL_012f: ldfld string Bless.Buffers.SaveOperation::savePath - IL_0134: call void class [mscorlib]System.IO.File::Move(string, string) - IL_0139: ret - } // end of method SaveOperation::DoOperation + IL_00b2: ldstr "File object doesn't support seeking." + IL_00b7: newobj instance void class [mscorlib]System.NotSupportedException::'.ctor'(string) + IL_00bc: throw + IL_00bd: ldarg.0 + IL_00be: ldloc.2 + IL_00bf: newobj instance void class [mscorlib]System.IO.BinaryReader::'.ctor'(class [mscorlib]System.IO.Stream) + IL_00c4: stfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader + IL_00c9: ldarg.0 + IL_00ca: ldarg.0 + IL_00cb: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader + IL_00d0: ldarg.0 + IL_00d1: ldfld unsigned int8[] Bless.Buffers.FileBuffer::window + IL_00d6: ldc.i4.0 + IL_00d7: ldarg.0 + IL_00d8: ldfld unsigned int8[] Bless.Buffers.FileBuffer::window + IL_00dd: ldlen + IL_00de: conv.i4 + IL_00df: callvirt instance int32 class [mscorlib]System.IO.BinaryReader::Read(unsigned int8[], int32, int32) + IL_00e4: stfld int32 Bless.Buffers.FileBuffer::winOccupied + IL_00e9: ldarg.0 + IL_00ea: ldc.i4.0 + IL_00eb: conv.i8 + IL_00ec: stfld int64 Bless.Buffers.FileBuffer::winOffset + IL_00f1: ret + } // end of method FileBuffer::Load - // method line 43 - .method family virtual hidebysig - instance default void EndOperation () cil managed + // method line 21 + .method public hidebysig specialname + instance default string get_Filename () cil managed { - // Method begins at RVA 0x2768 - // Code size 1 (0x1) + // Method begins at RVA 0x29e2 + // Code size 35 (0x23) .maxstack 8 - IL_0000: ret - } // end of method SaveOperation::EndOperation + IL_0000: ldarg.0 + IL_0001: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader + IL_0006: brfalse IL_0021 - // method line 44 - .method private final virtual hidebysig newslot strict - instance default valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Buffers.ISaveState.get_Result () cil managed + IL_000b: ldarg.0 + IL_000c: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader + IL_0011: callvirt instance class [mscorlib]System.IO.Stream class [mscorlib]System.IO.BinaryReader::get_BaseStream() + IL_0016: isinst [mscorlib]System.IO.FileStream + IL_001b: callvirt instance string class [mscorlib]System.IO.FileStream::get_Name() + IL_0020: ret + IL_0021: ldnull + IL_0022: ret + } // end of method FileBuffer::get_Filename + + // method line 22 + .method public hidebysig specialname + instance default bool get_IsResizable () cil managed { - // Method begins at RVA 0x276a - .override Could not decode method override class Bless.Buffers.ISaveState::get_Result due to (null) + // Method begins at RVA 0x2a06 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_Result() + IL_0001: ldfld bool Bless.Buffers.FileBuffer::isResizable IL_0006: ret - } // end of method SaveOperation::Bless.Buffers.ISaveState.get_Result + } // end of method FileBuffer::get_IsResizable - // method line 45 - .method private final virtual hidebysig newslot strict - instance default class [mscorlib]System.Exception Bless.Buffers.ISaveState.get_ThreadException () cil managed + // method line 23 + .method public hidebysig + instance default void Close () cil managed { - // Method begins at RVA 0x2772 - .override Could not decode method override class Bless.Buffers.ISaveState::get_ThreadException due to (null) - // Code size 7 (0x7) + // Method begins at RVA 0x2a0e + // Code size 19 (0x13) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance class [mscorlib]System.Exception class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_ThreadException() - IL_0006: ret - } // end of method SaveOperation::Bless.Buffers.ISaveState.get_ThreadException + IL_0001: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader + IL_0006: callvirt instance void class [mscorlib]System.IO.BinaryReader::Close() + IL_000b: ldarg.0 + IL_000c: ldnull + IL_000d: stfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader + IL_0012: ret + } // end of method FileBuffer::Close - .property instance class Bless.Buffers.ByteBuffer Buffer () - { - .get instance default class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::get_Buffer () - } - .property instance string SavePath () + .property instance unsigned int8 Item (int64) { - .get instance default string Bless.Buffers.SaveOperation::get_SavePath () - .set instance default void Bless.Buffers.SaveOperation::set_SavePath (string 'value') + .get instance default unsigned int8 Bless.Buffers.FileBuffer::get_Item (int64 index) + .set instance default void Bless.Buffers.FileBuffer::set_Item (int64 index, unsigned int8 'value') } - .property instance int64 BytesSaved () + .property instance int64 Size () { - .get instance default int64 Bless.Buffers.SaveOperation::get_BytesSaved () + .get instance default int64 Bless.Buffers.FileBuffer::get_Size () } - .property instance string TempPath () + .property instance string Filename () { - .get instance default string Bless.Buffers.SaveOperation::get_TempPath () + .get instance default string Bless.Buffers.FileBuffer::get_Filename () } - .property instance valuetype Bless.Buffers.SaveOperation/SaveStage StageReached () + .property instance bool IsResizable () { - .get instance default valuetype Bless.Buffers.SaveOperation/SaveStage Bless.Buffers.SaveOperation::get_StageReached () + .get instance default bool Bless.Buffers.FileBuffer::get_IsResizable () } - .class nested public auto ansi sealed SaveStage - extends [mscorlib]System.Enum - { - .field public specialname rtspecialname int32 value__ - .field public static literal valuetype Bless.Buffers.SaveOperation/SaveStage BeforeSaveAs = int32(0x00000000) - .field public static literal valuetype Bless.Buffers.SaveOperation/SaveStage BeforeDelete = int32(0x00000001) - .field public static literal valuetype Bless.Buffers.SaveOperation/SaveStage BeforeMove = int32(0x00000002) - - } // end of class SaveStage - - } // end of class Bless.Buffers.SaveOperation + } // end of class Bless.Buffers.FileBuffer } .namespace Bless.Buffers { - .class private auto ansi abstract beforefieldinit ByteBufferAction + .class public auto ansi beforefieldinit Segment extends [mscorlib]System.Object { + .field private class Bless.Buffers.IBuffer buffer + .field private int64 start + .field private int64 end - // method line 46 - .method family hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed + // method line 24 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (class Bless.Buffers.IBuffer buffer, int64 start, int64 end) cil managed + { + // Method begins at RVA 0x2a22 + // Code size 28 (0x1c) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void object::'.ctor'() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Bless.Buffers.IBuffer Bless.Buffers.Segment::buffer + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld int64 Bless.Buffers.Segment::start + IL_0014: ldarg.0 + IL_0015: ldarg.3 + IL_0016: stfld int64 Bless.Buffers.Segment::end + IL_001b: ret + } // end of method Segment::.ctor + + // method line 25 + .method public hidebysig + instance default bool Contains (int64 offset, int64 mapping) cil managed + { + // Method begins at RVA 0x2a3f + // Code size 32 (0x20) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: blt IL_001e + + IL_0007: ldarg.1 + IL_0008: ldarg.2 + IL_0009: ldarg.0 + IL_000a: ldfld int64 Bless.Buffers.Segment::end + IL_000f: add + IL_0010: ldarg.0 + IL_0011: ldfld int64 Bless.Buffers.Segment::start + IL_0016: sub + IL_0017: bgt IL_001e + + IL_001c: ldc.i4.1 + IL_001d: ret + IL_001e: ldc.i4.0 + IL_001f: ret + } // end of method Segment::Contains + + // method line 26 + .method public hidebysig + instance default class Bless.Buffers.Segment SplitAt (int64 pos) cil managed + { + // Method begins at RVA 0x2a60 + // Code size 74 (0x4a) + .maxstack 3 + .locals init ( + class Bless.Buffers.Segment V_0) + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld int64 Bless.Buffers.Segment::end + IL_0007: ldarg.0 + IL_0008: ldfld int64 Bless.Buffers.Segment::start + IL_000d: sub + IL_000e: bgt IL_001b + + IL_0013: ldarg.1 + IL_0014: ldc.i4.0 + IL_0015: conv.i8 + IL_0016: bne.un IL_001d + + IL_001b: ldnull + IL_001c: ret + IL_001d: ldarg.0 + IL_001e: ldfld class Bless.Buffers.IBuffer Bless.Buffers.Segment::buffer + IL_0023: ldarg.0 + IL_0024: ldfld int64 Bless.Buffers.Segment::start + IL_0029: ldarg.1 + IL_002a: add + IL_002b: ldarg.0 + IL_002c: ldfld int64 Bless.Buffers.Segment::end + IL_0031: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) + IL_0036: stloc.0 + IL_0037: ldarg.0 + IL_0038: ldarg.0 + IL_0039: ldfld int64 Bless.Buffers.Segment::start + IL_003e: ldarg.1 + IL_003f: add + IL_0040: ldc.i4.1 + IL_0041: conv.i8 + IL_0042: sub + IL_0043: stfld int64 Bless.Buffers.Segment::end + IL_0048: ldloc.0 + IL_0049: ret + } // end of method Segment::SplitAt + + // method line 27 + .method public hidebysig + instance default void MakePrivateCopyOfData () cil managed + { + // Method begins at RVA 0x2ab8 + // Code size 61 (0x3d) + .maxstack 4 + .locals init ( + class Bless.Buffers.SimpleBuffer V_0) + IL_0000: newobj instance void class Bless.Buffers.SimpleBuffer::'.ctor'() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.0 + IL_0008: ldfld class Bless.Buffers.IBuffer Bless.Buffers.Segment::buffer + IL_000d: ldarg.0 + IL_000e: ldfld int64 Bless.Buffers.Segment::start + IL_0013: ldarg.0 + IL_0014: call instance int64 class Bless.Buffers.Segment::get_Size() + IL_0019: callvirt instance void class Bless.Buffers.BaseBuffer::AppendBuffer(class Bless.Buffers.IBuffer, int64, int64) + IL_001e: ldarg.0 + IL_001f: ldloc.0 + IL_0020: stfld class Bless.Buffers.IBuffer Bless.Buffers.Segment::buffer + IL_0025: ldarg.0 + IL_0026: ldc.i4.0 + IL_0027: conv.i8 + IL_0028: stfld int64 Bless.Buffers.Segment::start + IL_002d: ldarg.0 + IL_002e: ldloc.0 + IL_002f: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_0034: ldc.i4.1 + IL_0035: conv.i8 + IL_0036: sub + IL_0037: stfld int64 Bless.Buffers.Segment::end + IL_003c: ret + } // end of method Segment::MakePrivateCopyOfData + + // method line 28 + .method public virtual hidebysig + instance default string ToString () cil managed + { + // Method begins at RVA 0x2b01 + // Code size 33 (0x21) + .maxstack 8 + IL_0000: ldstr "({0}->{1})" + IL_0005: ldarg.0 + IL_0006: ldfld int64 Bless.Buffers.Segment::start + IL_000b: box [mscorlib]System.Int64 + IL_0010: ldarg.0 + IL_0011: ldfld int64 Bless.Buffers.Segment::end + IL_0016: box [mscorlib]System.Int64 + IL_001b: call string string::Format(string, object, object) + IL_0020: ret + } // end of method Segment::ToString + + // method line 29 + .method public hidebysig specialname + instance default int64 get_Size () cil managed + { + // Method begins at RVA 0x2b23 + // Code size 17 (0x11) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int64 Bless.Buffers.Segment::end + IL_0006: ldarg.0 + IL_0007: ldfld int64 Bless.Buffers.Segment::start + IL_000c: sub + IL_000d: ldc.i4.1 + IL_000e: conv.i8 + IL_000f: add + IL_0010: ret + } // end of method Segment::get_Size + + // method line 30 + .method public hidebysig specialname + instance default class Bless.Buffers.IBuffer get_Buffer () cil managed { - // Method begins at RVA 0x277a + // Method begins at RVA 0x2b35 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void object::'.ctor'() + IL_0001: ldfld class Bless.Buffers.IBuffer Bless.Buffers.Segment::buffer IL_0006: ret - } // end of method ByteBufferAction::.ctor - - // method line 47 - .method public virtual hidebysig newslot abstract - instance default void Do () cil managed - { - // Method begins at RVA 0x0 - } // end of method ByteBufferAction::Do - - // method line 48 - .method public virtual hidebysig newslot abstract - instance default void Undo () cil managed - { - // Method begins at RVA 0x0 - } // end of method ByteBufferAction::Undo + } // end of method Segment::get_Buffer - // method line 49 - .method public virtual hidebysig newslot - instance default void MakePrivateCopyOfData () cil managed + // method line 31 + .method public hidebysig specialname + instance default void set_Buffer (class Bless.Buffers.IBuffer 'value') cil managed { - // Method begins at RVA 0x2782 - // Code size 1 (0x1) + // Method begins at RVA 0x2b3d + // Code size 8 (0x8) .maxstack 8 - IL_0000: ret - } // end of method ByteBufferAction::MakePrivateCopyOfData + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class Bless.Buffers.IBuffer Bless.Buffers.Segment::buffer + IL_0007: ret + } // end of method Segment::set_Buffer - // method line 50 - .method public virtual hidebysig newslot - instance default int64 GetPrivateCopySize () cil managed + // method line 32 + .method public hidebysig specialname + instance default int64 get_Start () cil managed { - // Method begins at RVA 0x2784 - // Code size 3 (0x3) + // Method begins at RVA 0x2b46 + // Code size 7 (0x7) .maxstack 8 - IL_0000: ldc.i4.0 - IL_0001: conv.i8 - IL_0002: ret - } // end of method ByteBufferAction::GetPrivateCopySize - - } // end of class Bless.Buffers.ByteBufferAction -} - -.namespace Bless.Buffers -{ - .class private auto ansi beforefieldinit AppendAction - extends Bless.Buffers.ByteBufferAction - { - .field private class Bless.Buffers.Segment seg - .field private class Bless.Buffers.ByteBuffer byteBuf + IL_0000: ldarg.0 + IL_0001: ldfld int64 Bless.Buffers.Segment::start + IL_0006: ret + } // end of method Segment::get_Start - // method line 51 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' (unsigned int8[] d, int64 index, int64 length, class Bless.Buffers.ByteBuffer bb) cil managed + // method line 33 + .method public hidebysig specialname + instance default void set_Start (int64 'value') cil managed { - // Method begins at RVA 0x2788 - // Code size 79 (0x4f) - .maxstack 5 - .locals init ( - class Bless.Buffers.SimpleBuffer V_0) + // Method begins at RVA 0x2b4e + // Code size 8 (0x8) + .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void class Bless.Buffers.ByteBufferAction::'.ctor'() - IL_0006: ldarg.0 - IL_0007: ldarg.s 4 - IL_0009: stfld class Bless.Buffers.ByteBuffer Bless.Buffers.AppendAction::byteBuf - IL_000e: ldarg.1 - IL_000f: ldlen - IL_0010: conv.i4 - IL_0011: brtrue IL_0022 - - IL_0016: ldarg.0 - IL_0017: ldnull - IL_0018: stfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg - IL_001d: br IL_004e - - IL_0022: newobj instance void class Bless.Buffers.SimpleBuffer::'.ctor'() - IL_0027: stloc.0 - IL_0028: ldarg.0 - IL_0029: ldloc.0 - IL_002a: ldloc.0 - IL_002b: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_0030: ldloc.0 - IL_0031: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_0036: ldarg.3 - IL_0037: add - IL_0038: ldc.i4.1 - IL_0039: conv.i8 - IL_003a: sub - IL_003b: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) - IL_0040: stfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg - IL_0045: ldloc.0 - IL_0046: ldarg.1 - IL_0047: ldarg.2 - IL_0048: ldarg.3 - IL_0049: callvirt instance void class Bless.Buffers.BaseBuffer::Append(unsigned int8[], int64, int64) - IL_004e: ret - } // end of method AppendAction::.ctor + IL_0001: ldarg.1 + IL_0002: stfld int64 Bless.Buffers.Segment::start + IL_0007: ret + } // end of method Segment::set_Start - // method line 52 - .method public virtual hidebysig - instance default void Do () cil managed + // method line 34 + .method public hidebysig specialname + instance default int64 get_End () cil managed { - // Method begins at RVA 0x27e4 - // Code size 96 (0x60) - .maxstack 4 + // Method begins at RVA 0x2b57 + // Code size 7 (0x7) + .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg - IL_0006: brtrue IL_000c - - IL_000b: ret - IL_000c: ldarg.0 - IL_000d: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.AppendAction::byteBuf - IL_0012: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.ByteBuffer::segCol - IL_0017: ldarg.0 - IL_0018: ldfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg - IL_001d: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_0022: ldarg.0 - IL_0023: ldfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg - IL_0028: callvirt instance int64 class Bless.Buffers.Segment::get_Start() - IL_002d: ldarg.0 - IL_002e: ldfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg - IL_0033: callvirt instance int64 class Bless.Buffers.Segment::get_End() - IL_0038: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) - IL_003d: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) - IL_0042: ldarg.0 - IL_0043: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.AppendAction::byteBuf - IL_0048: dup - IL_0049: ldfld int64 Bless.Buffers.ByteBuffer::size - IL_004e: ldarg.0 - IL_004f: ldfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg - IL_0054: callvirt instance int64 class Bless.Buffers.Segment::get_Size() - IL_0059: add - IL_005a: stfld int64 Bless.Buffers.ByteBuffer::size - IL_005f: ret - } // end of method AppendAction::Do + IL_0001: ldfld int64 Bless.Buffers.Segment::end + IL_0006: ret + } // end of method Segment::get_End - // method line 53 - .method public virtual hidebysig - instance default void Undo () cil managed + // method line 35 + .method public hidebysig specialname + instance default void set_End (int64 'value') cil managed { - // Method begins at RVA 0x2850 - // Code size 96 (0x60) - .maxstack 4 + // Method begins at RVA 0x2b5f + // Code size 8 (0x8) + .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg - IL_0006: brtrue IL_000c - - IL_000b: ret - IL_000c: ldarg.0 - IL_000d: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.AppendAction::byteBuf - IL_0012: dup - IL_0013: ldfld int64 Bless.Buffers.ByteBuffer::size - IL_0018: ldarg.0 - IL_0019: ldfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg - IL_001e: callvirt instance int64 class Bless.Buffers.Segment::get_Size() - IL_0023: sub - IL_0024: stfld int64 Bless.Buffers.ByteBuffer::size - IL_0029: ldarg.0 - IL_002a: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.AppendAction::byteBuf - IL_002f: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.ByteBuffer::segCol - IL_0034: ldarg.0 - IL_0035: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.AppendAction::byteBuf - IL_003a: ldfld int64 Bless.Buffers.ByteBuffer::size - IL_003f: ldarg.0 - IL_0040: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.AppendAction::byteBuf - IL_0045: ldfld int64 Bless.Buffers.ByteBuffer::size - IL_004a: ldarg.0 - IL_004b: ldfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg - IL_0050: callvirt instance int64 class Bless.Buffers.Segment::get_Size() - IL_0055: add - IL_0056: ldc.i4.1 - IL_0057: conv.i8 - IL_0058: sub - IL_0059: callvirt instance class Bless.Buffers.SegmentCollection class Bless.Buffers.SegmentCollection::DeleteRange(int64, int64) - IL_005e: pop - IL_005f: ret - } // end of method AppendAction::Undo + IL_0001: ldarg.1 + IL_0002: stfld int64 Bless.Buffers.Segment::end + IL_0007: ret + } // end of method Segment::set_End - } // end of class Bless.Buffers.AppendAction + .property instance int64 Size () + { + .get instance default int64 Bless.Buffers.Segment::get_Size () + } + .property instance class Bless.Buffers.IBuffer Buffer () + { + .get instance default class Bless.Buffers.IBuffer Bless.Buffers.Segment::get_Buffer () + .set instance default void Bless.Buffers.Segment::set_Buffer (class Bless.Buffers.IBuffer 'value') + } + .property instance int64 Start () + { + .get instance default int64 Bless.Buffers.Segment::get_Start () + .set instance default void Bless.Buffers.Segment::set_Start (int64 'value') + } + .property instance int64 End () + { + .get instance default int64 Bless.Buffers.Segment::get_End () + .set instance default void Bless.Buffers.Segment::set_End (int64 'value') + } + } // end of class Bless.Buffers.Segment } .namespace Bless.Buffers { - .class private auto ansi beforefieldinit InsertAction - extends Bless.Buffers.ByteBufferAction - { - .field private class Bless.Buffers.Segment seg - .field private int64 pos - .field private class Bless.Buffers.ByteBuffer byteBuf + .class public auto ansi beforefieldinit SaveOperation + extends [Bless.Util]Bless.Util.ThreadedAsyncOperation + implements Bless.Buffers.ISaveState { + .field family class Bless.Buffers.ByteBuffer byteBuffer + .field family int64 bytesSaved + .field family string savePath + .field private string tempPath + .field private valuetype Bless.Buffers.SaveOperation/SaveStage stageReached + + // method line 36 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (class Bless.Buffers.ByteBuffer bb, string tempFilename, class [Bless.Util]Bless.Util.ProgressCallback pc, class [mscorlib]System.AsyncCallback ac, bool glibIdle) cil managed + { + // Method begins at RVA 0x2b68 + // Code size 58 (0x3a) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.3 + IL_0002: ldarg.s 4 + IL_0004: ldarg.s 5 + IL_0006: call instance void class [Bless.Util]Bless.Util.ThreadedAsyncOperation::'.ctor'(class [Bless.Util]Bless.Util.ProgressCallback, class [mscorlib]System.AsyncCallback, bool) + IL_000b: ldarg.0 + IL_000c: ldarg.1 + IL_000d: stfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer + IL_0012: ldarg.0 + IL_0013: ldarg.0 + IL_0014: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer + IL_0019: callvirt instance string class Bless.Buffers.ByteBuffer::get_Filename() + IL_001e: stfld string Bless.Buffers.SaveOperation::savePath + IL_0023: ldarg.0 + IL_0024: ldarg.2 + IL_0025: stfld string Bless.Buffers.SaveOperation::tempPath + IL_002a: ldarg.0 + IL_002b: ldc.i4.0 + IL_002c: conv.i8 + IL_002d: stfld int64 Bless.Buffers.SaveOperation::bytesSaved + IL_0032: ldarg.0 + IL_0033: ldc.i4.0 + IL_0034: stfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::activateProgress + IL_0039: ret + } // end of method SaveOperation::.ctor - // method line 54 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' (int64 p, unsigned int8[] d, int64 index, int64 length, class Bless.Buffers.ByteBuffer bb) cil managed + // method line 37 + .method public final virtual hidebysig newslot specialname + instance default class Bless.Buffers.ByteBuffer get_Buffer () cil managed { - // Method begins at RVA 0x28bc - // Code size 89 (0x59) - .maxstack 5 - .locals init ( - class Bless.Buffers.SimpleBuffer V_0) + // Method begins at RVA 0x2ba3 + // Code size 7 (0x7) + .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void class Bless.Buffers.ByteBufferAction::'.ctor'() - IL_0006: ldarg.0 - IL_0007: ldarg.s 5 - IL_0009: stfld class Bless.Buffers.ByteBuffer Bless.Buffers.InsertAction::byteBuf - IL_000e: ldarg.0 - IL_000f: ldarg.1 - IL_0010: stfld int64 Bless.Buffers.InsertAction::pos - IL_0015: ldarg.s 4 - IL_0017: ldc.i4.0 - IL_0018: conv.i8 - IL_0019: bne.un IL_002a + IL_0001: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer + IL_0006: ret + } // end of method SaveOperation::get_Buffer - IL_001e: ldarg.0 - IL_001f: ldnull - IL_0020: stfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg - IL_0025: br IL_0058 + // method line 38 + .method public final virtual hidebysig newslot specialname + instance default string get_SavePath () cil managed + { + // Method begins at RVA 0x2bab + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string Bless.Buffers.SaveOperation::savePath + IL_0006: ret + } // end of method SaveOperation::get_SavePath - IL_002a: newobj instance void class Bless.Buffers.SimpleBuffer::'.ctor'() - IL_002f: stloc.0 - IL_0030: ldarg.0 - IL_0031: ldloc.0 - IL_0032: ldloc.0 - IL_0033: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_0038: ldloc.0 - IL_0039: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_003e: ldarg.s 4 - IL_0040: add - IL_0041: ldc.i4.1 - IL_0042: conv.i8 - IL_0043: sub - IL_0044: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) - IL_0049: stfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg - IL_004e: ldloc.0 - IL_004f: ldarg.2 - IL_0050: ldarg.3 - IL_0051: ldarg.s 4 - IL_0053: callvirt instance void class Bless.Buffers.BaseBuffer::Append(unsigned int8[], int64, int64) - IL_0058: ret - } // end of method InsertAction::.ctor + // method line 39 + .method public hidebysig specialname + instance default void set_SavePath (string 'value') cil managed + { + // Method begins at RVA 0x2bb3 + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld string Bless.Buffers.SaveOperation::savePath + IL_0007: ret + } // end of method SaveOperation::set_SavePath - // method line 55 - .method public virtual hidebysig - instance default void Do () cil managed + // method line 40 + .method public hidebysig specialname + instance default int64 get_BytesSaved () cil managed { - // Method begins at RVA 0x2924 - // Code size 115 (0x73) - .maxstack 4 - .locals init ( - class Bless.Buffers.SegmentCollection V_0) + // Method begins at RVA 0x2bbc + // Code size 7 (0x7) + .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg - IL_0006: brtrue IL_000c + IL_0001: ldfld int64 Bless.Buffers.SaveOperation::bytesSaved + IL_0006: ret + } // end of method SaveOperation::get_BytesSaved - IL_000b: ret - IL_000c: newobj instance void class Bless.Buffers.SegmentCollection::'.ctor'() - IL_0011: stloc.0 - IL_0012: ldloc.0 - IL_0013: ldarg.0 - IL_0014: ldfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg - IL_0019: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_001e: ldarg.0 - IL_001f: ldfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg - IL_0024: callvirt instance int64 class Bless.Buffers.Segment::get_Start() - IL_0029: ldarg.0 - IL_002a: ldfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg - IL_002f: callvirt instance int64 class Bless.Buffers.Segment::get_End() - IL_0034: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) - IL_0039: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) - IL_003e: ldarg.0 - IL_003f: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.InsertAction::byteBuf - IL_0044: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.ByteBuffer::segCol - IL_0049: ldloc.0 - IL_004a: ldarg.0 - IL_004b: ldfld int64 Bless.Buffers.InsertAction::pos - IL_0050: callvirt instance void class Bless.Buffers.SegmentCollection::Insert(class Bless.Buffers.SegmentCollection, int64) - IL_0055: ldarg.0 - IL_0056: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.InsertAction::byteBuf - IL_005b: dup - IL_005c: ldfld int64 Bless.Buffers.ByteBuffer::size - IL_0061: ldarg.0 - IL_0062: ldfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg - IL_0067: callvirt instance int64 class Bless.Buffers.Segment::get_Size() - IL_006c: add - IL_006d: stfld int64 Bless.Buffers.ByteBuffer::size - IL_0072: ret - } // end of method InsertAction::Do + // method line 41 + .method public hidebysig specialname + instance default string get_TempPath () cil managed + { + // Method begins at RVA 0x2bc4 + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string Bless.Buffers.SaveOperation::tempPath + IL_0006: ret + } // end of method SaveOperation::get_TempPath - // method line 56 - .method public virtual hidebysig - instance default void Undo () cil managed + // method line 42 + .method public hidebysig specialname + instance default valuetype Bless.Buffers.SaveOperation/SaveStage get_StageReached () cil managed { - // Method begins at RVA 0x29a4 - // Code size 86 (0x56) - .maxstack 4 + // Method begins at RVA 0x2bcc + // Code size 7 (0x7) + .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg - IL_0006: brtrue IL_000c + IL_0001: ldfld valuetype Bless.Buffers.SaveOperation/SaveStage Bless.Buffers.SaveOperation::stageReached + IL_0006: ret + } // end of method SaveOperation::get_StageReached - IL_000b: ret - IL_000c: ldarg.0 - IL_000d: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.InsertAction::byteBuf - IL_0012: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.ByteBuffer::segCol - IL_0017: ldarg.0 - IL_0018: ldfld int64 Bless.Buffers.InsertAction::pos - IL_001d: ldarg.0 - IL_001e: ldfld int64 Bless.Buffers.InsertAction::pos - IL_0023: ldarg.0 - IL_0024: ldfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg - IL_0029: callvirt instance int64 class Bless.Buffers.Segment::get_Size() - IL_002e: add - IL_002f: ldc.i4.1 - IL_0030: conv.i8 - IL_0031: sub - IL_0032: callvirt instance class Bless.Buffers.SegmentCollection class Bless.Buffers.SegmentCollection::DeleteRange(int64, int64) - IL_0037: pop - IL_0038: ldarg.0 - IL_0039: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.InsertAction::byteBuf - IL_003e: dup - IL_003f: ldfld int64 Bless.Buffers.ByteBuffer::size - IL_0044: ldarg.0 - IL_0045: ldfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg - IL_004a: callvirt instance int64 class Bless.Buffers.Segment::get_Size() - IL_004f: sub - IL_0050: stfld int64 Bless.Buffers.ByteBuffer::size - IL_0055: ret - } // end of method InsertAction::Undo + // method line 43 + .method family hidebysig + instance default bool CheckFreeSpace (string path, int64 extraSpace) cil managed + { + // Method begins at RVA 0x2bd4 + // Code size 42 (0x2a) + .maxstack 2 + .locals init ( + int64 V_0, + bool V_1) + .try { // 0 + IL_0000: ldarg.1 + IL_0001: call int64 class [Bless.Util]Portable::GetAvailableDiskSpace(string) + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldarg.2 + IL_0009: add + IL_000a: ldarg.0 + IL_000b: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer + IL_0010: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_0015: clt + IL_0017: ldc.i4.0 + IL_0018: ceq + IL_001a: stloc.1 + IL_001b: leave IL_0028 - } // end of class Bless.Buffers.InsertAction -} + } // end .try 0 + catch class [mscorlib]System.NotImplementedException { // 0 + IL_0020: pop + IL_0021: ldc.i4.1 + IL_0022: stloc.1 + IL_0023: leave IL_0028 -.namespace Bless.Buffers -{ - .class private auto ansi beforefieldinit DeleteAction - extends Bless.Buffers.ByteBufferAction - { - .field private class Bless.Buffers.SegmentCollection del - .field private int64 pos1 - .field private int64 pos2 - .field private class Bless.Buffers.ByteBuffer byteBuf + } // end handler 0 + IL_0028: ldloc.1 + IL_0029: ret + } // end of method SaveOperation::CheckFreeSpace + + // method line 44 + .method family virtual hidebysig + instance default bool StartProgress () cil managed + { + // Method begins at RVA 0x2c1c + // Code size 78 (0x4e) + .maxstack 4 + IL_0000: ldarg.0 + IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0006: ldstr "Moving '{0}' to '{1}'" + IL_000b: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) + IL_0010: ldarg.0 + IL_0011: ldfld string Bless.Buffers.SaveOperation::tempPath + IL_0016: ldarg.0 + IL_0017: ldfld string Bless.Buffers.SaveOperation::savePath + IL_001c: call string string::Format(string, object, object) + IL_0021: ldc.i4.3 + IL_0022: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) + IL_0027: pop + IL_0028: ldarg.0 + IL_0029: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback + IL_002e: ldarg.0 + IL_002f: ldfld int64 Bless.Buffers.SaveOperation::bytesSaved + IL_0034: conv.r8 + IL_0035: ldarg.0 + IL_0036: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer + IL_003b: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_0040: conv.r8 + IL_0041: div + IL_0042: box [mscorlib]System.Double + IL_0047: ldc.i4.0 + IL_0048: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) + IL_004d: ret + } // end of method SaveOperation::StartProgress - // method line 57 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' (int64 p1, int64 p2, class Bless.Buffers.ByteBuffer bb) cil managed + // method line 45 + .method family virtual hidebysig + instance default bool UpdateProgress () cil managed { - // Method begins at RVA 0x2a06 - // Code size 28 (0x1c) + // Method begins at RVA 0x2c76 + // Code size 38 (0x26) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void class Bless.Buffers.ByteBufferAction::'.ctor'() + IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback IL_0006: ldarg.0 - IL_0007: ldarg.3 - IL_0008: stfld class Bless.Buffers.ByteBuffer Bless.Buffers.DeleteAction::byteBuf + IL_0007: ldfld int64 Bless.Buffers.SaveOperation::bytesSaved + IL_000c: conv.r8 IL_000d: ldarg.0 - IL_000e: ldarg.1 - IL_000f: stfld int64 Bless.Buffers.DeleteAction::pos1 - IL_0014: ldarg.0 - IL_0015: ldarg.2 - IL_0016: stfld int64 Bless.Buffers.DeleteAction::pos2 - IL_001b: ret - } // end of method DeleteAction::.ctor - - // method line 58 - .method public virtual hidebysig - instance default void Do () cil managed - { - // Method begins at RVA 0x2a24 - // Code size 69 (0x45) - .maxstack 4 - IL_0000: ldarg.0 - IL_0001: ldarg.0 - IL_0002: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.DeleteAction::byteBuf - IL_0007: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.ByteBuffer::segCol - IL_000c: ldarg.0 - IL_000d: ldfld int64 Bless.Buffers.DeleteAction::pos1 - IL_0012: ldarg.0 - IL_0013: ldfld int64 Bless.Buffers.DeleteAction::pos2 - IL_0018: callvirt instance class Bless.Buffers.SegmentCollection class Bless.Buffers.SegmentCollection::DeleteRange(int64, int64) - IL_001d: stfld class Bless.Buffers.SegmentCollection Bless.Buffers.DeleteAction::del - IL_0022: ldarg.0 - IL_0023: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.DeleteAction::byteBuf - IL_0028: dup - IL_0029: ldfld int64 Bless.Buffers.ByteBuffer::size - IL_002e: ldarg.0 - IL_002f: ldfld int64 Bless.Buffers.DeleteAction::pos2 - IL_0034: ldarg.0 - IL_0035: ldfld int64 Bless.Buffers.DeleteAction::pos1 - IL_003a: sub - IL_003b: ldc.i4.1 - IL_003c: conv.i8 - IL_003d: add - IL_003e: sub - IL_003f: stfld int64 Bless.Buffers.ByteBuffer::size - IL_0044: ret - } // end of method DeleteAction::Do + IL_000e: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer + IL_0013: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_0018: conv.r8 + IL_0019: div + IL_001a: box [mscorlib]System.Double + IL_001f: ldc.i4.2 + IL_0020: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) + IL_0025: ret + } // end of method SaveOperation::UpdateProgress - // method line 59 - .method public virtual hidebysig - instance default void Undo () cil managed + // method line 46 + .method family virtual hidebysig + instance default bool EndProgress () cil managed { - // Method begins at RVA 0x2a75 - // Code size 63 (0x3f) + // Method begins at RVA 0x2c9d + // Code size 38 (0x26) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.DeleteAction::byteBuf - IL_0006: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.ByteBuffer::segCol - IL_000b: ldarg.0 - IL_000c: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.DeleteAction::del - IL_0011: ldarg.0 - IL_0012: ldfld int64 Bless.Buffers.DeleteAction::pos1 - IL_0017: callvirt instance void class Bless.Buffers.SegmentCollection::Insert(class Bless.Buffers.SegmentCollection, int64) - IL_001c: ldarg.0 - IL_001d: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.DeleteAction::byteBuf - IL_0022: dup - IL_0023: ldfld int64 Bless.Buffers.ByteBuffer::size - IL_0028: ldarg.0 - IL_0029: ldfld int64 Bless.Buffers.DeleteAction::pos2 - IL_002e: ldarg.0 - IL_002f: ldfld int64 Bless.Buffers.DeleteAction::pos1 - IL_0034: sub - IL_0035: ldc.i4.1 - IL_0036: conv.i8 - IL_0037: add - IL_0038: add - IL_0039: stfld int64 Bless.Buffers.ByteBuffer::size - IL_003e: ret - } // end of method DeleteAction::Undo + IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0006: ldarg.0 + IL_0007: ldfld int64 Bless.Buffers.SaveOperation::bytesSaved + IL_000c: conv.r8 + IL_000d: ldarg.0 + IL_000e: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer + IL_0013: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_0018: conv.r8 + IL_0019: div + IL_001a: box [mscorlib]System.Double + IL_001f: ldc.i4.5 + IL_0020: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) + IL_0025: ret + } // end of method SaveOperation::EndProgress - // method line 60 - .method public virtual hidebysig - instance default void MakePrivateCopyOfData () cil managed + // method line 47 + .method family virtual hidebysig + instance default void DoOperation () cil managed { - // Method begins at RVA 0x2ab8 - // Code size 96 (0x60) - .maxstack 2 + // Method begins at RVA 0x2cc4 + // Code size 314 (0x13a) + .maxstack 5 .locals init ( - class Bless.Buffers.Segment V_0, - class [mscorlib]System.Collections.Generic.IEnumerator`1 V_1) + class Bless.Buffers.SaveAsOperation V_0, + string V_1, + object V_2, + bool V_3) IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.DeleteAction::del - IL_0006: callvirt instance class [Bless.Util]Bless.Util.List`1 class Bless.Buffers.SegmentCollection::get_List() - IL_000b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [Bless.Util]Bless.Util.List`1::GetEnumerator() - IL_0010: stloc.1 - .try { // 0 - IL_0011: br IL_0042 - - IL_0016: ldloc.1 - IL_0017: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() - IL_001c: stloc.0 - IL_001d: ldloc.0 - IL_001e: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_0023: callvirt instance class [mscorlib]System.Type object::GetType() - IL_0028: ldtoken Bless.Buffers.FileBuffer - IL_002d: call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0032: call bool class [mscorlib]System.Type::op_Equality(class [mscorlib]System.Type, class [mscorlib]System.Type) - IL_0037: brfalse IL_0042 - - IL_003c: ldloc.0 - IL_003d: callvirt instance void class Bless.Buffers.Segment::MakePrivateCopyOfData() - IL_0042: ldloc.1 - IL_0043: callvirt instance bool class [mscorlib]System.Collections.IEnumerator::MoveNext() - IL_0048: brtrue IL_0016 - - IL_004d: leave IL_005f - - } // end .try 0 - finally { // 0 - IL_0052: ldloc.1 - IL_0053: brfalse IL_005e + IL_0001: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer + IL_0006: ldarg.0 + IL_0007: ldfld string Bless.Buffers.SaveOperation::tempPath + IL_000c: ldarg.0 + IL_000d: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0012: ldnull + IL_0013: ldc.i4.0 + IL_0014: newobj instance void class Bless.Buffers.SaveAsOperation::'.ctor'(class Bless.Buffers.ByteBuffer, string, class [Bless.Util]Bless.Util.ProgressCallback, class [mscorlib]System.AsyncCallback, bool) + IL_0019: stloc.0 + IL_001a: ldarg.0 + IL_001b: ldc.i4.0 + IL_001c: stfld valuetype Bless.Buffers.SaveOperation/SaveStage Bless.Buffers.SaveOperation::stageReached + IL_0021: ldarg.0 + IL_0022: ldarg.0 + IL_0023: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer + IL_0028: callvirt instance string class Bless.Buffers.ByteBuffer::get_Filename() + IL_002d: call string class [mscorlib]System.IO.Path::GetDirectoryName(string) + IL_0032: ldarg.0 + IL_0033: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer + IL_0038: ldfld class Bless.Buffers.FileBuffer Bless.Buffers.ByteBuffer::fileBuf + IL_003d: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_0042: call instance bool class Bless.Buffers.SaveOperation::CheckFreeSpace(string, int64) + IL_0047: brtrue IL_006e - IL_0058: ldloc.1 - IL_0059: callvirt instance void class [mscorlib]System.IDisposable::Dispose() - IL_005e: endfinally - } // end handler 0 - IL_005f: ret - } // end of method DeleteAction::MakePrivateCopyOfData + IL_004c: ldstr "There is not enough free space on the device to save file '{0}'." + IL_0051: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) + IL_0056: ldarg.0 + IL_0057: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer + IL_005c: callvirt instance string class Bless.Buffers.ByteBuffer::get_Filename() + IL_0061: call string string::Format(string, object) + IL_0066: stloc.1 + IL_0067: ldloc.1 + IL_0068: newobj instance void class [mscorlib]System.IO.IOException::'.ctor'(string) + IL_006d: throw + IL_006e: ldloc.0 + IL_006f: callvirt instance void class [Bless.Util]Bless.Util.ThreadedAsyncOperation::OperationThread() + IL_0074: ldloc.0 + IL_0075: callvirt instance valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_Result() + IL_007a: ldc.i4.2 + IL_007b: bne.un IL_0087 - // method line 61 - .method public virtual hidebysig - instance default int64 GetPrivateCopySize () cil managed - { - // Method begins at RVA 0x2b34 - // Code size 103 (0x67) - .maxstack 2 - .locals init ( - int64 V_0, - class Bless.Buffers.Segment V_1, - class [mscorlib]System.Collections.Generic.IEnumerator`1 V_2) - IL_0000: ldc.i4.0 - IL_0001: conv.i8 - IL_0002: stloc.0 - IL_0003: ldarg.0 - IL_0004: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.DeleteAction::del - IL_0009: callvirt instance class [Bless.Util]Bless.Util.List`1 class Bless.Buffers.SegmentCollection::get_List() - IL_000e: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [Bless.Util]Bless.Util.List`1::GetEnumerator() - IL_0013: stloc.2 - .try { // 0 - IL_0014: br IL_0048 + IL_0080: ldloc.0 + IL_0081: callvirt instance class [mscorlib]System.Exception class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_ThreadException() + IL_0086: throw + IL_0087: ldloc.0 + IL_0088: callvirt instance valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_Result() + IL_008d: ldc.i4.1 + IL_008e: bne.un IL_009a - IL_0019: ldloc.2 - IL_001a: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() - IL_001f: stloc.1 - IL_0020: ldloc.1 - IL_0021: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_0026: callvirt instance class [mscorlib]System.Type object::GetType() - IL_002b: ldtoken Bless.Buffers.FileBuffer - IL_0030: call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_0035: call bool class [mscorlib]System.Type::op_Equality(class [mscorlib]System.Type, class [mscorlib]System.Type) - IL_003a: brfalse IL_0048 + IL_0093: ldarg.0 + IL_0094: ldc.i4.1 + IL_0095: stfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled + IL_009a: ldarg.0 + IL_009b: ldfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled + IL_00a0: brtrue IL_0139 - IL_003f: ldloc.0 - IL_0040: ldloc.1 - IL_0041: callvirt instance int64 class Bless.Buffers.Segment::get_Size() - IL_0046: add - IL_0047: stloc.0 - IL_0048: ldloc.2 - IL_0049: callvirt instance bool class [mscorlib]System.Collections.IEnumerator::MoveNext() - IL_004e: brtrue IL_0019 + IL_00a5: ldarg.0 + IL_00a6: ldc.i4.1 + IL_00a7: call instance void class [Bless.Util]Bless.Util.ThreadedAsyncOperation::ActivateProgressReport(bool) + IL_00ac: ldarg.0 + IL_00ad: ldc.i4.1 + IL_00ae: stfld valuetype Bless.Buffers.SaveOperation/SaveStage Bless.Buffers.SaveOperation::stageReached + IL_00b3: ldarg.0 + IL_00b4: ldfld string Bless.Buffers.SaveOperation::savePath + IL_00b9: call bool class [mscorlib]System.IO.File::Exists(string) + IL_00be: brfalse IL_00ce - IL_0053: leave IL_0065 + IL_00c3: ldarg.0 + IL_00c4: ldfld string Bless.Buffers.SaveOperation::savePath + IL_00c9: call void class [mscorlib]System.IO.File::Delete(string) + IL_00ce: ldarg.0 + IL_00cf: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer + IL_00d4: ldfld object Bless.Buffers.ByteBuffer::LockObj + IL_00d9: stloc.2 + IL_00da: ldc.i4.0 + IL_00db: stloc.3 + .try { // 0 + IL_00dc: ldloc.2 + IL_00dd: ldloca.s 3 + IL_00df: call void class [mscorlib]System.Threading.Monitor::Enter(object, [out] bool&) + IL_00e4: ldarg.0 + IL_00e5: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer + IL_00ea: callvirt instance void class Bless.Buffers.ByteBuffer::MakePrivateCopyOfUndoRedo() + IL_00ef: ldarg.0 + IL_00f0: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer + IL_00f5: ldc.i4.1 + IL_00f6: callvirt instance void class Bless.Buffers.ByteBuffer::set_FileOperationsAllowed(bool) + IL_00fb: ldarg.0 + IL_00fc: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer + IL_0101: callvirt instance void class Bless.Buffers.ByteBuffer::CloseFile() + IL_0106: ldarg.0 + IL_0107: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::byteBuffer + IL_010c: ldc.i4.0 + IL_010d: callvirt instance void class Bless.Buffers.ByteBuffer::set_FileOperationsAllowed(bool) + IL_0112: leave IL_0121 } // end .try 0 finally { // 0 - IL_0058: ldloc.2 - IL_0059: brfalse IL_0064 + IL_0117: ldloc.3 + IL_0118: brfalse.s IL_0120 - IL_005e: ldloc.2 - IL_005f: callvirt instance void class [mscorlib]System.IDisposable::Dispose() - IL_0064: endfinally + IL_011a: ldloc.2 + IL_011b: call void class [mscorlib]System.Threading.Monitor::Exit(object) + IL_0120: endfinally } // end handler 0 - IL_0065: ldloc.0 - IL_0066: ret - } // end of method DeleteAction::GetPrivateCopySize - - } // end of class Bless.Buffers.DeleteAction -} - -.namespace Bless.Buffers -{ - .class private auto ansi beforefieldinit ReplaceAction - extends Bless.Buffers.ByteBufferAction - { - .field private class Bless.Buffers.DeleteAction del - .field private class Bless.Buffers.InsertAction ins + IL_0121: ldarg.0 + IL_0122: ldc.i4.2 + IL_0123: stfld valuetype Bless.Buffers.SaveOperation/SaveStage Bless.Buffers.SaveOperation::stageReached + IL_0128: ldarg.0 + IL_0129: ldfld string Bless.Buffers.SaveOperation::tempPath + IL_012e: ldarg.0 + IL_012f: ldfld string Bless.Buffers.SaveOperation::savePath + IL_0134: call void class [mscorlib]System.IO.File::Move(string, string) + IL_0139: ret + } // end of method SaveOperation::DoOperation - // method line 62 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' (int64 p1, int64 p2, unsigned int8[] d, int64 index, int64 length, class Bless.Buffers.ByteBuffer bb) cil managed + // method line 48 + .method family virtual hidebysig + instance default void EndOperation () cil managed { - // Method begins at RVA 0x2bb8 - // Code size 41 (0x29) + // Method begins at RVA 0x2e1c + // Code size 1 (0x1) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void class Bless.Buffers.ByteBufferAction::'.ctor'() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: ldarg.2 - IL_0009: ldarg.s 6 - IL_000b: newobj instance void class Bless.Buffers.DeleteAction::'.ctor'(int64, int64, class Bless.Buffers.ByteBuffer) - IL_0010: stfld class Bless.Buffers.DeleteAction Bless.Buffers.ReplaceAction::del - IL_0015: ldarg.0 - IL_0016: ldarg.1 - IL_0017: ldarg.3 - IL_0018: ldarg.s 4 - IL_001a: ldarg.s 5 - IL_001c: ldarg.s 6 - IL_001e: newobj instance void class Bless.Buffers.InsertAction::'.ctor'(int64, unsigned int8[], int64, int64, class Bless.Buffers.ByteBuffer) - IL_0023: stfld class Bless.Buffers.InsertAction Bless.Buffers.ReplaceAction::ins - IL_0028: ret - } // end of method ReplaceAction::.ctor + IL_0000: ret + } // end of method SaveOperation::EndOperation - // method line 63 - .method public virtual hidebysig - instance default void Do () cil managed + // method line 49 + .method private final virtual hidebysig newslot strict + instance default valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Buffers.ISaveState.get_Result () cil managed { - // Method begins at RVA 0x2be2 - // Code size 23 (0x17) + // Method begins at RVA 0x2e1e + .override Could not decode method override class Bless.Buffers.ISaveState::get_Result due to (null) + // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Buffers.DeleteAction Bless.Buffers.ReplaceAction::del - IL_0006: callvirt instance void class Bless.Buffers.ByteBufferAction::Do() - IL_000b: ldarg.0 - IL_000c: ldfld class Bless.Buffers.InsertAction Bless.Buffers.ReplaceAction::ins - IL_0011: callvirt instance void class Bless.Buffers.ByteBufferAction::Do() - IL_0016: ret - } // end of method ReplaceAction::Do + IL_0001: call instance valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_Result() + IL_0006: ret + } // end of method SaveOperation::Bless.Buffers.ISaveState.get_Result - // method line 64 - .method public virtual hidebysig - instance default void Undo () cil managed + // method line 50 + .method private final virtual hidebysig newslot strict + instance default class [mscorlib]System.Exception Bless.Buffers.ISaveState.get_ThreadException () cil managed { - // Method begins at RVA 0x2bfa - // Code size 23 (0x17) + // Method begins at RVA 0x2e26 + .override Could not decode method override class Bless.Buffers.ISaveState::get_ThreadException due to (null) + // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Buffers.InsertAction Bless.Buffers.ReplaceAction::ins - IL_0006: callvirt instance void class Bless.Buffers.ByteBufferAction::Undo() - IL_000b: ldarg.0 - IL_000c: ldfld class Bless.Buffers.DeleteAction Bless.Buffers.ReplaceAction::del - IL_0011: callvirt instance void class Bless.Buffers.ByteBufferAction::Undo() - IL_0016: ret - } // end of method ReplaceAction::Undo + IL_0001: call instance class [mscorlib]System.Exception class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_ThreadException() + IL_0006: ret + } // end of method SaveOperation::Bless.Buffers.ISaveState.get_ThreadException - // method line 65 - .method public virtual hidebysig - instance default void MakePrivateCopyOfData () cil managed - { - // Method begins at RVA 0x2c12 - // Code size 12 (0xc) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Buffers.DeleteAction Bless.Buffers.ReplaceAction::del - IL_0006: callvirt instance void class Bless.Buffers.ByteBufferAction::MakePrivateCopyOfData() - IL_000b: ret - } // end of method ReplaceAction::MakePrivateCopyOfData + .property instance class Bless.Buffers.ByteBuffer Buffer () + { + .get instance default class Bless.Buffers.ByteBuffer Bless.Buffers.SaveOperation::get_Buffer () + } + .property instance string SavePath () + { + .get instance default string Bless.Buffers.SaveOperation::get_SavePath () + .set instance default void Bless.Buffers.SaveOperation::set_SavePath (string 'value') + } + .property instance int64 BytesSaved () + { + .get instance default int64 Bless.Buffers.SaveOperation::get_BytesSaved () + } + .property instance string TempPath () + { + .get instance default string Bless.Buffers.SaveOperation::get_TempPath () + } + .property instance valuetype Bless.Buffers.SaveOperation/SaveStage StageReached () + { + .get instance default valuetype Bless.Buffers.SaveOperation/SaveStage Bless.Buffers.SaveOperation::get_StageReached () + } + .class nested public auto ansi sealed SaveStage + extends [mscorlib]System.Enum + { + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype Bless.Buffers.SaveOperation/SaveStage BeforeSaveAs = int32(0x00000000) + .field public static literal valuetype Bless.Buffers.SaveOperation/SaveStage BeforeDelete = int32(0x00000001) + .field public static literal valuetype Bless.Buffers.SaveOperation/SaveStage BeforeMove = int32(0x00000002) - // method line 66 - .method public virtual hidebysig - instance default int64 GetPrivateCopySize () cil managed - { - // Method begins at RVA 0x2c1f - // Code size 12 (0xc) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Buffers.DeleteAction Bless.Buffers.ReplaceAction::del - IL_0006: callvirt instance int64 class Bless.Buffers.ByteBufferAction::GetPrivateCopySize() - IL_000b: ret - } // end of method ReplaceAction::GetPrivateCopySize + } // end of class SaveStage - } // end of class Bless.Buffers.ReplaceAction + } // end of class Bless.Buffers.SaveOperation } .namespace Bless.Buffers { - .class private auto ansi beforefieldinit MultiAction - extends Bless.Buffers.ByteBufferAction - { - .field private class [mscorlib]System.Collections.Generic.List`1 list + .class public auto ansi beforefieldinit SaveInPlaceOperation + extends [Bless.Util]Bless.Util.ThreadedAsyncOperation + implements Bless.Buffers.ISaveState { + .field family class Bless.Buffers.ByteBuffer byteBuffer + .field family int64 bytesSaved + .field family string savePath + .field private class [mscorlib]System.IO.FileStream fs + .field private valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage stageReached - // method line 67 + // method line 51 .method public hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed + instance default void '.ctor' (class Bless.Buffers.ByteBuffer bb, class [Bless.Util]Bless.Util.ProgressCallback pc, class [mscorlib]System.AsyncCallback ac, bool glibIdle) cil managed { - // Method begins at RVA 0x2c2c - // Code size 18 (0x12) + // Method begins at RVA 0x2e2e + // Code size 50 (0x32) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void class Bless.Buffers.ByteBufferAction::'.ctor'() - IL_0006: ldarg.0 - IL_0007: newobj instance void class [mscorlib]System.Collections.Generic.List`1::'.ctor'() - IL_000c: stfld class [mscorlib]System.Collections.Generic.List`1 Bless.Buffers.MultiAction::list - IL_0011: ret - } // end of method MultiAction::.ctor + IL_0001: ldarg.2 + IL_0002: ldarg.3 + IL_0003: ldarg.s 4 + IL_0005: call instance void class [Bless.Util]Bless.Util.ThreadedAsyncOperation::'.ctor'(class [Bless.Util]Bless.Util.ProgressCallback, class [mscorlib]System.AsyncCallback, bool) + IL_000a: ldarg.0 + IL_000b: ldarg.1 + IL_000c: stfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer + IL_0011: ldarg.0 + IL_0012: ldarg.0 + IL_0013: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer + IL_0018: callvirt instance string class Bless.Buffers.ByteBuffer::get_Filename() + IL_001d: stfld string Bless.Buffers.SaveInPlaceOperation::savePath + IL_0022: ldarg.0 + IL_0023: ldnull + IL_0024: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs + IL_0029: ldarg.0 + IL_002a: ldc.i4.0 + IL_002b: conv.i8 + IL_002c: stfld int64 Bless.Buffers.SaveInPlaceOperation::bytesSaved + IL_0031: ret + } // end of method SaveInPlaceOperation::.ctor + + // method line 52 + .method public final virtual hidebysig newslot specialname + instance default class Bless.Buffers.ByteBuffer get_Buffer () cil managed + { + // Method begins at RVA 0x2e61 + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer + IL_0006: ret + } // end of method SaveInPlaceOperation::get_Buffer - // method line 68 - .method public hidebysig - instance default void Add (class Bless.Buffers.ByteBufferAction action) cil managed + // method line 53 + .method public final virtual hidebysig newslot specialname + instance default string get_SavePath () cil managed { - // Method begins at RVA 0x2c3f - // Code size 13 (0xd) + // Method begins at RVA 0x2e69 + // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.Collections.Generic.List`1 Bless.Buffers.MultiAction::list - IL_0006: ldarg.1 - IL_0007: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) - IL_000c: ret - } // end of method MultiAction::Add + IL_0001: ldfld string Bless.Buffers.SaveInPlaceOperation::savePath + IL_0006: ret + } // end of method SaveInPlaceOperation::get_SavePath - // method line 69 - .method public virtual hidebysig - instance default void Do () cil managed + // method line 54 + .method public hidebysig specialname + instance default void set_SavePath (string 'value') cil managed { - // Method begins at RVA 0x2c50 - // Code size 46 (0x2e) - .maxstack 2 - .locals init ( - int32 V_0) - IL_0000: ldc.i4.0 - IL_0001: stloc.0 - IL_0002: br IL_001c - - IL_0007: ldarg.0 - IL_0008: ldfld class [mscorlib]System.Collections.Generic.List`1 Bless.Buffers.MultiAction::list - IL_000d: ldloc.0 - IL_000e: callvirt instance !0 class [mscorlib]System.Collections.Generic.List`1::get_Item(int32) - IL_0013: callvirt instance void class Bless.Buffers.ByteBufferAction::Do() - IL_0018: ldloc.0 - IL_0019: ldc.i4.1 - IL_001a: add - IL_001b: stloc.0 - IL_001c: ldloc.0 - IL_001d: ldarg.0 - IL_001e: ldfld class [mscorlib]System.Collections.Generic.List`1 Bless.Buffers.MultiAction::list - IL_0023: callvirt instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() - IL_0028: blt IL_0007 - - IL_002d: ret - } // end of method MultiAction::Do + // Method begins at RVA 0x2e71 + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld string Bless.Buffers.SaveInPlaceOperation::savePath + IL_0007: ret + } // end of method SaveInPlaceOperation::set_SavePath - // method line 70 - .method public virtual hidebysig - instance default void Undo () cil managed + // method line 55 + .method public hidebysig specialname + instance default int64 get_BytesSaved () cil managed { - // Method begins at RVA 0x2c8c - // Code size 48 (0x30) - .maxstack 2 - .locals init ( - int32 V_0) + // Method begins at RVA 0x2e7a + // Code size 7 (0x7) + .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.Collections.Generic.List`1 Bless.Buffers.MultiAction::list - IL_0006: callvirt instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() - IL_000b: ldc.i4.1 - IL_000c: sub - IL_000d: stloc.0 - IL_000e: br IL_0028 - - IL_0013: ldarg.0 - IL_0014: ldfld class [mscorlib]System.Collections.Generic.List`1 Bless.Buffers.MultiAction::list - IL_0019: ldloc.0 - IL_001a: callvirt instance !0 class [mscorlib]System.Collections.Generic.List`1::get_Item(int32) - IL_001f: callvirt instance void class Bless.Buffers.ByteBufferAction::Undo() - IL_0024: ldloc.0 - IL_0025: ldc.i4.1 - IL_0026: sub - IL_0027: stloc.0 - IL_0028: ldloc.0 - IL_0029: ldc.i4.0 - IL_002a: bge IL_0013 - - IL_002f: ret - } // end of method MultiAction::Undo + IL_0001: ldfld int64 Bless.Buffers.SaveInPlaceOperation::bytesSaved + IL_0006: ret + } // end of method SaveInPlaceOperation::get_BytesSaved - // method line 71 - .method public virtual hidebysig - instance default void MakePrivateCopyOfData () cil managed + // method line 56 + .method public hidebysig specialname + instance default valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage get_StageReached () cil managed { - // Method begins at RVA 0x2cc8 - // Code size 63 (0x3f) - .maxstack 1 - .locals init ( - class Bless.Buffers.ByteBufferAction V_0, - valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator V_1) + // Method begins at RVA 0x2e82 + // Code size 7 (0x7) + .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.Collections.Generic.List`1 Bless.Buffers.MultiAction::list - IL_0006: callvirt instance valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator class [mscorlib]System.Collections.Generic.List`1::GetEnumerator() - IL_000b: stloc.1 - .try { // 0 - IL_000c: br IL_001f - - IL_0011: ldloca.s 1 - IL_0013: call instance !0 valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator::get_Current() - IL_0018: stloc.0 - IL_0019: ldloc.0 - IL_001a: callvirt instance void class Bless.Buffers.ByteBufferAction::MakePrivateCopyOfData() - IL_001f: ldloca.s 1 - IL_0021: call instance bool valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator::MoveNext() - IL_0026: brtrue IL_0011 - - IL_002b: leave IL_003e - - } // end .try 0 - finally { // 0 - IL_0030: ldloca.s 1 - IL_0032: constrained. valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator - IL_0038: callvirt instance void class [mscorlib]System.IDisposable::Dispose() - IL_003d: endfinally - } // end handler 0 - IL_003e: ret - } // end of method MultiAction::MakePrivateCopyOfData + IL_0001: ldfld valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage Bless.Buffers.SaveInPlaceOperation::stageReached + IL_0006: ret + } // end of method SaveInPlaceOperation::get_StageReached - // method line 72 - .method public virtual hidebysig - instance default int64 GetPrivateCopySize () cil managed + // method line 57 + .method family virtual hidebysig + instance default bool StartProgress () cil managed { - // Method begins at RVA 0x2d24 - // Code size 70 (0x46) - .maxstack 2 - .locals init ( - int64 V_0, - class Bless.Buffers.ByteBufferAction V_1, - valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator V_2) - IL_0000: ldc.i4.0 - IL_0001: conv.i8 - IL_0002: stloc.0 - IL_0003: ldarg.0 - IL_0004: ldfld class [mscorlib]System.Collections.Generic.List`1 Bless.Buffers.MultiAction::list - IL_0009: callvirt instance valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator class [mscorlib]System.Collections.Generic.List`1::GetEnumerator() - IL_000e: stloc.2 - .try { // 0 - IL_000f: br IL_0025 - - IL_0014: ldloca.s 2 - IL_0016: call instance !0 valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator::get_Current() - IL_001b: stloc.1 - IL_001c: ldloc.0 - IL_001d: ldloc.1 - IL_001e: callvirt instance int64 class Bless.Buffers.ByteBufferAction::GetPrivateCopySize() - IL_0023: add - IL_0024: stloc.0 - IL_0025: ldloca.s 2 - IL_0027: call instance bool valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator::MoveNext() - IL_002c: brtrue IL_0014 - - IL_0031: leave IL_0044 - - } // end .try 0 - finally { // 0 - IL_0036: ldloca.s 2 - IL_0038: constrained. valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator - IL_003e: callvirt instance void class [mscorlib]System.IDisposable::Dispose() - IL_0043: endfinally - } // end handler 0 - IL_0044: ldloc.0 - IL_0045: ret - } // end of method MultiAction::GetPrivateCopySize - - } // end of class Bless.Buffers.MultiAction -} - -.namespace Bless.Buffers -{ - .class interface public auto ansi abstract IBuffer - { - .custom instance void class [mscorlib]System.Reflection.DefaultMemberAttribute::'.ctor'(string) = (01 00 04 49 74 65 6D 00 00 ) // ...Item.. - + // Method begins at RVA 0x2e8c + // Code size 72 (0x48) + .maxstack 3 + IL_0000: ldarg.0 + IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0006: ldstr "Saving '{0}'" + IL_000b: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) + IL_0010: ldarg.0 + IL_0011: call instance string class Bless.Buffers.SaveInPlaceOperation::get_SavePath() + IL_0016: call string string::Format(string, object) + IL_001b: ldc.i4.3 + IL_001c: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) + IL_0021: pop + IL_0022: ldarg.0 + IL_0023: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0028: ldarg.0 + IL_0029: ldfld int64 Bless.Buffers.SaveInPlaceOperation::bytesSaved + IL_002e: conv.r8 + IL_002f: ldarg.0 + IL_0030: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer + IL_0035: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_003a: conv.r8 + IL_003b: div + IL_003c: box [mscorlib]System.Double + IL_0041: ldc.i4.0 + IL_0042: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) + IL_0047: ret + } // end of method SaveInPlaceOperation::StartProgress - // method line 73 - .method public virtual hidebysig newslot abstract - instance default void Insert (int64 pos, unsigned int8[] data, int64 index, int64 length) cil managed + // method line 58 + .method family virtual hidebysig + instance default bool UpdateProgress () cil managed { - // Method begins at RVA 0x0 - } // end of method IBuffer::Insert + // Method begins at RVA 0x2ee0 + // Code size 38 (0x26) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0006: ldarg.0 + IL_0007: ldfld int64 Bless.Buffers.SaveInPlaceOperation::bytesSaved + IL_000c: conv.r8 + IL_000d: ldarg.0 + IL_000e: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer + IL_0013: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_0018: conv.r8 + IL_0019: div + IL_001a: box [mscorlib]System.Double + IL_001f: ldc.i4.2 + IL_0020: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) + IL_0025: ret + } // end of method SaveInPlaceOperation::UpdateProgress - // method line 74 - .method public virtual hidebysig newslot abstract - instance default int64 Read (unsigned int8[] data, int64 index, int64 pos, int64 len) cil managed + // method line 59 + .method family virtual hidebysig + instance default bool EndProgress () cil managed { - // Method begins at RVA 0x0 - } // end of method IBuffer::Read + // Method begins at RVA 0x2f07 + // Code size 38 (0x26) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0006: ldarg.0 + IL_0007: ldfld int64 Bless.Buffers.SaveInPlaceOperation::bytesSaved + IL_000c: conv.r8 + IL_000d: ldarg.0 + IL_000e: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer + IL_0013: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_0018: conv.r8 + IL_0019: div + IL_001a: box [mscorlib]System.Double + IL_001f: ldc.i4.5 + IL_0020: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) + IL_0025: ret + } // end of method SaveInPlaceOperation::EndProgress - // method line 75 - .method public virtual hidebysig newslot abstract - instance default void Append (unsigned int8[] data, int64 index, int64 length) cil managed + // method line 60 + .method family virtual hidebysig + instance default void DoOperation () cil managed { - // Method begins at RVA 0x0 - } // end of method IBuffer::Append + // Method begins at RVA 0x2f30 + // Code size 538 (0x21a) + .maxstack 6 + .locals init ( + class Bless.Buffers.SegmentCollection V_0, + object V_1, + bool V_2, + unsigned int8[] V_3, + class [Bless.Util]Bless.Util.List`1/Node V_4, + int64 V_5, + class Bless.Buffers.Segment V_6, + int64 V_7, + int64 V_8, + int32 V_9, + int64 V_10) + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: stfld valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage Bless.Buffers.SaveInPlaceOperation::stageReached + IL_0007: ldarg.0 + IL_0008: ldarg.0 + IL_0009: ldfld string Bless.Buffers.SaveInPlaceOperation::savePath + IL_000e: ldc.i4.3 + IL_000f: ldc.i4.2 + IL_0010: ldc.i4.3 + IL_0011: newobj instance void class [mscorlib]System.IO.FileStream::'.ctor'(string, valuetype [mscorlib]System.IO.FileMode, valuetype [mscorlib]System.IO.FileAccess, valuetype [mscorlib]System.IO.FileShare) + IL_0016: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs + IL_001b: ldarg.0 + IL_001c: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer + IL_0021: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.ByteBuffer::segCol + IL_0026: stloc.0 + IL_0027: ldarg.0 + IL_0028: ldfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled + IL_002d: brtrue IL_0085 - // method line 76 - .method public virtual hidebysig newslot abstract - instance default void InsertBuffer (int64 pos, class Bless.Buffers.IBuffer buf, int64 index, int64 length) cil managed - { - // Method begins at RVA 0x0 - } // end of method IBuffer::InsertBuffer + IL_0032: ldarg.0 + IL_0033: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer + IL_0038: ldfld object Bless.Buffers.ByteBuffer::LockObj + IL_003d: stloc.1 + IL_003e: ldc.i4.0 + IL_003f: stloc.2 + .try { // 0 + IL_0040: ldloc.1 + IL_0041: ldloca.s 2 + IL_0043: call void class [mscorlib]System.Threading.Monitor::Enter(object, [out] bool&) + IL_0048: ldarg.0 + IL_0049: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer + IL_004e: callvirt instance void class Bless.Buffers.ByteBuffer::MakePrivateCopyOfUndoRedo() + IL_0053: ldarg.0 + IL_0054: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer + IL_0059: ldc.i4.1 + IL_005a: callvirt instance void class Bless.Buffers.ByteBuffer::set_FileOperationsAllowed(bool) + IL_005f: ldarg.0 + IL_0060: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer + IL_0065: callvirt instance void class Bless.Buffers.ByteBuffer::CloseFile() + IL_006a: ldarg.0 + IL_006b: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer + IL_0070: ldc.i4.0 + IL_0071: callvirt instance void class Bless.Buffers.ByteBuffer::set_FileOperationsAllowed(bool) + IL_0076: leave IL_0085 - // method line 77 - .method public virtual hidebysig newslot abstract - instance default void AppendBuffer (class Bless.Buffers.IBuffer buf, int64 index, int64 length) cil managed - { - // Method begins at RVA 0x0 - } // end of method IBuffer::AppendBuffer + } // end .try 0 + finally { // 0 + IL_007b: ldloc.2 + IL_007c: brfalse.s IL_0084 - // method line 78 - .method public virtual hidebysig newslot abstract specialname - instance default void set_Item (int64 index, unsigned int8 'value') cil managed - { - // Method begins at RVA 0x0 - } // end of method IBuffer::set_Item + IL_007e: ldloc.1 + IL_007f: call void class [mscorlib]System.Threading.Monitor::Exit(object) + IL_0084: endfinally + } // end handler 0 + IL_0085: ldarg.0 + IL_0086: ldc.i4.1 + IL_0087: stfld valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage Bless.Buffers.SaveInPlaceOperation::stageReached + IL_008c: ldc.i4 65535 + IL_0091: newarr [mscorlib]System.Byte + IL_0096: stloc.3 + IL_0097: ldloc.0 + IL_0098: callvirt instance class [Bless.Util]Bless.Util.List`1 class Bless.Buffers.SegmentCollection::get_List() + IL_009d: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::get_First() + IL_00a2: stloc.s 4 + IL_00a4: ldc.i4.0 + IL_00a5: conv.i8 + IL_00a6: stloc.s 5 + IL_00a8: br IL_01f5 - // method line 79 - .method public virtual hidebysig newslot abstract specialname - instance default unsigned int8 get_Item (int64 index) cil managed - { - // Method begins at RVA 0x0 - } // end of method IBuffer::get_Item + IL_00ad: ldloc.s 4 + IL_00af: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_00b4: stloc.s 6 + IL_00b6: ldloc.s 6 + IL_00b8: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_00bd: callvirt instance class [mscorlib]System.Type object::GetType() + IL_00c2: ldtoken Bless.Buffers.FileBuffer + IL_00c7: call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_00cc: call bool class [mscorlib]System.Type::op_Equality(class [mscorlib]System.Type, class [mscorlib]System.Type) + IL_00d1: brfalse IL_00f0 - // method line 80 - .method public virtual hidebysig newslot abstract specialname - instance default int64 get_Size () cil managed - { - // Method begins at RVA 0x0 - } // end of method IBuffer::get_Size + IL_00d6: ldloc.s 5 + IL_00d8: ldloc.s 6 + IL_00da: callvirt instance int64 class Bless.Buffers.Segment::get_Size() + IL_00df: add + IL_00e0: stloc.s 5 + IL_00e2: ldloc.s 4 + IL_00e4: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next + IL_00e9: stloc.s 4 + IL_00eb: br IL_01f5 - .property instance unsigned int8 Item (int64) - { - .get instance default unsigned int8 Bless.Buffers.IBuffer::get_Item (int64 index) - .set instance default void Bless.Buffers.IBuffer::set_Item (int64 index, unsigned int8 'value') - } - .property instance int64 Size () - { - .get instance default int64 Bless.Buffers.IBuffer::get_Size () - } - } // end of class Bless.Buffers.IBuffer -} + IL_00f0: ldloc.s 6 + IL_00f2: callvirt instance int64 class Bless.Buffers.Segment::get_Size() + IL_00f7: stloc.s 7 + IL_00f9: ldloc.s 7 + IL_00fb: ldc.i4 65535 + IL_0100: conv.i8 + IL_0101: div + IL_0102: stloc.s 8 + IL_0104: ldloc.s 7 + IL_0106: ldc.i4 65535 + IL_010b: conv.i8 + IL_010c: rem + IL_010d: conv.i4 + IL_010e: stloc.s 9 + IL_0110: ldarg.0 + IL_0111: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs + IL_0116: ldloc.s 5 + IL_0118: ldc.i4.0 + IL_0119: callvirt instance int64 class [mscorlib]System.IO.Stream::Seek(int64, valuetype [mscorlib]System.IO.SeekOrigin) + IL_011e: pop + IL_011f: ldarg.0 + IL_0120: ldloc.s 5 + IL_0122: stfld int64 Bless.Buffers.SaveInPlaceOperation::bytesSaved + IL_0127: ldc.i4.0 + IL_0128: conv.i8 + IL_0129: stloc.s 10 + IL_012b: br IL_0192 -.namespace Bless.Buffers -{ - .class public auto ansi beforefieldinit BaseBuffer - extends [mscorlib]System.Object - implements Bless.Buffers.IBuffer { - .custom instance void class [mscorlib]System.Reflection.DefaultMemberAttribute::'.ctor'(string) = (01 00 04 49 74 65 6D 00 00 ) // ...Item.. + IL_0130: ldloc.s 6 + IL_0132: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_0137: ldloc.3 + IL_0138: ldc.i4.0 + IL_0139: conv.i8 + IL_013a: ldloc.s 6 + IL_013c: callvirt instance int64 class Bless.Buffers.Segment::get_Start() + IL_0141: ldloc.s 10 + IL_0143: ldc.i4 65535 + IL_0148: conv.i8 + IL_0149: mul + IL_014a: add + IL_014b: ldc.i4 65535 + IL_0150: conv.i8 + IL_0151: callvirt instance int64 class Bless.Buffers.IBuffer::Read(unsigned int8[], int64, int64, int64) + IL_0156: pop + IL_0157: ldarg.0 + IL_0158: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs + IL_015d: ldloc.3 + IL_015e: ldc.i4.0 + IL_015f: ldc.i4 65535 + IL_0164: callvirt instance void class [mscorlib]System.IO.Stream::Write(unsigned int8[], int32, int32) + IL_0169: ldarg.0 + IL_016a: ldloc.s 10 + IL_016c: ldc.i4.1 + IL_016d: conv.i8 + IL_016e: add + IL_016f: ldc.i4 65535 + IL_0174: conv.i8 + IL_0175: mul + IL_0176: stfld int64 Bless.Buffers.SaveInPlaceOperation::bytesSaved + IL_017b: ldarg.0 + IL_017c: ldfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled + IL_0181: brfalse IL_018b + IL_0186: br IL_019b - // method line 81 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed - { - // Method begins at RVA 0x2d88 - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void object::'.ctor'() - IL_0006: ret - } // end of method BaseBuffer::.ctor + IL_018b: ldloc.s 10 + IL_018d: ldc.i4.1 + IL_018e: conv.i8 + IL_018f: add + IL_0190: stloc.s 10 + IL_0192: ldloc.s 10 + IL_0194: ldloc.s 8 + IL_0196: blt IL_0130 - // method line 82 - .method public virtual hidebysig newslot - instance default void Insert (int64 pos, unsigned int8[] data, int64 index, int64 length) cil managed - { - // Method begins at RVA 0x2d90 - // Code size 6 (0x6) - .maxstack 8 - IL_0000: newobj instance void class [mscorlib]System.NotImplementedException::'.ctor'() - IL_0005: throw - } // end of method BaseBuffer::Insert + IL_019b: ldloc.s 9 + IL_019d: brfalse IL_01e0 - // method line 83 - .method public virtual hidebysig newslot - instance default int64 Read (unsigned int8[] data, int64 index, int64 pos, int64 len) cil managed - { - // Method begins at RVA 0x2d97 - // Code size 6 (0x6) - .maxstack 8 - IL_0000: newobj instance void class [mscorlib]System.NotImplementedException::'.ctor'() - IL_0005: throw - } // end of method BaseBuffer::Read + IL_01a2: ldarg.0 + IL_01a3: ldfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled + IL_01a8: brtrue IL_01e0 - // method line 84 - .method public virtual hidebysig newslot - instance default void Append (unsigned int8[] data, int64 index, int64 length) cil managed - { - // Method begins at RVA 0x2d9e - // Code size 6 (0x6) - .maxstack 8 - IL_0000: newobj instance void class [mscorlib]System.NotImplementedException::'.ctor'() - IL_0005: throw - } // end of method BaseBuffer::Append + IL_01ad: ldloc.s 6 + IL_01af: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_01b4: ldloc.3 + IL_01b5: ldc.i4.0 + IL_01b6: conv.i8 + IL_01b7: ldloc.s 6 + IL_01b9: callvirt instance int64 class Bless.Buffers.Segment::get_Start() + IL_01be: ldloc.s 10 + IL_01c0: ldc.i4 65535 + IL_01c5: conv.i8 + IL_01c6: mul + IL_01c7: add + IL_01c8: ldloc.s 9 + IL_01ca: conv.i8 + IL_01cb: callvirt instance int64 class Bless.Buffers.IBuffer::Read(unsigned int8[], int64, int64, int64) + IL_01d0: pop + IL_01d1: ldarg.0 + IL_01d2: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs + IL_01d7: ldloc.3 + IL_01d8: ldc.i4.0 + IL_01d9: ldloc.s 9 + IL_01db: callvirt instance void class [mscorlib]System.IO.Stream::Write(unsigned int8[], int32, int32) + IL_01e0: ldloc.s 5 + IL_01e2: ldloc.s 6 + IL_01e4: callvirt instance int64 class Bless.Buffers.Segment::get_Size() + IL_01e9: add + IL_01ea: stloc.s 5 + IL_01ec: ldloc.s 4 + IL_01ee: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next + IL_01f3: stloc.s 4 + IL_01f5: ldloc.s 4 + IL_01f7: brfalse IL_0207 - // method line 85 - .method public virtual hidebysig newslot - instance default void InsertBuffer (int64 pos, class Bless.Buffers.IBuffer buf, int64 index, int64 length) cil managed - { - // Method begins at RVA 0x2da5 - // Code size 6 (0x6) - .maxstack 8 - IL_0000: newobj instance void class [mscorlib]System.NotImplementedException::'.ctor'() - IL_0005: throw - } // end of method BaseBuffer::InsertBuffer + IL_01fc: ldarg.0 + IL_01fd: ldfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled + IL_0202: brfalse IL_00ad - // method line 86 - .method public virtual hidebysig newslot - instance default void AppendBuffer (class Bless.Buffers.IBuffer buf, int64 index, int64 length) cil managed - { - // Method begins at RVA 0x2dac - // Code size 6 (0x6) - .maxstack 8 - IL_0000: newobj instance void class [mscorlib]System.NotImplementedException::'.ctor'() - IL_0005: throw - } // end of method BaseBuffer::AppendBuffer + IL_0207: ldarg.0 + IL_0208: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs + IL_020d: callvirt instance void class [mscorlib]System.IO.Stream::Close() + IL_0212: ldarg.0 + IL_0213: ldnull + IL_0214: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs + IL_0219: ret + } // end of method SaveInPlaceOperation::DoOperation - // method line 87 - .method public virtual hidebysig newslot specialname - instance default void set_Item (int64 index, unsigned int8 'value') cil managed + // method line 61 + .method family virtual hidebysig + instance default void EndOperation () cil managed { - // Method begins at RVA 0x2db3 - // Code size 6 (0x6) + // Method begins at RVA 0x3168 + // Code size 30 (0x1e) .maxstack 8 - IL_0000: newobj instance void class [mscorlib]System.NotImplementedException::'.ctor'() - IL_0005: throw - } // end of method BaseBuffer::set_Item + IL_0000: ldarg.0 + IL_0001: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs + IL_0006: brfalse IL_001d - // method line 88 - .method public virtual hidebysig newslot specialname - instance default unsigned int8 get_Item (int64 index) cil managed + IL_000b: ldarg.0 + IL_000c: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs + IL_0011: callvirt instance void class [mscorlib]System.IO.Stream::Close() + IL_0016: ldarg.0 + IL_0017: ldnull + IL_0018: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs + IL_001d: ret + } // end of method SaveInPlaceOperation::EndOperation + + // method line 62 + .method private final virtual hidebysig newslot strict + instance default valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Buffers.ISaveState.get_Result () cil managed { - // Method begins at RVA 0x2dba - // Code size 6 (0x6) + // Method begins at RVA 0x3187 + .override Could not decode method override class Bless.Buffers.ISaveState::get_Result due to (null) + // Code size 7 (0x7) .maxstack 8 - IL_0000: newobj instance void class [mscorlib]System.NotImplementedException::'.ctor'() - IL_0005: throw - } // end of method BaseBuffer::get_Item + IL_0000: ldarg.0 + IL_0001: call instance valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_Result() + IL_0006: ret + } // end of method SaveInPlaceOperation::Bless.Buffers.ISaveState.get_Result - // method line 89 - .method public virtual hidebysig newslot specialname - instance default int64 get_Size () cil managed + // method line 63 + .method private final virtual hidebysig newslot strict + instance default class [mscorlib]System.Exception Bless.Buffers.ISaveState.get_ThreadException () cil managed { - // Method begins at RVA 0x2dc1 - // Code size 6 (0x6) + // Method begins at RVA 0x318f + .override Could not decode method override class Bless.Buffers.ISaveState::get_ThreadException due to (null) + // Code size 7 (0x7) .maxstack 8 - IL_0000: newobj instance void class [mscorlib]System.NotImplementedException::'.ctor'() - IL_0005: throw - } // end of method BaseBuffer::get_Size + IL_0000: ldarg.0 + IL_0001: call instance class [mscorlib]System.Exception class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_ThreadException() + IL_0006: ret + } // end of method SaveInPlaceOperation::Bless.Buffers.ISaveState.get_ThreadException - .property instance unsigned int8 Item (int64) + .property instance class Bless.Buffers.ByteBuffer Buffer () { - .get instance default unsigned int8 Bless.Buffers.BaseBuffer::get_Item (int64 index) - .set instance default void Bless.Buffers.BaseBuffer::set_Item (int64 index, unsigned int8 'value') + .get instance default class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::get_Buffer () } - .property instance int64 Size () + .property instance string SavePath () { - .get instance default int64 Bless.Buffers.BaseBuffer::get_Size () + .get instance default string Bless.Buffers.SaveInPlaceOperation::get_SavePath () + .set instance default void Bless.Buffers.SaveInPlaceOperation::set_SavePath (string 'value') } - } // end of class Bless.Buffers.BaseBuffer + .property instance int64 BytesSaved () + { + .get instance default int64 Bless.Buffers.SaveInPlaceOperation::get_BytesSaved () + } + .property instance valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage StageReached () + { + .get instance default valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage Bless.Buffers.SaveInPlaceOperation::get_StageReached () + } + .class nested public auto ansi sealed SaveInPlaceStage + extends [mscorlib]System.Enum + { + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage BeforeClose = int32(0x00000000) + .field public static literal valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage BeforeWrite = int32(0x00000001) + + } // end of class SaveInPlaceStage + + } // end of class Bless.Buffers.SaveInPlaceOperation } .namespace Bless.Buffers @@ -2343,11 +2571,11 @@ .field private class [mscorlib]System.Threading.AutoResetEvent saveFinishedEvent .field private bool useGLibIdle - // method line 90 + // method line 64 .method public hidebysig specialname rtspecialname instance default void '.ctor' () cil managed { - // Method begins at RVA 0x2dc8 + // Method begins at RVA 0x3198 // Code size 179 (0xb3) .maxstack 4 IL_0000: ldarg.0 @@ -2411,11 +2639,11 @@ IL_00b2: ret } // end of method ByteBuffer::.ctor - // method line 91 + // method line 65 .method public hidebysig specialname rtspecialname instance default void '.ctor' (string filename) cil managed { - // Method begins at RVA 0x2e87 + // Method begins at RVA 0x3257 // Code size 26 (0x1a) .maxstack 8 IL_0000: ldarg.0 @@ -2430,11 +2658,11 @@ IL_0019: ret } // end of method ByteBuffer::.ctor - // method line 92 + // method line 66 .method public hidebysig specialname instance default void add_Changed (class Bless.Buffers.ByteBuffer/ChangedHandler 'value') cil managed { - // Method begins at RVA 0x2ea4 + // Method begins at RVA 0x3274 // Code size 42 (0x2a) .maxstack 3 .locals init ( @@ -2461,11 +2689,11 @@ IL_0029: ret } // end of method ByteBuffer::add_Changed - // method line 93 + // method line 67 .method public hidebysig specialname instance default void remove_Changed (class Bless.Buffers.ByteBuffer/ChangedHandler 'value') cil managed { - // Method begins at RVA 0x2edc + // Method begins at RVA 0x32ac // Code size 42 (0x2a) .maxstack 3 .locals init ( @@ -2492,11 +2720,11 @@ IL_0029: ret } // end of method ByteBuffer::remove_Changed - // method line 94 + // method line 68 .method public hidebysig specialname instance default void add_FileChanged (class Bless.Buffers.ByteBuffer/ChangedHandler 'value') cil managed { - // Method begins at RVA 0x2f14 + // Method begins at RVA 0x32e4 // Code size 42 (0x2a) .maxstack 3 .locals init ( @@ -2523,11 +2751,11 @@ IL_0029: ret } // end of method ByteBuffer::add_FileChanged - // method line 95 + // method line 69 .method public hidebysig specialname instance default void remove_FileChanged (class Bless.Buffers.ByteBuffer/ChangedHandler 'value') cil managed { - // Method begins at RVA 0x2f4c + // Method begins at RVA 0x331c // Code size 42 (0x2a) .maxstack 3 .locals init ( @@ -2554,11 +2782,11 @@ IL_0029: ret } // end of method ByteBuffer::remove_FileChanged - // method line 96 + // method line 70 .method public hidebysig specialname instance default void add_PermissionsChanged (class Bless.Buffers.ByteBuffer/ChangedHandler 'value') cil managed { - // Method begins at RVA 0x2f84 + // Method begins at RVA 0x3354 // Code size 42 (0x2a) .maxstack 3 .locals init ( @@ -2585,11 +2813,11 @@ IL_0029: ret } // end of method ByteBuffer::add_PermissionsChanged - // method line 97 + // method line 71 .method public hidebysig specialname instance default void remove_PermissionsChanged (class Bless.Buffers.ByteBuffer/ChangedHandler 'value') cil managed { - // Method begins at RVA 0x2fbc + // Method begins at RVA 0x338c // Code size 42 (0x2a) .maxstack 3 .locals init ( @@ -2616,11 +2844,11 @@ IL_0029: ret } // end of method ByteBuffer::remove_PermissionsChanged - // method line 98 + // method line 72 .method public hidebysig instance default void EmitChanged () cil managed { - // Method begins at RVA 0x2ff2 + // Method begins at RVA 0x33c2 // Code size 35 (0x23) .maxstack 8 IL_0000: ldarg.0 @@ -2638,11 +2866,11 @@ IL_0022: ret } // end of method ByteBuffer::EmitChanged - // method line 99 + // method line 73 .method public hidebysig instance default void EmitFileChanged () cil managed { - // Method begins at RVA 0x3016 + // Method begins at RVA 0x33e6 // Code size 35 (0x23) .maxstack 8 IL_0000: ldarg.0 @@ -2660,11 +2888,11 @@ IL_0022: ret } // end of method ByteBuffer::EmitFileChanged - // method line 100 + // method line 74 .method public hidebysig instance default void EmitPermissionsChanged () cil managed { - // Method begins at RVA 0x303a + // Method begins at RVA 0x340a // Code size 35 (0x23) .maxstack 8 IL_0000: ldarg.0 @@ -2682,11 +2910,11 @@ IL_0022: ret } // end of method ByteBuffer::EmitPermissionsChanged - // method line 101 + // method line 75 .method public static hidebysig default class Bless.Buffers.ByteBuffer FromFile (string filename) cil managed { - // Method begins at RVA 0x3060 + // Method begins at RVA 0x3430 // Code size 27 (0x1b) .maxstack 2 .locals init ( @@ -2704,11 +2932,11 @@ IL_001a: ret } // end of method ByteBuffer::FromFile - // method line 102 + // method line 76 .method public hidebysig instance default void BeginActionChaining () cil managed { - // Method begins at RVA 0x3087 + // Method begins at RVA 0x3457 // Code size 33 (0x21) .maxstack 8 IL_0000: ldarg.0 @@ -2726,11 +2954,11 @@ IL_0020: ret } // end of method ByteBuffer::BeginActionChaining - // method line 103 + // method line 77 .method public hidebysig instance default void EndActionChaining () cil managed { - // Method begins at RVA 0x30a9 + // Method begins at RVA 0x3479 // Code size 28 (0x1c) .maxstack 8 IL_0000: ldarg.0 @@ -2747,11 +2975,11 @@ IL_001b: ret } // end of method ByteBuffer::EndActionChaining - // method line 104 + // method line 78 .method private hidebysig instance default bool HandleChaining (class Bless.Buffers.ByteBufferAction action) cil managed { - // Method begins at RVA 0x30c6 + // Method begins at RVA 0x3496 // Code size 57 (0x39) .maxstack 8 IL_0000: ldarg.0 @@ -2779,11 +3007,11 @@ IL_0038: ret } // end of method ByteBuffer::HandleChaining - // method line 105 + // method line 79 .method private hidebysig instance default void AddUndoAction (class Bless.Buffers.ByteBufferAction action) cil managed { - // Method begins at RVA 0x3100 + // Method begins at RVA 0x34d0 // Code size 71 (0x47) .maxstack 2 IL_0000: ldarg.0 @@ -2814,11 +3042,11 @@ IL_0046: ret } // end of method ByteBuffer::AddUndoAction - // method line 106 + // method line 80 .method private hidebysig instance default void RedoDequeDispose () cil managed { - // Method begins at RVA 0x3153 + // Method begins at RVA 0x3523 // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 @@ -2827,11 +3055,11 @@ IL_000b: ret } // end of method ByteBuffer::RedoDequeDispose - // method line 107 + // method line 81 .method public virtual hidebysig instance default void Append (unsigned int8[] data, int64 index, int64 length) cil managed { - // Method begins at RVA 0x3160 + // Method begins at RVA 0x3530 // Code size 112 (0x70) .maxstack 4 .locals init ( @@ -2893,11 +3121,11 @@ IL_006f: ret } // end of method ByteBuffer::Append - // method line 108 + // method line 82 .method public virtual hidebysig instance default void Insert (int64 pos, unsigned int8[] data, int64 index, int64 length) cil managed { - // Method begins at RVA 0x31ec + // Method begins at RVA 0x35bc // Code size 141 (0x8d) .maxstack 5 .locals init ( @@ -2972,11 +3200,11 @@ IL_008c: ret } // end of method ByteBuffer::Insert - // method line 109 + // method line 83 .method public hidebysig instance default void Delete (int64 pos1, int64 pos2) cil managed { - // Method begins at RVA 0x3298 + // Method begins at RVA 0x3668 // Code size 111 (0x6f) .maxstack 3 .locals init ( @@ -3037,11 +3265,11 @@ IL_006e: ret } // end of method ByteBuffer::Delete - // method line 110 + // method line 84 .method public hidebysig instance default void Replace (int64 pos1, int64 pos2, unsigned int8[] data, int64 index, int64 length) cil managed { - // Method begins at RVA 0x3324 + // Method begins at RVA 0x36f4 // Code size 133 (0x85) .maxstack 6 .locals init ( @@ -3118,11 +3346,11 @@ IL_0084: ret } // end of method ByteBuffer::Replace - // method line 111 + // method line 85 .method public hidebysig instance default void Replace (int64 pos1, int64 pos2, unsigned int8[] data) cil managed { - // Method begins at RVA 0x33c8 + // Method begins at RVA 0x3798 // Code size 16 (0x10) .maxstack 8 IL_0000: ldarg.0 @@ -3139,11 +3367,11 @@ IL_000f: ret } // end of method ByteBuffer::Replace - // method line 112 + // method line 86 .method public hidebysig instance default void Undo () cil managed { - // Method begins at RVA 0x33dc + // Method begins at RVA 0x37ac // Code size 102 (0x66) .maxstack 2 .locals init ( @@ -3197,11 +3425,11 @@ IL_0065: ret } // end of method ByteBuffer::Undo - // method line 113 + // method line 87 .method public hidebysig instance default void Redo () cil managed { - // Method begins at RVA 0x3460 + // Method begins at RVA 0x3830 // Code size 97 (0x61) .maxstack 2 .locals init ( @@ -3254,11 +3482,11 @@ IL_0060: ret } // end of method ByteBuffer::Redo - // method line 114 + // method line 88 .method public hidebysig instance default class [mscorlib]System.IAsyncResult BeginSaveAs (string filename, class [Bless.Util]Bless.Util.ProgressCallback progressCallback, class [mscorlib]System.AsyncCallback ac) cil managed { - // Method begins at RVA 0x34e0 + // Method begins at RVA 0x38b0 // Code size 190 (0xbe) .maxstack 5 .locals init ( @@ -3349,11 +3577,11 @@ IL_00bd: ret } // end of method ByteBuffer::BeginSaveAs - // method line 115 + // method line 89 .method private hidebysig instance default void SaveAsAsyncCallback (class [mscorlib]System.IAsyncResult ar) cil managed { - // Method begins at RVA 0x35bc + // Method begins at RVA 0x398c // Code size 280 (0x118) .maxstack 2 .locals init ( @@ -3476,11 +3704,11 @@ IL_0117: ret } // end of method ByteBuffer::SaveAsAsyncCallback - // method line 116 + // method line 90 .method public hidebysig instance default class [mscorlib]System.IAsyncResult BeginSave (class [Bless.Util]Bless.Util.ProgressCallback progressCallback, class [mscorlib]System.AsyncCallback ac) cil managed { - // Method begins at RVA 0x3714 + // Method begins at RVA 0x3ae4 // Code size 303 (0x12f) .maxstack 5 .locals init ( @@ -3611,11 +3839,11 @@ IL_012e: ret } // end of method ByteBuffer::BeginSave - // method line 117 + // method line 91 .method private hidebysig instance default void SaveAsyncCallback (class [mscorlib]System.IAsyncResult ar) cil managed { - // Method begins at RVA 0x386c + // Method begins at RVA 0x3c3c // Code size 498 (0x1f2) .maxstack 2 .locals init ( @@ -3810,11 +4038,11 @@ IL_01f1: ret } // end of method ByteBuffer::SaveAsyncCallback - // method line 118 + // method line 92 .method private hidebysig instance default void SaveInPlaceAsyncCallback (class [mscorlib]System.IAsyncResult ar) cil managed { - // Method begins at RVA 0x3a88 + // Method begins at RVA 0x3e58 // Code size 242 (0xf2) .maxstack 2 .locals init ( @@ -3921,11 +4149,11 @@ IL_00f1: ret } // end of method ByteBuffer::SaveInPlaceAsyncCallback - // method line 119 + // method line 93 .method public hidebysig instance default void Revert () cil managed { - // Method begins at RVA 0x3b98 + // Method begins at RVA 0x3f68 // Code size 150 (0x96) .maxstack 2 .locals init ( @@ -3996,11 +4224,11 @@ IL_0095: ret } // end of method ByteBuffer::Revert - // method line 120 + // method line 94 .method public hidebysig instance default unsigned int8[] RangeToByteArray (class [Bless.Util]Bless.Util.IRange range) cil managed { - // Method begins at RVA 0x3c4c + // Method begins at RVA 0x401c // Code size 73 (0x49) .maxstack 5 .locals init ( @@ -4048,11 +4276,11 @@ IL_0048: ret } // end of method ByteBuffer::RangeToByteArray - // method line 121 + // method line 95 .method public hidebysig instance default class Bless.Buffers.SegmentCollection RangeToSegmentCollection (class [Bless.Util]Bless.Util.Range range) cil managed { - // Method begins at RVA 0x3ca1 + // Method begins at RVA 0x4071 // Code size 39 (0x27) .maxstack 8 IL_0000: ldarg.1 @@ -4073,11 +4301,11 @@ IL_0026: ret } // end of method ByteBuffer::RangeToSegmentCollection - // method line 122 + // method line 96 .method private hidebysig instance default void LoadWithFile (string filename) cil managed { - // Method begins at RVA 0x3ccc + // Method begins at RVA 0x409c // Code size 120 (0x78) .maxstack 4 .locals init ( @@ -4126,11 +4354,11 @@ IL_0077: ret } // end of method ByteBuffer::LoadWithFile - // method line 123 + // method line 97 .method assembly hidebysig instance default void MakePrivateCopyOfUndoRedo () cil managed { - // Method begins at RVA 0x3d50 + // Method begins at RVA 0x4120 // Code size 501 (0x1f5) .maxstack 2 .locals init ( @@ -4341,11 +4569,11 @@ IL_01f4: ret } // end of method ByteBuffer::MakePrivateCopyOfUndoRedo - // method line 124 + // method line 98 .method private hidebysig instance default void SetupFSW () cil managed { - // Method begins at RVA 0x3fa0 + // Method begins at RVA 0x4370 // Code size 143 (0x8f) .maxstack 3 IL_0000: ldarg.0 @@ -4392,11 +4620,11 @@ IL_008e: ret } // end of method ByteBuffer::SetupFSW - // method line 125 + // method line 99 .method private hidebysig instance default void OnFileChanged (object source, class [System]System.IO.FileSystemEventArgs e) cil managed { - // Method begins at RVA 0x403b + // Method begins at RVA 0x440b // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4404,21 +4632,21 @@ IL_0006: ret } // end of method ByteBuffer::OnFileChanged - // method line 126 + // method line 100 .method public virtual hidebysig specialname instance default void set_Item (int64 index, unsigned int8 'value') cil managed { - // Method begins at RVA 0x4043 + // Method begins at RVA 0x4413 // Code size 1 (0x1) .maxstack 8 IL_0000: ret } // end of method ByteBuffer::set_Item - // method line 127 + // method line 101 .method public virtual hidebysig specialname instance default unsigned int8 get_Item (int64 index) cil managed { - // Method begins at RVA 0x4048 + // Method begins at RVA 0x4418 // Code size 150 (0x96) .maxstack 4 .locals init ( @@ -4499,11 +4727,11 @@ IL_0095: ret } // end of method ByteBuffer::get_Item - // method line 128 + // method line 102 .method public hidebysig instance default void CloseFile () cil managed { - // Method begins at RVA 0x4108 + // Method begins at RVA 0x44d8 // Code size 98 (0x62) .maxstack 2 .locals init ( @@ -4555,11 +4783,11 @@ IL_0061: ret } // end of method ByteBuffer::CloseFile - // method line 129 + // method line 103 .method public virtual hidebysig specialname instance default int64 get_Size () cil managed { - // Method begins at RVA 0x4188 + // Method begins at RVA 0x4558 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4567,11 +4795,11 @@ IL_0006: ret } // end of method ByteBuffer::get_Size - // method line 130 + // method line 104 .method public hidebysig specialname instance default bool get_HasFile () cil managed { - // Method begins at RVA 0x4190 + // Method begins at RVA 0x4560 // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -4583,11 +4811,11 @@ IL_000c: ret } // end of method ByteBuffer::get_HasFile - // method line 131 + // method line 105 .method public hidebysig specialname instance default string get_Filename () cil managed { - // Method begins at RVA 0x419e + // Method begins at RVA 0x456e // Code size 30 (0x1e) .maxstack 8 IL_0000: ldarg.0 @@ -4603,11 +4831,11 @@ IL_001d: ret } // end of method ByteBuffer::get_Filename - // method line 132 + // method line 106 .method public hidebysig specialname instance default bool get_HasChanged () cil managed { - // Method begins at RVA 0x41c0 + // Method begins at RVA 0x4590 // Code size 81 (0x51) .maxstack 2 IL_0000: ldarg.0 @@ -4648,11 +4876,11 @@ IL_0050: ret } // end of method ByteBuffer::get_HasChanged - // method line 133 + // method line 107 .method public hidebysig specialname instance default bool get_CanUndo () cil managed { - // Method begins at RVA 0x421d + // Method begins at RVA 0x45ed // Code size 15 (0xf) .maxstack 8 IL_0000: ldarg.0 @@ -4663,11 +4891,11 @@ IL_000e: ret } // end of method ByteBuffer::get_CanUndo - // method line 134 + // method line 108 .method public hidebysig specialname instance default bool get_CanRedo () cil managed { - // Method begins at RVA 0x422d + // Method begins at RVA 0x45fd // Code size 15 (0xf) .maxstack 8 IL_0000: ldarg.0 @@ -4678,11 +4906,11 @@ IL_000e: ret } // end of method ByteBuffer::get_CanRedo - // method line 135 + // method line 109 .method public hidebysig specialname instance default bool get_ActionChaining () cil managed { - // Method begins at RVA 0x423d + // Method begins at RVA 0x460d // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4690,11 +4918,11 @@ IL_0006: ret } // end of method ByteBuffer::get_ActionChaining - // method line 136 + // method line 110 .method public hidebysig specialname instance default bool get_EmitEvents () cil managed { - // Method begins at RVA 0x4245 + // Method begins at RVA 0x4615 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4702,11 +4930,11 @@ IL_0006: ret } // end of method ByteBuffer::get_EmitEvents - // method line 137 + // method line 111 .method public hidebysig specialname instance default void set_EmitEvents (bool 'value') cil managed { - // Method begins at RVA 0x424d + // Method begins at RVA 0x461d // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 @@ -4715,11 +4943,11 @@ IL_0007: ret } // end of method ByteBuffer::set_EmitEvents - // method line 138 + // method line 112 .method public hidebysig specialname instance default bool get_ReadAllowed () cil managed { - // Method begins at RVA 0x4256 + // Method begins at RVA 0x4626 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4727,11 +4955,11 @@ IL_0006: ret } // end of method ByteBuffer::get_ReadAllowed - // method line 139 + // method line 113 .method public hidebysig specialname instance default void set_ReadAllowed (bool 'value') cil managed { - // Method begins at RVA 0x425e + // Method begins at RVA 0x462e // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 @@ -4742,11 +4970,11 @@ IL_000d: ret } // end of method ByteBuffer::set_ReadAllowed - // method line 140 + // method line 114 .method public hidebysig specialname instance default bool get_ModifyAllowed () cil managed { - // Method begins at RVA 0x426d + // Method begins at RVA 0x463d // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4754,11 +4982,11 @@ IL_0006: ret } // end of method ByteBuffer::get_ModifyAllowed - // method line 141 + // method line 115 .method public hidebysig specialname instance default void set_ModifyAllowed (bool 'value') cil managed { - // Method begins at RVA 0x4275 + // Method begins at RVA 0x4645 // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 @@ -4769,11 +4997,11 @@ IL_000d: ret } // end of method ByteBuffer::set_ModifyAllowed - // method line 142 + // method line 116 .method public hidebysig specialname instance default bool get_FileOperationsAllowed () cil managed { - // Method begins at RVA 0x4284 + // Method begins at RVA 0x4654 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4781,11 +5009,11 @@ IL_0006: ret } // end of method ByteBuffer::get_FileOperationsAllowed - // method line 143 + // method line 117 .method public hidebysig specialname instance default void set_FileOperationsAllowed (bool 'value') cil managed { - // Method begins at RVA 0x428c + // Method begins at RVA 0x465c // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 @@ -4796,11 +5024,11 @@ IL_000d: ret } // end of method ByteBuffer::set_FileOperationsAllowed - // method line 144 + // method line 118 .method public hidebysig specialname instance default bool get_IsResizable () cil managed { - // Method begins at RVA 0x429b + // Method begins at RVA 0x466b // Code size 25 (0x19) .maxstack 8 IL_0000: ldarg.0 @@ -4815,11 +5043,11 @@ IL_0018: ret } // end of method ByteBuffer::get_IsResizable - // method line 145 + // method line 119 .method public hidebysig specialname instance default bool get_UseGLibIdle () cil managed { - // Method begins at RVA 0x42b5 + // Method begins at RVA 0x4685 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4827,11 +5055,11 @@ IL_0006: ret } // end of method ByteBuffer::get_UseGLibIdle - // method line 146 + // method line 120 .method public hidebysig specialname instance default void set_UseGLibIdle (bool 'value') cil managed { - // Method begins at RVA 0x42bd + // Method begins at RVA 0x468d // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 @@ -4840,11 +5068,11 @@ IL_0007: ret } // end of method ByteBuffer::set_UseGLibIdle - // method line 147 + // method line 121 .method public hidebysig specialname instance default int32 get_MaxUndoActions () cil managed { - // Method begins at RVA 0x42c6 + // Method begins at RVA 0x4696 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4852,11 +5080,11 @@ IL_0006: ret } // end of method ByteBuffer::get_MaxUndoActions - // method line 148 + // method line 122 .method public hidebysig specialname instance default void set_MaxUndoActions (int32 'value') cil managed { - // Method begins at RVA 0x42d0 + // Method begins at RVA 0x46a0 // Code size 88 (0x58) .maxstack 2 IL_0000: ldarg.0 @@ -4893,11 +5121,11 @@ IL_0057: ret } // end of method ByteBuffer::set_MaxUndoActions - // method line 149 + // method line 123 .method public hidebysig specialname instance default string get_TempDir () cil managed { - // Method begins at RVA 0x4334 + // Method begins at RVA 0x4704 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4905,11 +5133,11 @@ IL_0006: ret } // end of method ByteBuffer::get_TempDir - // method line 150 + // method line 124 .method public hidebysig specialname instance default void set_TempDir (string 'value') cil managed { - // Method begins at RVA 0x433c + // Method begins at RVA 0x470c // Code size 34 (0x22) .maxstack 8 IL_0000: ldarg.0 @@ -4926,11 +5154,11 @@ IL_0021: ret } // end of method ByteBuffer::set_TempDir - // method line 151 + // method line 125 .method public hidebysig specialname instance default class [Bless.Util]Bless.Util.Range get_Range () cil managed { - // Method begins at RVA 0x4360 + // Method begins at RVA 0x4730 // Code size 44 (0x2c) .maxstack 3 .locals init ( @@ -4958,11 +5186,11 @@ IL_002b: ret } // end of method ByteBuffer::get_Range - // method line 152 + // method line 126 .method assembly hidebysig instance default void Display (string s) cil managed { - // Method begins at RVA 0x4398 + // Method begins at RVA 0x4768 // Code size 23 (0x17) .maxstack 8 IL_0000: ldarg.1 @@ -4974,11 +5202,11 @@ IL_0016: ret } // end of method ByteBuffer::Display - // method line 153 + // method line 127 .method private static hidebysig specialname rtspecialname default void '.cctor' () cil managed { - // Method begins at RVA 0x43b0 + // Method begins at RVA 0x4780 // Code size 7 (0x7) .maxstack 8 IL_0000: ldc.i4.1 @@ -5081,7 +5309,7 @@ extends [mscorlib]System.MulticastDelegate { - // method line 154 + // method line 128 .method public hidebysig specialname rtspecialname instance default void '.ctor' (object 'object', native int 'method') runtime managed { @@ -5089,7 +5317,7 @@ // Disassembly of native methods is not supported } // end of method ChangedHandler::.ctor - // method line 155 + // method line 129 .method public virtual hidebysig newslot instance default void Invoke (class Bless.Buffers.ByteBuffer bb) runtime managed { @@ -5097,7 +5325,7 @@ // Disassembly of native methods is not supported } // end of method ChangedHandler::Invoke - // method line 156 + // method line 130 .method public virtual hidebysig newslot instance default class [mscorlib]System.IAsyncResult BeginInvoke (class Bless.Buffers.ByteBuffer bb, class [mscorlib]System.AsyncCallback callback, object 'object') runtime managed { @@ -5105,7 +5333,7 @@ // Disassembly of native methods is not supported } // end of method ChangedHandler::BeginInvoke - // method line 157 + // method line 131 .method public virtual hidebysig newslot instance default void EndInvoke (class [mscorlib]System.IAsyncResult result) runtime managed { @@ -5120,2028 +5348,1800 @@ .namespace Bless.Buffers { - .class public auto ansi beforefieldinit SegmentCollection - extends [mscorlib]System.Object - { - .field private class [Bless.Util]Bless.Util.List`1 list - .field private class [Bless.Util]Bless.Util.List`1/Node cachedNode - .field private int64 cachedMapping - - // method line 158 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed - { - // Method begins at RVA 0x43b8 - // Code size 18 (0x12) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void object::'.ctor'() - IL_0006: ldarg.0 - IL_0007: newobj instance void class [Bless.Util]Bless.Util.List`1::'.ctor'() - IL_000c: stfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list - IL_0011: ret - } // end of method SegmentCollection::.ctor - - // method line 159 - .method public hidebysig specialname - instance default class [Bless.Util]Bless.Util.List`1 get_List () cil managed - { - // Method begins at RVA 0x43cb - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list - IL_0006: ret - } // end of method SegmentCollection::get_List - - // method line 160 - .method private hidebysig - instance default void InvalidateCache () cil managed - { - // Method begins at RVA 0x43d3 - // Code size 16 (0x10) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldnull - IL_0002: stfld class [Bless.Util]Bless.Util.List`1/Node Bless.Buffers.SegmentCollection::cachedNode - IL_0007: ldarg.0 - IL_0008: ldc.i4.0 - IL_0009: conv.i8 - IL_000a: stfld int64 Bless.Buffers.SegmentCollection::cachedMapping - IL_000f: ret - } // end of method SegmentCollection::InvalidateCache - - // method line 161 - .method private hidebysig - instance default void SetCache (class [Bless.Util]Bless.Util.List`1/Node n, int64 map) cil managed - { - // Method begins at RVA 0x43e4 - // Code size 15 (0xf) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld class [Bless.Util]Bless.Util.List`1/Node Bless.Buffers.SegmentCollection::cachedNode - IL_0007: ldarg.0 - IL_0008: ldarg.2 - IL_0009: stfld int64 Bless.Buffers.SegmentCollection::cachedMapping - IL_000e: ret - } // end of method SegmentCollection::SetCache - - // method line 162 - .method public hidebysig - instance default void Append (class Bless.Buffers.Segment s) cil managed - { - // Method begins at RVA 0x43f4 - // Code size 100 (0x64) - .maxstack 3 - .locals init ( - class [Bless.Util]Bless.Util.List`1/Node V_0, - class Bless.Buffers.Segment V_1) - IL_0000: ldarg.0 - IL_0001: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list - IL_0006: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::get_Last() - IL_000b: stloc.0 - IL_000c: ldloc.0 - IL_000d: brfalse IL_0056 - - IL_0012: ldloc.0 - IL_0013: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_0018: brfalse IL_0056 - - IL_001d: ldloc.0 - IL_001e: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_0023: stloc.1 - IL_0024: ldarg.1 - IL_0025: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_002a: ldloc.1 - IL_002b: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_0030: bne.un IL_0056 - - IL_0035: ldarg.1 - IL_0036: callvirt instance int64 class Bless.Buffers.Segment::get_Start() - IL_003b: ldloc.1 - IL_003c: callvirt instance int64 class Bless.Buffers.Segment::get_End() - IL_0041: ldc.i4.1 - IL_0042: conv.i8 - IL_0043: add - IL_0044: bne.un IL_0056 - - IL_0049: ldloc.1 - IL_004a: ldarg.1 - IL_004b: callvirt instance int64 class Bless.Buffers.Segment::get_End() - IL_0050: callvirt instance void class Bless.Buffers.Segment::set_End(int64) - IL_0055: ret - IL_0056: ldarg.0 - IL_0057: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list - IL_005c: ldarg.1 - IL_005d: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::Append(!0) - IL_0062: pop - IL_0063: ret - } // end of method SegmentCollection::Append - - // method line 163 - .method private hidebysig - instance default class [Bless.Util]Bless.Util.List`1/Node InsertAfter (class [Bless.Util]Bless.Util.List`1/Node n, class Bless.Buffers.Segment s) cil managed - { - // Method begins at RVA 0x4464 - // Code size 89 (0x59) - .maxstack 3 - .locals init ( - class Bless.Buffers.Segment V_0) - IL_0000: ldarg.1 - IL_0001: brfalse IL_004b - - IL_0006: ldarg.1 - IL_0007: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_000c: brfalse IL_004b - - IL_0011: ldarg.1 - IL_0012: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_0017: stloc.0 - IL_0018: ldarg.2 - IL_0019: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_001e: ldloc.0 - IL_001f: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_0024: bne.un IL_004b - - IL_0029: ldarg.2 - IL_002a: callvirt instance int64 class Bless.Buffers.Segment::get_Start() - IL_002f: ldloc.0 - IL_0030: callvirt instance int64 class Bless.Buffers.Segment::get_End() - IL_0035: ldc.i4.1 - IL_0036: conv.i8 - IL_0037: add - IL_0038: bne.un IL_004b - - IL_003d: ldloc.0 - IL_003e: ldarg.2 - IL_003f: callvirt instance int64 class Bless.Buffers.Segment::get_End() - IL_0044: callvirt instance void class Bless.Buffers.Segment::set_End(int64) - IL_0049: ldarg.1 - IL_004a: ret - IL_004b: ldarg.0 - IL_004c: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list - IL_0051: ldarg.1 - IL_0052: ldarg.2 - IL_0053: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::InsertAfter(class [Bless.Util]Bless.Util.List`1/Node, !0) - IL_0058: ret - } // end of method SegmentCollection::InsertAfter - - // method line 164 - .method private hidebysig - instance default class [Bless.Util]Bless.Util.List`1/Node InsertBefore (class [Bless.Util]Bless.Util.List`1/Node n, class Bless.Buffers.Segment s) cil managed - { - // Method begins at RVA 0x44cc - // Code size 89 (0x59) - .maxstack 3 - .locals init ( - class Bless.Buffers.Segment V_0) - IL_0000: ldarg.1 - IL_0001: brfalse IL_004b - - IL_0006: ldarg.1 - IL_0007: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_000c: brfalse IL_004b - - IL_0011: ldarg.1 - IL_0012: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_0017: stloc.0 - IL_0018: ldarg.2 - IL_0019: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_001e: ldloc.0 - IL_001f: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_0024: bne.un IL_004b - - IL_0029: ldarg.2 - IL_002a: callvirt instance int64 class Bless.Buffers.Segment::get_End() - IL_002f: ldc.i4.1 - IL_0030: conv.i8 - IL_0031: add - IL_0032: ldloc.0 - IL_0033: callvirt instance int64 class Bless.Buffers.Segment::get_Start() - IL_0038: bne.un IL_004b - - IL_003d: ldloc.0 - IL_003e: ldarg.2 - IL_003f: callvirt instance int64 class Bless.Buffers.Segment::get_Start() - IL_0044: callvirt instance void class Bless.Buffers.Segment::set_Start(int64) - IL_0049: ldarg.1 - IL_004a: ret - IL_004b: ldarg.0 - IL_004c: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list - IL_0051: ldarg.1 - IL_0052: ldarg.2 - IL_0053: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::InsertBefore(class [Bless.Util]Bless.Util.List`1/Node, !0) - IL_0058: ret - } // end of method SegmentCollection::InsertBefore + .class private auto ansi abstract beforefieldinit ByteBufferAction + extends [mscorlib]System.Object + { - // method line 165 - .method public hidebysig - instance default class Bless.Buffers.Segment FindSegment (int64 offset, [out] int64& OutMapping, [out] class [Bless.Util]Bless.Util.List`1/Node& OutNode) cil managed + // method line 132 + .method family hidebysig specialname rtspecialname + instance default void '.ctor' () cil managed { - // Method begins at RVA 0x4534 - // Code size 258 (0x102) - .maxstack 3 - .locals init ( - class Bless.Buffers.Segment V_0, - int64 V_1, - class [Bless.Util]Bless.Util.List`1/Node V_2) - IL_0000: ldarg.2 - IL_0001: ldc.i4.0 - IL_0002: conv.i8 - IL_0003: stind.i8 - IL_0004: ldarg.3 - IL_0005: ldnull - IL_0006: stind.ref - IL_0007: ldarg.0 - IL_0008: ldfld class [Bless.Util]Bless.Util.List`1/Node Bless.Buffers.SegmentCollection::cachedNode - IL_000d: brtrue IL_0037 + // Method begins at RVA 0x4788 + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void object::'.ctor'() + IL_0006: ret + } // end of method ByteBufferAction::.ctor - IL_0012: ldarg.0 - IL_0013: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list - IL_0018: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::get_First() - IL_001d: brtrue IL_0024 + // method line 133 + .method public virtual hidebysig newslot abstract + instance default void Do () cil managed + { + // Method begins at RVA 0x0 + } // end of method ByteBufferAction::Do - IL_0022: ldnull - IL_0023: ret - IL_0024: ldarg.0 - IL_0025: ldarg.0 - IL_0026: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list - IL_002b: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::get_First() - IL_0030: ldc.i4.0 - IL_0031: conv.i8 - IL_0032: call instance void class Bless.Buffers.SegmentCollection::SetCache(class [Bless.Util]Bless.Util.List`1/Node, int64) - IL_0037: ldarg.0 - IL_0038: ldfld class [Bless.Util]Bless.Util.List`1/Node Bless.Buffers.SegmentCollection::cachedNode - IL_003d: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_0042: stloc.0 - IL_0043: ldarg.0 - IL_0044: ldfld int64 Bless.Buffers.SegmentCollection::cachedMapping - IL_0049: stloc.1 - IL_004a: ldarg.0 - IL_004b: ldfld class [Bless.Util]Bless.Util.List`1/Node Bless.Buffers.SegmentCollection::cachedNode - IL_0050: stloc.2 - IL_0051: ldloc.0 - IL_0052: ldarg.1 - IL_0053: ldloc.1 - IL_0054: callvirt instance bool class Bless.Buffers.Segment::Contains(int64, int64) - IL_0059: brfalse IL_0066 + // method line 134 + .method public virtual hidebysig newslot abstract + instance default void Undo () cil managed + { + // Method begins at RVA 0x0 + } // end of method ByteBufferAction::Undo - IL_005e: ldarg.2 - IL_005f: ldloc.1 - IL_0060: stind.i8 - IL_0061: ldarg.3 - IL_0062: ldloc.2 - IL_0063: stind.ref - IL_0064: ldloc.0 - IL_0065: ret - IL_0066: ldarg.1 - IL_0067: ldloc.1 - IL_0068: bge IL_00b6 + // method line 135 + .method public virtual hidebysig newslot + instance default void MakePrivateCopyOfData () cil managed + { + // Method begins at RVA 0x4790 + // Code size 1 (0x1) + .maxstack 8 + IL_0000: ret + } // end of method ByteBufferAction::MakePrivateCopyOfData - IL_006d: br IL_00a6 + // method line 136 + .method public virtual hidebysig newslot + instance default int64 GetPrivateCopySize () cil managed + { + // Method begins at RVA 0x4792 + // Code size 3 (0x3) + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: conv.i8 + IL_0002: ret + } // end of method ByteBufferAction::GetPrivateCopySize - IL_0072: ldloc.2 - IL_0073: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev - IL_0078: stloc.2 - IL_0079: ldloc.2 - IL_007a: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_007f: stloc.0 - IL_0080: ldloc.1 - IL_0081: ldloc.0 - IL_0082: callvirt instance int64 class Bless.Buffers.Segment::get_Size() - IL_0087: sub - IL_0088: stloc.1 - IL_0089: ldloc.0 - IL_008a: ldarg.1 - IL_008b: ldloc.1 - IL_008c: callvirt instance bool class Bless.Buffers.Segment::Contains(int64, int64) - IL_0091: brfalse IL_00a6 + } // end of class Bless.Buffers.ByteBufferAction +} - IL_0096: ldarg.0 - IL_0097: ldloc.2 - IL_0098: ldloc.1 - IL_0099: call instance void class Bless.Buffers.SegmentCollection::SetCache(class [Bless.Util]Bless.Util.List`1/Node, int64) - IL_009e: ldarg.2 - IL_009f: ldloc.1 - IL_00a0: stind.i8 - IL_00a1: ldarg.3 - IL_00a2: ldloc.2 - IL_00a3: stind.ref - IL_00a4: ldloc.0 - IL_00a5: ret - IL_00a6: ldloc.2 - IL_00a7: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev - IL_00ac: brtrue IL_0072 +.namespace Bless.Buffers +{ + .class private auto ansi beforefieldinit AppendAction + extends Bless.Buffers.ByteBufferAction + { + .field private class Bless.Buffers.Segment seg + .field private class Bless.Buffers.ByteBuffer byteBuf - IL_00b1: br IL_00fa + // method line 137 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (unsigned int8[] d, int64 index, int64 length, class Bless.Buffers.ByteBuffer bb) cil managed + { + // Method begins at RVA 0x4798 + // Code size 79 (0x4f) + .maxstack 5 + .locals init ( + class Bless.Buffers.SimpleBuffer V_0) + IL_0000: ldarg.0 + IL_0001: call instance void class Bless.Buffers.ByteBufferAction::'.ctor'() + IL_0006: ldarg.0 + IL_0007: ldarg.s 4 + IL_0009: stfld class Bless.Buffers.ByteBuffer Bless.Buffers.AppendAction::byteBuf + IL_000e: ldarg.1 + IL_000f: ldlen + IL_0010: conv.i4 + IL_0011: brtrue IL_0022 - IL_00b6: br IL_00ef + IL_0016: ldarg.0 + IL_0017: ldnull + IL_0018: stfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg + IL_001d: br IL_004e - IL_00bb: ldloc.1 - IL_00bc: ldloc.0 - IL_00bd: callvirt instance int64 class Bless.Buffers.Segment::get_Size() - IL_00c2: add - IL_00c3: stloc.1 - IL_00c4: ldloc.2 - IL_00c5: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next - IL_00ca: stloc.2 - IL_00cb: ldloc.2 - IL_00cc: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_00d1: stloc.0 - IL_00d2: ldloc.0 - IL_00d3: ldarg.1 - IL_00d4: ldloc.1 - IL_00d5: callvirt instance bool class Bless.Buffers.Segment::Contains(int64, int64) - IL_00da: brfalse IL_00ef + IL_0022: newobj instance void class Bless.Buffers.SimpleBuffer::'.ctor'() + IL_0027: stloc.0 + IL_0028: ldarg.0 + IL_0029: ldloc.0 + IL_002a: ldloc.0 + IL_002b: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_0030: ldloc.0 + IL_0031: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_0036: ldarg.3 + IL_0037: add + IL_0038: ldc.i4.1 + IL_0039: conv.i8 + IL_003a: sub + IL_003b: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) + IL_0040: stfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg + IL_0045: ldloc.0 + IL_0046: ldarg.1 + IL_0047: ldarg.2 + IL_0048: ldarg.3 + IL_0049: callvirt instance void class Bless.Buffers.BaseBuffer::Append(unsigned int8[], int64, int64) + IL_004e: ret + } // end of method AppendAction::.ctor - IL_00df: ldarg.0 - IL_00e0: ldloc.2 - IL_00e1: ldloc.1 - IL_00e2: call instance void class Bless.Buffers.SegmentCollection::SetCache(class [Bless.Util]Bless.Util.List`1/Node, int64) - IL_00e7: ldarg.2 - IL_00e8: ldloc.1 - IL_00e9: stind.i8 - IL_00ea: ldarg.3 - IL_00eb: ldloc.2 - IL_00ec: stind.ref - IL_00ed: ldloc.0 - IL_00ee: ret - IL_00ef: ldloc.2 - IL_00f0: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next - IL_00f5: brtrue IL_00bb + // method line 138 + .method public virtual hidebysig + instance default void Do () cil managed + { + // Method begins at RVA 0x47f4 + // Code size 96 (0x60) + .maxstack 4 + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg + IL_0006: brtrue IL_000c - IL_00fa: ldarg.2 - IL_00fb: ldloc.1 - IL_00fc: stind.i8 - IL_00fd: ldarg.3 - IL_00fe: ldloc.2 - IL_00ff: stind.ref - IL_0100: ldnull - IL_0101: ret - } // end of method SegmentCollection::FindSegment + IL_000b: ret + IL_000c: ldarg.0 + IL_000d: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.AppendAction::byteBuf + IL_0012: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.ByteBuffer::segCol + IL_0017: ldarg.0 + IL_0018: ldfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg + IL_001d: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_0022: ldarg.0 + IL_0023: ldfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg + IL_0028: callvirt instance int64 class Bless.Buffers.Segment::get_Start() + IL_002d: ldarg.0 + IL_002e: ldfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg + IL_0033: callvirt instance int64 class Bless.Buffers.Segment::get_End() + IL_0038: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) + IL_003d: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) + IL_0042: ldarg.0 + IL_0043: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.AppendAction::byteBuf + IL_0048: dup + IL_0049: ldfld int64 Bless.Buffers.ByteBuffer::size + IL_004e: ldarg.0 + IL_004f: ldfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg + IL_0054: callvirt instance int64 class Bless.Buffers.Segment::get_Size() + IL_0059: add + IL_005a: stfld int64 Bless.Buffers.ByteBuffer::size + IL_005f: ret + } // end of method AppendAction::Do - // method line 166 - .method public hidebysig - instance default void Insert (class Bless.Buffers.SegmentCollection sc, int64 offset) cil managed + // method line 139 + .method public virtual hidebysig + instance default void Undo () cil managed { - // Method begins at RVA 0x4644 - // Code size 319 (0x13f) + // Method begins at RVA 0x4860 + // Code size 96 (0x60) .maxstack 4 - .locals init ( - int64 V_0, - class [Bless.Util]Bless.Util.List`1/Node V_1, - class Bless.Buffers.Segment V_2, - class [Bless.Util]Bless.Util.List`1 V_3, - int32 V_4, - class [Bless.Util]Bless.Util.List`1/Node V_5, - int32 V_6, - class [Bless.Util]Bless.Util.List`1 V_7, - int32 V_8, - class [Bless.Util]Bless.Util.List`1/Node V_9, - int32 V_10, - class Bless.Buffers.Segment V_11, - class [Bless.Util]Bless.Util.List`1 V_12, - int32 V_13, - class [Bless.Util]Bless.Util.List`1/Node V_14, - int32 V_15) IL_0000: ldarg.0 - IL_0001: ldarg.2 - IL_0002: ldloca.s 0 - IL_0004: ldloca.s 1 - IL_0006: call instance class Bless.Buffers.Segment class Bless.Buffers.SegmentCollection::FindSegment(int64, [out] int64&, [out] class [Bless.Util]Bless.Util.List`1/Node&) - IL_000b: stloc.2 - IL_000c: ldloc.2 - IL_000d: brtrue IL_007e - - IL_0012: ldloc.1 - IL_0013: brtrue IL_0020 + IL_0001: ldfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg + IL_0006: brtrue IL_000c - IL_0018: ldarg.2 - IL_0019: ldc.i4.0 - IL_001a: conv.i8 - IL_001b: beq IL_0039 + IL_000b: ret + IL_000c: ldarg.0 + IL_000d: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.AppendAction::byteBuf + IL_0012: dup + IL_0013: ldfld int64 Bless.Buffers.ByteBuffer::size + IL_0018: ldarg.0 + IL_0019: ldfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg + IL_001e: callvirt instance int64 class Bless.Buffers.Segment::get_Size() + IL_0023: sub + IL_0024: stfld int64 Bless.Buffers.ByteBuffer::size + IL_0029: ldarg.0 + IL_002a: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.AppendAction::byteBuf + IL_002f: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.ByteBuffer::segCol + IL_0034: ldarg.0 + IL_0035: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.AppendAction::byteBuf + IL_003a: ldfld int64 Bless.Buffers.ByteBuffer::size + IL_003f: ldarg.0 + IL_0040: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.AppendAction::byteBuf + IL_0045: ldfld int64 Bless.Buffers.ByteBuffer::size + IL_004a: ldarg.0 + IL_004b: ldfld class Bless.Buffers.Segment Bless.Buffers.AppendAction::seg + IL_0050: callvirt instance int64 class Bless.Buffers.Segment::get_Size() + IL_0055: add + IL_0056: ldc.i4.1 + IL_0057: conv.i8 + IL_0058: sub + IL_0059: callvirt instance class Bless.Buffers.SegmentCollection class Bless.Buffers.SegmentCollection::DeleteRange(int64, int64) + IL_005e: pop + IL_005f: ret + } // end of method AppendAction::Undo - IL_0020: ldloc.1 - IL_0021: brfalse IL_007d + } // end of class Bless.Buffers.AppendAction +} - IL_0026: ldarg.2 - IL_0027: ldloc.0 - IL_0028: ldloc.1 - IL_0029: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_002e: callvirt instance int64 class Bless.Buffers.Segment::get_Size() - IL_0033: add - IL_0034: bne.un IL_007d +.namespace Bless.Buffers +{ + .class private auto ansi beforefieldinit InsertAction + extends Bless.Buffers.ByteBufferAction + { + .field private class Bless.Buffers.Segment seg + .field private int64 pos + .field private class Bless.Buffers.ByteBuffer byteBuf - IL_0039: ldarg.1 - IL_003a: callvirt instance class [Bless.Util]Bless.Util.List`1 class Bless.Buffers.SegmentCollection::get_List() - IL_003f: stloc.3 - IL_0040: ldloc.3 - IL_0041: callvirt instance int32 class [Bless.Util]Bless.Util.List`1::get_Count() - IL_0046: stloc.s 4 - IL_0048: ldloc.3 - IL_0049: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::get_First() - IL_004e: stloc.s 5 - IL_0050: ldc.i4.0 - IL_0051: stloc.s 6 - IL_0053: br IL_0074 + // method line 140 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (int64 p, unsigned int8[] d, int64 index, int64 length, class Bless.Buffers.ByteBuffer bb) cil managed + { + // Method begins at RVA 0x48cc + // Code size 89 (0x59) + .maxstack 5 + .locals init ( + class Bless.Buffers.SimpleBuffer V_0) + IL_0000: ldarg.0 + IL_0001: call instance void class Bless.Buffers.ByteBufferAction::'.ctor'() + IL_0006: ldarg.0 + IL_0007: ldarg.s 5 + IL_0009: stfld class Bless.Buffers.ByteBuffer Bless.Buffers.InsertAction::byteBuf + IL_000e: ldarg.0 + IL_000f: ldarg.1 + IL_0010: stfld int64 Bless.Buffers.InsertAction::pos + IL_0015: ldarg.s 4 + IL_0017: ldc.i4.0 + IL_0018: conv.i8 + IL_0019: bne.un IL_002a - IL_0058: ldarg.0 - IL_0059: ldloc.s 5 - IL_005b: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_0060: call instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) - IL_0065: ldloc.s 5 - IL_0067: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next - IL_006c: stloc.s 5 - IL_006e: ldloc.s 6 - IL_0070: ldc.i4.1 - IL_0071: add - IL_0072: stloc.s 6 - IL_0074: ldloc.s 6 - IL_0076: ldloc.s 4 - IL_0078: blt IL_0058 + IL_001e: ldarg.0 + IL_001f: ldnull + IL_0020: stfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg + IL_0025: br IL_0058 - IL_007d: ret - IL_007e: ldloc.0 - IL_007f: ldarg.2 - IL_0080: bne.un IL_00db + IL_002a: newobj instance void class Bless.Buffers.SimpleBuffer::'.ctor'() + IL_002f: stloc.0 + IL_0030: ldarg.0 + IL_0031: ldloc.0 + IL_0032: ldloc.0 + IL_0033: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_0038: ldloc.0 + IL_0039: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_003e: ldarg.s 4 + IL_0040: add + IL_0041: ldc.i4.1 + IL_0042: conv.i8 + IL_0043: sub + IL_0044: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) + IL_0049: stfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg + IL_004e: ldloc.0 + IL_004f: ldarg.2 + IL_0050: ldarg.3 + IL_0051: ldarg.s 4 + IL_0053: callvirt instance void class Bless.Buffers.BaseBuffer::Append(unsigned int8[], int64, int64) + IL_0058: ret + } // end of method InsertAction::.ctor - IL_0085: ldarg.1 - IL_0086: callvirt instance class [Bless.Util]Bless.Util.List`1 class Bless.Buffers.SegmentCollection::get_List() - IL_008b: stloc.s 7 - IL_008d: ldloc.s 7 - IL_008f: callvirt instance int32 class [Bless.Util]Bless.Util.List`1::get_Count() - IL_0094: stloc.s 8 - IL_0096: ldloc.s 7 - IL_0098: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::get_Last() - IL_009d: stloc.s 9 - IL_009f: ldc.i4.0 - IL_00a0: stloc.s 10 - IL_00a2: br IL_00c5 + // method line 141 + .method public virtual hidebysig + instance default void Do () cil managed + { + // Method begins at RVA 0x4934 + // Code size 115 (0x73) + .maxstack 4 + .locals init ( + class Bless.Buffers.SegmentCollection V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg + IL_0006: brtrue IL_000c - IL_00a7: ldarg.0 - IL_00a8: ldloc.1 - IL_00a9: ldloc.s 9 - IL_00ab: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_00b0: call instance class [Bless.Util]Bless.Util.List`1/Node class Bless.Buffers.SegmentCollection::InsertBefore(class [Bless.Util]Bless.Util.List`1/Node, class Bless.Buffers.Segment) - IL_00b5: stloc.1 - IL_00b6: ldloc.s 9 - IL_00b8: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev - IL_00bd: stloc.s 9 - IL_00bf: ldloc.s 10 - IL_00c1: ldc.i4.1 - IL_00c2: add - IL_00c3: stloc.s 10 - IL_00c5: ldloc.s 10 - IL_00c7: ldloc.s 8 - IL_00c9: blt IL_00a7 + IL_000b: ret + IL_000c: newobj instance void class Bless.Buffers.SegmentCollection::'.ctor'() + IL_0011: stloc.0 + IL_0012: ldloc.0 + IL_0013: ldarg.0 + IL_0014: ldfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg + IL_0019: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_001e: ldarg.0 + IL_001f: ldfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg + IL_0024: callvirt instance int64 class Bless.Buffers.Segment::get_Start() + IL_0029: ldarg.0 + IL_002a: ldfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg + IL_002f: callvirt instance int64 class Bless.Buffers.Segment::get_End() + IL_0034: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) + IL_0039: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) + IL_003e: ldarg.0 + IL_003f: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.InsertAction::byteBuf + IL_0044: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.ByteBuffer::segCol + IL_0049: ldloc.0 + IL_004a: ldarg.0 + IL_004b: ldfld int64 Bless.Buffers.InsertAction::pos + IL_0050: callvirt instance void class Bless.Buffers.SegmentCollection::Insert(class Bless.Buffers.SegmentCollection, int64) + IL_0055: ldarg.0 + IL_0056: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.InsertAction::byteBuf + IL_005b: dup + IL_005c: ldfld int64 Bless.Buffers.ByteBuffer::size + IL_0061: ldarg.0 + IL_0062: ldfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg + IL_0067: callvirt instance int64 class Bless.Buffers.Segment::get_Size() + IL_006c: add + IL_006d: stfld int64 Bless.Buffers.ByteBuffer::size + IL_0072: ret + } // end of method InsertAction::Do - IL_00ce: ldarg.0 - IL_00cf: ldloc.1 - IL_00d0: ldloc.0 - IL_00d1: call instance void class Bless.Buffers.SegmentCollection::SetCache(class [Bless.Util]Bless.Util.List`1/Node, int64) - IL_00d6: br IL_013e + // method line 142 + .method public virtual hidebysig + instance default void Undo () cil managed + { + // Method begins at RVA 0x49b4 + // Code size 86 (0x56) + .maxstack 4 + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg + IL_0006: brtrue IL_000c - IL_00db: ldloc.2 - IL_00dc: ldarg.2 - IL_00dd: ldloc.0 - IL_00de: sub - IL_00df: callvirt instance class Bless.Buffers.Segment class Bless.Buffers.Segment::SplitAt(int64) - IL_00e4: stloc.s 11 - IL_00e6: ldarg.0 - IL_00e7: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list - IL_00ec: ldloc.1 - IL_00ed: ldloc.s 11 - IL_00ef: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::InsertAfter(class [Bless.Util]Bless.Util.List`1/Node, !0) - IL_00f4: pop - IL_00f5: ldarg.1 - IL_00f6: callvirt instance class [Bless.Util]Bless.Util.List`1 class Bless.Buffers.SegmentCollection::get_List() - IL_00fb: stloc.s 12 - IL_00fd: ldloc.s 12 - IL_00ff: callvirt instance int32 class [Bless.Util]Bless.Util.List`1::get_Count() - IL_0104: stloc.s 13 - IL_0106: ldloc.s 12 - IL_0108: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::get_First() - IL_010d: stloc.s 14 - IL_010f: ldc.i4.0 - IL_0110: stloc.s 15 - IL_0112: br IL_0135 + IL_000b: ret + IL_000c: ldarg.0 + IL_000d: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.InsertAction::byteBuf + IL_0012: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.ByteBuffer::segCol + IL_0017: ldarg.0 + IL_0018: ldfld int64 Bless.Buffers.InsertAction::pos + IL_001d: ldarg.0 + IL_001e: ldfld int64 Bless.Buffers.InsertAction::pos + IL_0023: ldarg.0 + IL_0024: ldfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg + IL_0029: callvirt instance int64 class Bless.Buffers.Segment::get_Size() + IL_002e: add + IL_002f: ldc.i4.1 + IL_0030: conv.i8 + IL_0031: sub + IL_0032: callvirt instance class Bless.Buffers.SegmentCollection class Bless.Buffers.SegmentCollection::DeleteRange(int64, int64) + IL_0037: pop + IL_0038: ldarg.0 + IL_0039: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.InsertAction::byteBuf + IL_003e: dup + IL_003f: ldfld int64 Bless.Buffers.ByteBuffer::size + IL_0044: ldarg.0 + IL_0045: ldfld class Bless.Buffers.Segment Bless.Buffers.InsertAction::seg + IL_004a: callvirt instance int64 class Bless.Buffers.Segment::get_Size() + IL_004f: sub + IL_0050: stfld int64 Bless.Buffers.ByteBuffer::size + IL_0055: ret + } // end of method InsertAction::Undo - IL_0117: ldarg.0 - IL_0118: ldloc.1 - IL_0119: ldloc.s 14 - IL_011b: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_0120: call instance class [Bless.Util]Bless.Util.List`1/Node class Bless.Buffers.SegmentCollection::InsertAfter(class [Bless.Util]Bless.Util.List`1/Node, class Bless.Buffers.Segment) - IL_0125: stloc.1 - IL_0126: ldloc.s 14 - IL_0128: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next - IL_012d: stloc.s 14 - IL_012f: ldloc.s 15 - IL_0131: ldc.i4.1 - IL_0132: add - IL_0133: stloc.s 15 - IL_0135: ldloc.s 15 - IL_0137: ldloc.s 13 - IL_0139: blt IL_0117 + } // end of class Bless.Buffers.InsertAction +} - IL_013e: ret - } // end of method SegmentCollection::Insert +.namespace Bless.Buffers +{ + .class private auto ansi beforefieldinit DeleteAction + extends Bless.Buffers.ByteBufferAction + { + .field private class Bless.Buffers.SegmentCollection del + .field private int64 pos1 + .field private int64 pos2 + .field private class Bless.Buffers.ByteBuffer byteBuf - // method line 167 - .method public hidebysig - instance default class Bless.Buffers.SegmentCollection DeleteRange (int64 pos1, int64 pos2) cil managed + // method line 143 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (int64 p1, int64 p2, class Bless.Buffers.ByteBuffer bb) cil managed { - // Method begins at RVA 0x4790 - // Code size 492 (0x1ec) - .maxstack 4 - .locals init ( - int64 V_0, - int64 V_1, - class [Bless.Util]Bless.Util.List`1/Node V_2, - class [Bless.Util]Bless.Util.List`1/Node V_3, - class Bless.Buffers.Segment V_4, - class Bless.Buffers.Segment V_5, - bool V_6, - class Bless.Buffers.Segment V_7, - class Bless.Buffers.Segment V_8, - class Bless.Buffers.Segment V_9, - class Bless.Buffers.SegmentCollection V_10, - class Bless.Buffers.Segment V_11, - class [Bless.Util]Bless.Util.List`1/Node V_12, - class Bless.Buffers.Segment V_13, - class Bless.Buffers.Segment V_14, - class Bless.Buffers.SegmentCollection V_15, - class [Bless.Util]Bless.Util.List`1/Node V_16) + // Method begins at RVA 0x4a16 + // Code size 28 (0x1c) + .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldarg.2 - IL_0002: ldloca.s 1 - IL_0004: ldloca.s 3 - IL_0006: call instance class Bless.Buffers.Segment class Bless.Buffers.SegmentCollection::FindSegment(int64, [out] int64&, [out] class [Bless.Util]Bless.Util.List`1/Node&) - IL_000b: stloc.s 4 + IL_0001: call instance void class Bless.Buffers.ByteBufferAction::'.ctor'() + IL_0006: ldarg.0 + IL_0007: ldarg.3 + IL_0008: stfld class Bless.Buffers.ByteBuffer Bless.Buffers.DeleteAction::byteBuf IL_000d: ldarg.0 IL_000e: ldarg.1 - IL_000f: ldloca.s 0 - IL_0011: ldloca.s 2 - IL_0013: call instance class Bless.Buffers.Segment class Bless.Buffers.SegmentCollection::FindSegment(int64, [out] int64&, [out] class [Bless.Util]Bless.Util.List`1/Node&) - IL_0018: stloc.s 5 - IL_001a: ldloc.s 5 - IL_001c: brfalse IL_0028 - - IL_0021: ldloc.s 4 - IL_0023: brtrue IL_002a + IL_000f: stfld int64 Bless.Buffers.DeleteAction::pos1 + IL_0014: ldarg.0 + IL_0015: ldarg.2 + IL_0016: stfld int64 Bless.Buffers.DeleteAction::pos2 + IL_001b: ret + } // end of method DeleteAction::.ctor - IL_0028: ldnull - IL_0029: ret - IL_002a: ldloc.2 - IL_002b: ldloc.3 - IL_002c: call bool object::ReferenceEquals(object, object) - IL_0031: brfalse IL_00f3 + // method line 144 + .method public virtual hidebysig + instance default void Do () cil managed + { + // Method begins at RVA 0x4a34 + // Code size 69 (0x45) + .maxstack 4 + IL_0000: ldarg.0 + IL_0001: ldarg.0 + IL_0002: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.DeleteAction::byteBuf + IL_0007: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.ByteBuffer::segCol + IL_000c: ldarg.0 + IL_000d: ldfld int64 Bless.Buffers.DeleteAction::pos1 + IL_0012: ldarg.0 + IL_0013: ldfld int64 Bless.Buffers.DeleteAction::pos2 + IL_0018: callvirt instance class Bless.Buffers.SegmentCollection class Bless.Buffers.SegmentCollection::DeleteRange(int64, int64) + IL_001d: stfld class Bless.Buffers.SegmentCollection Bless.Buffers.DeleteAction::del + IL_0022: ldarg.0 + IL_0023: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.DeleteAction::byteBuf + IL_0028: dup + IL_0029: ldfld int64 Bless.Buffers.ByteBuffer::size + IL_002e: ldarg.0 + IL_002f: ldfld int64 Bless.Buffers.DeleteAction::pos2 + IL_0034: ldarg.0 + IL_0035: ldfld int64 Bless.Buffers.DeleteAction::pos1 + IL_003a: sub + IL_003b: ldc.i4.1 + IL_003c: conv.i8 + IL_003d: add + IL_003e: sub + IL_003f: stfld int64 Bless.Buffers.ByteBuffer::size + IL_0044: ret + } // end of method DeleteAction::Do - IL_0036: ldc.i4.0 - IL_0037: stloc.s 6 - IL_0039: ldloc.s 5 - IL_003b: ldarg.1 - IL_003c: ldloc.0 - IL_003d: sub - IL_003e: callvirt instance class Bless.Buffers.Segment class Bless.Buffers.Segment::SplitAt(int64) - IL_0043: stloc.s 7 - IL_0045: ldloc.s 7 - IL_0047: brtrue IL_0053 + // method line 145 + .method public virtual hidebysig + instance default void Undo () cil managed + { + // Method begins at RVA 0x4a85 + // Code size 63 (0x3f) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.DeleteAction::byteBuf + IL_0006: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.ByteBuffer::segCol + IL_000b: ldarg.0 + IL_000c: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.DeleteAction::del + IL_0011: ldarg.0 + IL_0012: ldfld int64 Bless.Buffers.DeleteAction::pos1 + IL_0017: callvirt instance void class Bless.Buffers.SegmentCollection::Insert(class Bless.Buffers.SegmentCollection, int64) + IL_001c: ldarg.0 + IL_001d: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.DeleteAction::byteBuf + IL_0022: dup + IL_0023: ldfld int64 Bless.Buffers.ByteBuffer::size + IL_0028: ldarg.0 + IL_0029: ldfld int64 Bless.Buffers.DeleteAction::pos2 + IL_002e: ldarg.0 + IL_002f: ldfld int64 Bless.Buffers.DeleteAction::pos1 + IL_0034: sub + IL_0035: ldc.i4.1 + IL_0036: conv.i8 + IL_0037: add + IL_0038: add + IL_0039: stfld int64 Bless.Buffers.ByteBuffer::size + IL_003e: ret + } // end of method DeleteAction::Undo - IL_004c: ldloc.s 5 - IL_004e: stloc.s 7 - IL_0050: ldc.i4.1 - IL_0051: stloc.s 6 - IL_0053: ldloc.s 7 - IL_0055: ldarg.2 - IL_0056: ldarg.1 - IL_0057: sub - IL_0058: ldc.i4.1 - IL_0059: conv.i8 - IL_005a: add - IL_005b: callvirt instance class Bless.Buffers.Segment class Bless.Buffers.Segment::SplitAt(int64) - IL_0060: stloc.s 8 - IL_0062: ldloc.s 8 - IL_0064: brfalse IL_0078 + // method line 146 + .method public virtual hidebysig + instance default void MakePrivateCopyOfData () cil managed + { + // Method begins at RVA 0x4ac8 + // Code size 96 (0x60) + .maxstack 2 + .locals init ( + class Bless.Buffers.Segment V_0, + class [mscorlib]System.Collections.Generic.IEnumerator`1 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.DeleteAction::del + IL_0006: callvirt instance class [Bless.Util]Bless.Util.List`1 class Bless.Buffers.SegmentCollection::get_List() + IL_000b: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [Bless.Util]Bless.Util.List`1::GetEnumerator() + IL_0010: stloc.1 + .try { // 0 + IL_0011: br IL_0042 - IL_0069: ldarg.0 - IL_006a: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list - IL_006f: ldloc.2 - IL_0070: ldloc.s 8 - IL_0072: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::InsertAfter(class [Bless.Util]Bless.Util.List`1/Node, !0) - IL_0077: pop - IL_0078: ldloc.s 6 - IL_007a: brfalse IL_00e0 + IL_0016: ldloc.1 + IL_0017: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_0023: callvirt instance class [mscorlib]System.Type object::GetType() + IL_0028: ldtoken Bless.Buffers.FileBuffer + IL_002d: call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0032: call bool class [mscorlib]System.Type::op_Equality(class [mscorlib]System.Type, class [mscorlib]System.Type) + IL_0037: brfalse IL_0042 - IL_007f: ldloc.2 - IL_0080: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next - IL_0085: brfalse IL_009c + IL_003c: ldloc.0 + IL_003d: callvirt instance void class Bless.Buffers.Segment::MakePrivateCopyOfData() + IL_0042: ldloc.1 + IL_0043: callvirt instance bool class [mscorlib]System.Collections.IEnumerator::MoveNext() + IL_0048: brtrue IL_0016 - IL_008a: ldarg.0 - IL_008b: ldloc.2 - IL_008c: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next - IL_0091: ldloc.0 - IL_0092: call instance void class Bless.Buffers.SegmentCollection::SetCache(class [Bless.Util]Bless.Util.List`1/Node, int64) - IL_0097: br IL_00d4 + IL_004d: leave IL_005f - IL_009c: ldloc.2 - IL_009d: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev - IL_00a2: brfalse IL_00ce + } // end .try 0 + finally { // 0 + IL_0052: ldloc.1 + IL_0053: brfalse IL_005e - IL_00a7: ldloc.2 - IL_00a8: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev - IL_00ad: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_00b2: stloc.s 9 - IL_00b4: ldarg.0 - IL_00b5: ldloc.2 - IL_00b6: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev - IL_00bb: ldloc.0 - IL_00bc: ldloc.s 9 - IL_00be: callvirt instance int64 class Bless.Buffers.Segment::get_Size() - IL_00c3: sub - IL_00c4: call instance void class Bless.Buffers.SegmentCollection::SetCache(class [Bless.Util]Bless.Util.List`1/Node, int64) - IL_00c9: br IL_00d4 + IL_0058: ldloc.1 + IL_0059: callvirt instance void class [mscorlib]System.IDisposable::Dispose() + IL_005e: endfinally + } // end handler 0 + IL_005f: ret + } // end of method DeleteAction::MakePrivateCopyOfData - IL_00ce: ldarg.0 - IL_00cf: call instance void class Bless.Buffers.SegmentCollection::InvalidateCache() - IL_00d4: ldarg.0 - IL_00d5: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list - IL_00da: ldloc.2 - IL_00db: callvirt instance void class [Bless.Util]Bless.Util.List`1::Remove(class [Bless.Util]Bless.Util.List`1/Node) - IL_00e0: newobj instance void class Bless.Buffers.SegmentCollection::'.ctor'() - IL_00e5: stloc.s 10 - IL_00e7: ldloc.s 10 - IL_00e9: ldloc.s 7 - IL_00eb: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) - IL_00f0: ldloc.s 10 - IL_00f2: ret - IL_00f3: ldloc.s 4 - IL_00f5: ldarg.2 - IL_00f6: ldloc.1 - IL_00f7: sub - IL_00f8: ldc.i4.1 - IL_00f9: conv.i8 - IL_00fa: add - IL_00fb: callvirt instance class Bless.Buffers.Segment class Bless.Buffers.Segment::SplitAt(int64) - IL_0100: stloc.s 11 - IL_0102: ldloc.s 11 - IL_0104: brtrue IL_0112 + // method line 147 + .method public virtual hidebysig + instance default int64 GetPrivateCopySize () cil managed + { + // Method begins at RVA 0x4b44 + // Code size 103 (0x67) + .maxstack 2 + .locals init ( + int64 V_0, + class Bless.Buffers.Segment V_1, + class [mscorlib]System.Collections.Generic.IEnumerator`1 V_2) + IL_0000: ldc.i4.0 + IL_0001: conv.i8 + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.DeleteAction::del + IL_0009: callvirt instance class [Bless.Util]Bless.Util.List`1 class Bless.Buffers.SegmentCollection::get_List() + IL_000e: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [Bless.Util]Bless.Util.List`1::GetEnumerator() + IL_0013: stloc.2 + .try { // 0 + IL_0014: br IL_0048 - IL_0109: ldloc.s 4 - IL_010b: stloc.s 11 - IL_010d: br IL_0121 + IL_0019: ldloc.2 + IL_001a: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() + IL_001f: stloc.1 + IL_0020: ldloc.1 + IL_0021: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_0026: callvirt instance class [mscorlib]System.Type object::GetType() + IL_002b: ldtoken Bless.Buffers.FileBuffer + IL_0030: call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) + IL_0035: call bool class [mscorlib]System.Type::op_Equality(class [mscorlib]System.Type, class [mscorlib]System.Type) + IL_003a: brfalse IL_0048 - IL_0112: ldarg.0 - IL_0113: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list - IL_0118: ldloc.3 - IL_0119: ldloc.s 11 - IL_011b: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::InsertAfter(class [Bless.Util]Bless.Util.List`1/Node, !0) - IL_0120: pop - IL_0121: ldloc.2 - IL_0122: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next - IL_0127: stloc.s 12 - IL_0129: ldloc.s 5 - IL_012b: ldarg.1 - IL_012c: ldloc.0 - IL_012d: sub - IL_012e: callvirt instance class Bless.Buffers.Segment class Bless.Buffers.Segment::SplitAt(int64) - IL_0133: stloc.s 13 - IL_0135: ldloc.s 13 - IL_0137: brtrue IL_0184 + IL_003f: ldloc.0 + IL_0040: ldloc.1 + IL_0041: callvirt instance int64 class Bless.Buffers.Segment::get_Size() + IL_0046: add + IL_0047: stloc.0 + IL_0048: ldloc.2 + IL_0049: callvirt instance bool class [mscorlib]System.Collections.IEnumerator::MoveNext() + IL_004e: brtrue IL_0019 - IL_013c: ldloc.s 5 - IL_013e: stloc.s 13 - IL_0140: ldloc.2 - IL_0141: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev - IL_0146: brfalse IL_0172 + IL_0053: leave IL_0065 - IL_014b: ldloc.2 - IL_014c: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev - IL_0151: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_0156: stloc.s 14 - IL_0158: ldarg.0 - IL_0159: ldloc.2 - IL_015a: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::prev - IL_015f: ldloc.0 - IL_0160: ldloc.s 14 - IL_0162: callvirt instance int64 class Bless.Buffers.Segment::get_Size() - IL_0167: sub - IL_0168: call instance void class Bless.Buffers.SegmentCollection::SetCache(class [Bless.Util]Bless.Util.List`1/Node, int64) - IL_016d: br IL_0178 + } // end .try 0 + finally { // 0 + IL_0058: ldloc.2 + IL_0059: brfalse IL_0064 - IL_0172: ldarg.0 - IL_0173: call instance void class Bless.Buffers.SegmentCollection::InvalidateCache() - IL_0178: ldarg.0 - IL_0179: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list - IL_017e: ldloc.2 - IL_017f: callvirt instance void class [Bless.Util]Bless.Util.List`1::Remove(class [Bless.Util]Bless.Util.List`1/Node) - IL_0184: newobj instance void class Bless.Buffers.SegmentCollection::'.ctor'() - IL_0189: stloc.s 15 - IL_018b: ldloc.s 15 - IL_018d: ldloc.s 13 - IL_018f: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) - IL_0194: br IL_01c1 + IL_005e: ldloc.2 + IL_005f: callvirt instance void class [mscorlib]System.IDisposable::Dispose() + IL_0064: endfinally + } // end handler 0 + IL_0065: ldloc.0 + IL_0066: ret + } // end of method DeleteAction::GetPrivateCopySize - IL_0199: ldloc.s 15 - IL_019b: ldloc.s 12 - IL_019d: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_01a2: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) - IL_01a7: ldloc.s 12 - IL_01a9: stloc.s 16 - IL_01ab: ldloc.s 12 - IL_01ad: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next - IL_01b2: stloc.s 12 - IL_01b4: ldarg.0 - IL_01b5: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list - IL_01ba: ldloc.s 16 - IL_01bc: callvirt instance void class [Bless.Util]Bless.Util.List`1::Remove(class [Bless.Util]Bless.Util.List`1/Node) - IL_01c1: ldloc.s 12 - IL_01c3: ldloc.3 - IL_01c4: call bool object::ReferenceEquals(object, object) - IL_01c9: brfalse IL_0199 + } // end of class Bless.Buffers.DeleteAction +} - IL_01ce: ldarg.0 - IL_01cf: ldfld class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::list - IL_01d4: ldloc.s 12 - IL_01d6: callvirt instance void class [Bless.Util]Bless.Util.List`1::Remove(class [Bless.Util]Bless.Util.List`1/Node) - IL_01db: ldloc.s 15 - IL_01dd: ldloc.s 12 - IL_01df: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_01e4: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) - IL_01e9: ldloc.s 15 - IL_01eb: ret - } // end of method SegmentCollection::DeleteRange +.namespace Bless.Buffers +{ + .class private auto ansi beforefieldinit ReplaceAction + extends Bless.Buffers.ByteBufferAction + { + .field private class Bless.Buffers.DeleteAction del + .field private class Bless.Buffers.InsertAction ins - // method line 168 - .method public hidebysig - instance default class Bless.Buffers.SegmentCollection GetRange (int64 pos1, int64 pos2) cil managed + // method line 148 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (int64 p1, int64 p2, unsigned int8[] d, int64 index, int64 length, class Bless.Buffers.ByteBuffer bb) cil managed { - // Method begins at RVA 0x4988 - // Code size 284 (0x11c) - .maxstack 4 - .locals init ( - int64 V_0, - int64 V_1, - class [Bless.Util]Bless.Util.List`1/Node V_2, - class [Bless.Util]Bless.Util.List`1/Node V_3, - class Bless.Buffers.Segment V_4, - class Bless.Buffers.Segment V_5, - class Bless.Buffers.SegmentCollection V_6, - class Bless.Buffers.Segment V_7, - class Bless.Buffers.Segment V_8, - class Bless.Buffers.Segment V_9, - class Bless.Buffers.SegmentCollection V_10, - class [Bless.Util]Bless.Util.List`1/Node V_11) + // Method begins at RVA 0x4bc8 + // Code size 41 (0x29) + .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldarg.2 - IL_0002: ldloca.s 1 - IL_0004: ldloca.s 3 - IL_0006: call instance class Bless.Buffers.Segment class Bless.Buffers.SegmentCollection::FindSegment(int64, [out] int64&, [out] class [Bless.Util]Bless.Util.List`1/Node&) - IL_000b: stloc.s 4 - IL_000d: ldarg.0 - IL_000e: ldarg.1 - IL_000f: ldloca.s 0 - IL_0011: ldloca.s 2 - IL_0013: call instance class Bless.Buffers.Segment class Bless.Buffers.SegmentCollection::FindSegment(int64, [out] int64&, [out] class [Bless.Util]Bless.Util.List`1/Node&) - IL_0018: stloc.s 5 - IL_001a: ldloc.s 5 - IL_001c: brfalse IL_0028 - - IL_0021: ldloc.s 4 - IL_0023: brtrue IL_002a + IL_0001: call instance void class Bless.Buffers.ByteBufferAction::'.ctor'() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: ldarg.2 + IL_0009: ldarg.s 6 + IL_000b: newobj instance void class Bless.Buffers.DeleteAction::'.ctor'(int64, int64, class Bless.Buffers.ByteBuffer) + IL_0010: stfld class Bless.Buffers.DeleteAction Bless.Buffers.ReplaceAction::del + IL_0015: ldarg.0 + IL_0016: ldarg.1 + IL_0017: ldarg.3 + IL_0018: ldarg.s 4 + IL_001a: ldarg.s 5 + IL_001c: ldarg.s 6 + IL_001e: newobj instance void class Bless.Buffers.InsertAction::'.ctor'(int64, unsigned int8[], int64, int64, class Bless.Buffers.ByteBuffer) + IL_0023: stfld class Bless.Buffers.InsertAction Bless.Buffers.ReplaceAction::ins + IL_0028: ret + } // end of method ReplaceAction::.ctor - IL_0028: ldnull - IL_0029: ret - IL_002a: ldloc.2 - IL_002b: ldloc.3 - IL_002c: call bool object::ReferenceEquals(object, object) - IL_0031: brfalse IL_006d + // method line 149 + .method public virtual hidebysig + instance default void Do () cil managed + { + // Method begins at RVA 0x4bf2 + // Code size 23 (0x17) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Buffers.DeleteAction Bless.Buffers.ReplaceAction::del + IL_0006: callvirt instance void class Bless.Buffers.ByteBufferAction::Do() + IL_000b: ldarg.0 + IL_000c: ldfld class Bless.Buffers.InsertAction Bless.Buffers.ReplaceAction::ins + IL_0011: callvirt instance void class Bless.Buffers.ByteBufferAction::Do() + IL_0016: ret + } // end of method ReplaceAction::Do - IL_0036: newobj instance void class Bless.Buffers.SegmentCollection::'.ctor'() - IL_003b: stloc.s 6 - IL_003d: ldloc.s 5 - IL_003f: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_0044: ldarg.1 - IL_0045: ldloc.0 - IL_0046: sub - IL_0047: ldloc.s 5 - IL_0049: callvirt instance int64 class Bless.Buffers.Segment::get_Start() - IL_004e: add - IL_004f: ldarg.2 - IL_0050: ldloc.0 - IL_0051: sub - IL_0052: ldloc.s 5 - IL_0054: callvirt instance int64 class Bless.Buffers.Segment::get_Start() - IL_0059: add - IL_005a: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) - IL_005f: stloc.s 7 - IL_0061: ldloc.s 6 - IL_0063: ldloc.s 7 - IL_0065: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) - IL_006a: ldloc.s 6 - IL_006c: ret - IL_006d: ldloc.s 4 - IL_006f: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_0074: ldloc.s 4 - IL_0076: callvirt instance int64 class Bless.Buffers.Segment::get_Start() - IL_007b: ldarg.2 - IL_007c: ldloc.1 - IL_007d: sub - IL_007e: ldloc.s 4 - IL_0080: callvirt instance int64 class Bless.Buffers.Segment::get_Start() - IL_0085: add - IL_0086: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) - IL_008b: stloc.s 8 - IL_008d: ldloc.s 5 - IL_008f: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_0094: ldarg.1 - IL_0095: ldloc.0 - IL_0096: sub - IL_0097: ldloc.s 5 - IL_0099: callvirt instance int64 class Bless.Buffers.Segment::get_Start() - IL_009e: add - IL_009f: ldloc.s 5 - IL_00a1: callvirt instance int64 class Bless.Buffers.Segment::get_End() - IL_00a6: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) - IL_00ab: stloc.s 9 - IL_00ad: newobj instance void class Bless.Buffers.SegmentCollection::'.ctor'() - IL_00b2: stloc.s 10 - IL_00b4: ldloc.s 10 - IL_00b6: ldloc.s 9 - IL_00b8: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) - IL_00bd: ldloc.2 - IL_00be: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next - IL_00c3: stloc.s 11 - IL_00c5: br IL_0103 + // method line 150 + .method public virtual hidebysig + instance default void Undo () cil managed + { + // Method begins at RVA 0x4c0a + // Code size 23 (0x17) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Buffers.InsertAction Bless.Buffers.ReplaceAction::ins + IL_0006: callvirt instance void class Bless.Buffers.ByteBufferAction::Undo() + IL_000b: ldarg.0 + IL_000c: ldfld class Bless.Buffers.DeleteAction Bless.Buffers.ReplaceAction::del + IL_0011: callvirt instance void class Bless.Buffers.ByteBufferAction::Undo() + IL_0016: ret + } // end of method ReplaceAction::Undo - IL_00ca: ldloc.s 10 - IL_00cc: ldloc.s 11 - IL_00ce: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_00d3: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_00d8: ldloc.s 11 - IL_00da: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_00df: callvirt instance int64 class Bless.Buffers.Segment::get_Start() - IL_00e4: ldloc.s 11 - IL_00e6: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_00eb: callvirt instance int64 class Bless.Buffers.Segment::get_End() - IL_00f0: newobj instance void class Bless.Buffers.Segment::'.ctor'(class Bless.Buffers.IBuffer, int64, int64) - IL_00f5: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) - IL_00fa: ldloc.s 11 - IL_00fc: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next - IL_0101: stloc.s 11 - IL_0103: ldloc.s 11 - IL_0105: ldloc.3 - IL_0106: call bool object::ReferenceEquals(object, object) - IL_010b: brfalse IL_00ca + // method line 151 + .method public virtual hidebysig + instance default void MakePrivateCopyOfData () cil managed + { + // Method begins at RVA 0x4c22 + // Code size 12 (0xc) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Buffers.DeleteAction Bless.Buffers.ReplaceAction::del + IL_0006: callvirt instance void class Bless.Buffers.ByteBufferAction::MakePrivateCopyOfData() + IL_000b: ret + } // end of method ReplaceAction::MakePrivateCopyOfData - IL_0110: ldloc.s 10 - IL_0112: ldloc.s 8 - IL_0114: callvirt instance void class Bless.Buffers.SegmentCollection::Append(class Bless.Buffers.Segment) - IL_0119: ldloc.s 10 - IL_011b: ret - } // end of method SegmentCollection::GetRange + // method line 152 + .method public virtual hidebysig + instance default int64 GetPrivateCopySize () cil managed + { + // Method begins at RVA 0x4c2f + // Code size 12 (0xc) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Buffers.DeleteAction Bless.Buffers.ReplaceAction::del + IL_0006: callvirt instance int64 class Bless.Buffers.ByteBufferAction::GetPrivateCopySize() + IL_000b: ret + } // end of method ReplaceAction::GetPrivateCopySize - .property instance class [Bless.Util]Bless.Util.List`1 List () - { - .get instance default class [Bless.Util]Bless.Util.List`1 Bless.Buffers.SegmentCollection::get_List () - } - } // end of class Bless.Buffers.SegmentCollection + } // end of class Bless.Buffers.ReplaceAction } .namespace Bless.Buffers { - .class public auto ansi beforefieldinit SimpleBuffer - extends Bless.Buffers.BaseBuffer + .class private auto ansi beforefieldinit MultiAction + extends Bless.Buffers.ByteBufferAction { - .custom instance void class [mscorlib]System.Reflection.DefaultMemberAttribute::'.ctor'(string) = (01 00 04 49 74 65 6D 00 00 ) // ...Item.. - - .field private unsigned int8[] data + .field private class [mscorlib]System.Collections.Generic.List`1 list - // method line 169 + // method line 153 .method public hidebysig specialname rtspecialname instance default void '.ctor' () cil managed { - // Method begins at RVA 0x4ab0 - // Code size 19 (0x13) + // Method begins at RVA 0x4c3c + // Code size 18 (0x12) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void class Bless.Buffers.BaseBuffer::'.ctor'() + IL_0001: call instance void class Bless.Buffers.ByteBufferAction::'.ctor'() IL_0006: ldarg.0 - IL_0007: ldc.i4.0 - IL_0008: newarr [mscorlib]System.Byte - IL_000d: stfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_0012: ret - } // end of method SimpleBuffer::.ctor + IL_0007: newobj instance void class [mscorlib]System.Collections.Generic.List`1::'.ctor'() + IL_000c: stfld class [mscorlib]System.Collections.Generic.List`1 Bless.Buffers.MultiAction::list + IL_0011: ret + } // end of method MultiAction::.ctor - // method line 170 - .method public virtual hidebysig - instance default int64 Read (unsigned int8[] ba, int64 index, int64 pos, int64 len) cil managed + // method line 154 + .method public hidebysig + instance default void Add (class Bless.Buffers.ByteBufferAction action) cil managed { - // Method begins at RVA 0x4ac4 - // Code size 19 (0x13) + // Method begins at RVA 0x4c4f + // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_0006: ldarg.3 - IL_0007: ldarg.1 - IL_0008: ldarg.2 - IL_0009: ldarg.s 4 - IL_000b: call void class [mscorlib]System.Array::Copy(class [mscorlib]System.Array, int64, class [mscorlib]System.Array, int64, int64) - IL_0010: ldarg.s 4 - IL_0012: ret - } // end of method SimpleBuffer::Read + IL_0001: ldfld class [mscorlib]System.Collections.Generic.List`1 Bless.Buffers.MultiAction::list + IL_0006: ldarg.1 + IL_0007: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_000c: ret + } // end of method MultiAction::Add + + // method line 155 + .method public virtual hidebysig + instance default void Do () cil managed + { + // Method begins at RVA 0x4c60 + // Code size 46 (0x2e) + .maxstack 2 + .locals init ( + int32 V_0) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: br IL_001c + + IL_0007: ldarg.0 + IL_0008: ldfld class [mscorlib]System.Collections.Generic.List`1 Bless.Buffers.MultiAction::list + IL_000d: ldloc.0 + IL_000e: callvirt instance !0 class [mscorlib]System.Collections.Generic.List`1::get_Item(int32) + IL_0013: callvirt instance void class Bless.Buffers.ByteBufferAction::Do() + IL_0018: ldloc.0 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: stloc.0 + IL_001c: ldloc.0 + IL_001d: ldarg.0 + IL_001e: ldfld class [mscorlib]System.Collections.Generic.List`1 Bless.Buffers.MultiAction::list + IL_0023: callvirt instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() + IL_0028: blt IL_0007 + + IL_002d: ret + } // end of method MultiAction::Do + + // method line 156 + .method public virtual hidebysig + instance default void Undo () cil managed + { + // Method begins at RVA 0x4c9c + // Code size 48 (0x30) + .maxstack 2 + .locals init ( + int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [mscorlib]System.Collections.Generic.List`1 Bless.Buffers.MultiAction::list + IL_0006: callvirt instance int32 class [mscorlib]System.Collections.Generic.List`1::get_Count() + IL_000b: ldc.i4.1 + IL_000c: sub + IL_000d: stloc.0 + IL_000e: br IL_0028 + + IL_0013: ldarg.0 + IL_0014: ldfld class [mscorlib]System.Collections.Generic.List`1 Bless.Buffers.MultiAction::list + IL_0019: ldloc.0 + IL_001a: callvirt instance !0 class [mscorlib]System.Collections.Generic.List`1::get_Item(int32) + IL_001f: callvirt instance void class Bless.Buffers.ByteBufferAction::Undo() + IL_0024: ldloc.0 + IL_0025: ldc.i4.1 + IL_0026: sub + IL_0027: stloc.0 + IL_0028: ldloc.0 + IL_0029: ldc.i4.0 + IL_002a: bge IL_0013 + + IL_002f: ret + } // end of method MultiAction::Undo - // method line 171 + // method line 157 .method public virtual hidebysig - instance default void Append (unsigned int8[] d, int64 index, int64 length) cil managed + instance default void MakePrivateCopyOfData () cil managed { - // Method begins at RVA 0x4ad8 - // Code size 118 (0x76) - .maxstack 5 + // Method begins at RVA 0x4cd8 + // Code size 63 (0x3f) + .maxstack 1 .locals init ( - unsigned int8[] V_0) - IL_0000: ldarg.3 - IL_0001: ldc.i4.0 - IL_0002: conv.i8 - IL_0003: bne.un IL_0009 + class Bless.Buffers.ByteBufferAction V_0, + valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator V_1) + IL_0000: ldarg.0 + IL_0001: ldfld class [mscorlib]System.Collections.Generic.List`1 Bless.Buffers.MultiAction::list + IL_0006: callvirt instance valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator class [mscorlib]System.Collections.Generic.List`1::GetEnumerator() + IL_000b: stloc.1 + .try { // 0 + IL_000c: br IL_001f - IL_0008: ret - IL_0009: ldarg.0 - IL_000a: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_000f: ldlen - IL_0010: conv.i4 - IL_0011: ldc.i4.0 - IL_0012: ble IL_0058 + IL_0011: ldloca.s 1 + IL_0013: call instance !0 valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator::get_Current() + IL_0018: stloc.0 + IL_0019: ldloc.0 + IL_001a: callvirt instance void class Bless.Buffers.ByteBufferAction::MakePrivateCopyOfData() + IL_001f: ldloca.s 1 + IL_0021: call instance bool valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator::MoveNext() + IL_0026: brtrue IL_0011 - IL_0017: ldarg.0 - IL_0018: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_001d: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() - IL_0022: ldarg.3 - IL_0023: add - IL_0024: conv.ovf.i - IL_0025: newarr [mscorlib]System.Byte - IL_002a: stloc.0 - IL_002b: ldarg.0 - IL_002c: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_0031: ldloc.0 - IL_0032: ldc.i4.0 - IL_0033: callvirt instance void class [mscorlib]System.Array::CopyTo(class [mscorlib]System.Array, int32) - IL_0038: ldarg.1 - IL_0039: ldarg.2 - IL_003a: ldloc.0 - IL_003b: ldarg.0 - IL_003c: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_0041: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() - IL_0046: ldarg.3 - IL_0047: call void class [mscorlib]System.Array::Copy(class [mscorlib]System.Array, int64, class [mscorlib]System.Array, int64, int64) - IL_004c: ldarg.0 - IL_004d: ldloc.0 - IL_004e: stfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_0053: br IL_0075 + IL_002b: leave IL_003e - IL_0058: ldarg.0 - IL_0059: ldarg.3 - IL_005a: conv.ovf.i - IL_005b: newarr [mscorlib]System.Byte - IL_0060: stfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_0065: ldarg.1 - IL_0066: ldarg.2 - IL_0067: ldarg.0 - IL_0068: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_006d: ldc.i4.0 - IL_006e: conv.i8 - IL_006f: ldarg.3 - IL_0070: call void class [mscorlib]System.Array::Copy(class [mscorlib]System.Array, int64, class [mscorlib]System.Array, int64, int64) - IL_0075: ret - } // end of method SimpleBuffer::Append + } // end .try 0 + finally { // 0 + IL_0030: ldloca.s 1 + IL_0032: constrained. valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator + IL_0038: callvirt instance void class [mscorlib]System.IDisposable::Dispose() + IL_003d: endfinally + } // end handler 0 + IL_003e: ret + } // end of method MultiAction::MakePrivateCopyOfData - // method line 172 + // method line 158 .method public virtual hidebysig - instance default void AppendBuffer (class Bless.Buffers.IBuffer buf, int64 index, int64 length) cil managed + instance default int64 GetPrivateCopySize () cil managed { - // Method begins at RVA 0x4b5c - // Code size 120 (0x78) - .maxstack 5 + // Method begins at RVA 0x4d34 + // Code size 70 (0x46) + .maxstack 2 .locals init ( - unsigned int8[] V_0) - IL_0000: ldarg.3 - IL_0001: ldc.i4.0 - IL_0002: conv.i8 - IL_0003: bne.un IL_0009 + int64 V_0, + class Bless.Buffers.ByteBufferAction V_1, + valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator V_2) + IL_0000: ldc.i4.0 + IL_0001: conv.i8 + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld class [mscorlib]System.Collections.Generic.List`1 Bless.Buffers.MultiAction::list + IL_0009: callvirt instance valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator class [mscorlib]System.Collections.Generic.List`1::GetEnumerator() + IL_000e: stloc.2 + .try { // 0 + IL_000f: br IL_0025 - IL_0008: ret - IL_0009: ldarg.0 - IL_000a: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_000f: ldlen - IL_0010: conv.i4 - IL_0011: ldc.i4.0 - IL_0012: ble IL_0059 + IL_0014: ldloca.s 2 + IL_0016: call instance !0 valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator::get_Current() + IL_001b: stloc.1 + IL_001c: ldloc.0 + IL_001d: ldloc.1 + IL_001e: callvirt instance int64 class Bless.Buffers.ByteBufferAction::GetPrivateCopySize() + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloca.s 2 + IL_0027: call instance bool valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator::MoveNext() + IL_002c: brtrue IL_0014 - IL_0017: ldarg.0 - IL_0018: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_001d: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() - IL_0022: ldarg.3 - IL_0023: add - IL_0024: conv.ovf.i - IL_0025: newarr [mscorlib]System.Byte - IL_002a: stloc.0 - IL_002b: ldarg.0 - IL_002c: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_0031: ldloc.0 - IL_0032: ldc.i4.0 - IL_0033: callvirt instance void class [mscorlib]System.Array::CopyTo(class [mscorlib]System.Array, int32) - IL_0038: ldarg.1 - IL_0039: ldloc.0 - IL_003a: ldarg.0 - IL_003b: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_0040: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() - IL_0045: ldarg.2 - IL_0046: ldarg.3 - IL_0047: callvirt instance int64 class Bless.Buffers.IBuffer::Read(unsigned int8[], int64, int64, int64) - IL_004c: pop - IL_004d: ldarg.0 - IL_004e: ldloc.0 - IL_004f: stfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_0054: br IL_0077 + IL_0031: leave IL_0044 - IL_0059: ldarg.0 - IL_005a: ldarg.3 - IL_005b: conv.ovf.i - IL_005c: newarr [mscorlib]System.Byte - IL_0061: stfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_0066: ldarg.1 - IL_0067: ldarg.0 - IL_0068: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_006d: ldc.i4.0 - IL_006e: conv.i8 - IL_006f: ldarg.2 - IL_0070: ldarg.3 - IL_0071: callvirt instance int64 class Bless.Buffers.IBuffer::Read(unsigned int8[], int64, int64, int64) - IL_0076: pop - IL_0077: ret - } // end of method SimpleBuffer::AppendBuffer + } // end .try 0 + finally { // 0 + IL_0036: ldloca.s 2 + IL_0038: constrained. valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator + IL_003e: callvirt instance void class [mscorlib]System.IDisposable::Dispose() + IL_0043: endfinally + } // end handler 0 + IL_0044: ldloc.0 + IL_0045: ret + } // end of method MultiAction::GetPrivateCopySize - // method line 173 - .method public virtual hidebysig specialname - instance default void set_Item (int64 index, unsigned int8 'value') cil managed + } // end of class Bless.Buffers.MultiAction +} + +.namespace Bless.Buffers +{ + .class public auto ansi beforefieldinit SaveAsOperation + extends [Bless.Util]Bless.Util.ThreadedAsyncOperation + implements Bless.Buffers.ISaveState { + .field family class Bless.Buffers.ByteBuffer byteBuffer + .field family int64 bytesSaved + .field family string savePath + .field private class [mscorlib]System.IO.FileStream fs + .field private valuetype Bless.Buffers.SaveAsOperation/SaveAsStage stageReached + + // method line 159 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (class Bless.Buffers.ByteBuffer bb, string fn, class [Bless.Util]Bless.Util.ProgressCallback pc, class [mscorlib]System.AsyncCallback ac, bool glibIdle) cil managed { - // Method begins at RVA 0x4be0 - // Code size 29 (0x1d) + // Method begins at RVA 0x4d98 + // Code size 41 (0x29) .maxstack 8 - IL_0000: ldarg.1 - IL_0001: ldarg.0 - IL_0002: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_0007: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() - IL_000c: blt IL_0012 - - IL_0011: ret + IL_0000: ldarg.0 + IL_0001: ldarg.3 + IL_0002: ldarg.s 4 + IL_0004: ldarg.s 5 + IL_0006: call instance void class [Bless.Util]Bless.Util.ThreadedAsyncOperation::'.ctor'(class [Bless.Util]Bless.Util.ProgressCallback, class [mscorlib]System.AsyncCallback, bool) + IL_000b: ldarg.0 + IL_000c: ldarg.1 + IL_000d: stfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveAsOperation::byteBuffer IL_0012: ldarg.0 - IL_0013: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_0018: ldarg.1 - IL_0019: conv.ovf.i - IL_001a: ldarg.2 - IL_001b: stelem.i1 - IL_001c: ret - } // end of method SimpleBuffer::set_Item + IL_0013: ldarg.2 + IL_0014: stfld string Bless.Buffers.SaveAsOperation::savePath + IL_0019: ldarg.0 + IL_001a: ldnull + IL_001b: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs + IL_0020: ldarg.0 + IL_0021: ldc.i4.0 + IL_0022: conv.i8 + IL_0023: stfld int64 Bless.Buffers.SaveAsOperation::bytesSaved + IL_0028: ret + } // end of method SaveAsOperation::.ctor + + // method line 160 + .method public final virtual hidebysig newslot specialname + instance default class Bless.Buffers.ByteBuffer get_Buffer () cil managed + { + // Method begins at RVA 0x4dc2 + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveAsOperation::byteBuffer + IL_0006: ret + } // end of method SaveAsOperation::get_Buffer + + // method line 161 + .method public final virtual hidebysig newslot specialname + instance default string get_SavePath () cil managed + { + // Method begins at RVA 0x4dca + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string Bless.Buffers.SaveAsOperation::savePath + IL_0006: ret + } // end of method SaveAsOperation::get_SavePath - // method line 174 - .method public virtual hidebysig specialname - instance default unsigned int8 get_Item (int64 index) cil managed + // method line 162 + .method public hidebysig specialname + instance default void set_SavePath (string 'value') cil managed { - // Method begins at RVA 0x4bfe - // Code size 29 (0x1d) + // Method begins at RVA 0x4dd2 + // Code size 8 (0x8) .maxstack 8 - IL_0000: ldarg.1 - IL_0001: ldarg.0 - IL_0002: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_0007: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() - IL_000c: blt IL_0013 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld string Bless.Buffers.SaveAsOperation::savePath + IL_0007: ret + } // end of method SaveAsOperation::set_SavePath - IL_0011: ldc.i4.0 - IL_0012: ret - IL_0013: ldarg.0 - IL_0014: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_0019: ldarg.1 - IL_001a: conv.ovf.i - IL_001b: ldelem.u1 - IL_001c: ret - } // end of method SimpleBuffer::get_Item + // method line 163 + .method public hidebysig specialname + instance default int64 get_BytesSaved () cil managed + { + // Method begins at RVA 0x4ddb + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int64 Bless.Buffers.SaveAsOperation::bytesSaved + IL_0006: ret + } // end of method SaveAsOperation::get_BytesSaved - // method line 175 - .method public virtual hidebysig specialname - instance default int64 get_Size () cil managed + // method line 164 + .method public hidebysig specialname + instance default valuetype Bless.Buffers.SaveAsOperation/SaveAsStage get_StageReached () cil managed { - // Method begins at RVA 0x4c1c - // Code size 12 (0xc) + // Method begins at RVA 0x4de3 + // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data - IL_0006: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() - IL_000b: ret - } // end of method SimpleBuffer::get_Size + IL_0001: ldfld valuetype Bless.Buffers.SaveAsOperation/SaveAsStage Bless.Buffers.SaveAsOperation::stageReached + IL_0006: ret + } // end of method SaveAsOperation::get_StageReached - .property instance unsigned int8 Item (int64) - { - .get instance default unsigned int8 Bless.Buffers.SimpleBuffer::get_Item (int64 index) - .set instance default void Bless.Buffers.SimpleBuffer::set_Item (int64 index, unsigned int8 'value') - } - .property instance int64 Size () - { - .get instance default int64 Bless.Buffers.SimpleBuffer::get_Size () - } - } // end of class Bless.Buffers.SimpleBuffer -} + // method line 165 + .method family hidebysig + instance default bool CheckFreeSpace (string path, int64 extraSpace) cil managed + { + // Method begins at RVA 0x4dec + // Code size 42 (0x2a) + .maxstack 2 + .locals init ( + int64 V_0, + bool V_1) + .try { // 0 + IL_0000: ldarg.1 + IL_0001: call int64 class [Bless.Util]Portable::GetAvailableDiskSpace(string) + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldarg.2 + IL_0009: add + IL_000a: ldarg.0 + IL_000b: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveAsOperation::byteBuffer + IL_0010: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_0015: clt + IL_0017: ldc.i4.0 + IL_0018: ceq + IL_001a: stloc.1 + IL_001b: leave IL_0028 -.namespace Bless.Buffers -{ - .class public auto ansi beforefieldinit FileBuffer - extends Bless.Buffers.BaseBuffer - { - .custom instance void class [mscorlib]System.Reflection.DefaultMemberAttribute::'.ctor'(string) = (01 00 04 49 74 65 6D 00 00 ) // ...Item.. + } // end .try 0 + catch class [mscorlib]System.NotImplementedException { // 0 + IL_0020: pop + IL_0021: ldc.i4.1 + IL_0022: stloc.1 + IL_0023: leave IL_0028 - .field private static literal unsigned int32 BLKGETSIZE64 = int32(0x80041272) - .field private int64 winOffset - .field private int32 winOccupied - .field private unsigned int8[] window - .field private bool isResizable - .field private class [mscorlib]System.IO.BinaryReader reader - .field private int64 FileLength - .field private static literal int32 default_size = int32(0x00001000) + } // end handler 0 + IL_0028: ldloc.1 + IL_0029: ret + } // end of method SaveAsOperation::CheckFreeSpace - // method line 176 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' (string fn) cil managed + // method line 166 + .method family virtual hidebysig + instance default bool StartProgress () cil managed { - // Method begins at RVA 0x4c29 - // Code size 13 (0xd) + // Method begins at RVA 0x4e34 + // Code size 72 (0x48) + .maxstack 3 + IL_0000: ldarg.0 + IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0006: ldstr "Saving '{0}'" + IL_000b: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) + IL_0010: ldarg.0 + IL_0011: call instance string class Bless.Buffers.SaveAsOperation::get_SavePath() + IL_0016: call string string::Format(string, object) + IL_001b: ldc.i4.3 + IL_001c: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) + IL_0021: pop + IL_0022: ldarg.0 + IL_0023: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0028: ldarg.0 + IL_0029: ldfld int64 Bless.Buffers.SaveAsOperation::bytesSaved + IL_002e: conv.r8 + IL_002f: ldarg.0 + IL_0030: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveAsOperation::byteBuffer + IL_0035: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_003a: conv.r8 + IL_003b: div + IL_003c: box [mscorlib]System.Double + IL_0041: ldc.i4.0 + IL_0042: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) + IL_0047: ret + } // end of method SaveAsOperation::StartProgress + + // method line 167 + .method family virtual hidebysig + instance default bool UpdateProgress () cil managed + { + // Method begins at RVA 0x4e88 + // Code size 38 (0x26) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: ldc.i4 4096 - IL_0007: call instance void class Bless.Buffers.FileBuffer::'.ctor'(string, int32) - IL_000c: ret - } // end of method FileBuffer::.ctor + IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0006: ldarg.0 + IL_0007: ldfld int64 Bless.Buffers.SaveAsOperation::bytesSaved + IL_000c: conv.r8 + IL_000d: ldarg.0 + IL_000e: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveAsOperation::byteBuffer + IL_0013: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_0018: conv.r8 + IL_0019: div + IL_001a: box [mscorlib]System.Double + IL_001f: ldc.i4.2 + IL_0020: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) + IL_0025: ret + } // end of method SaveAsOperation::UpdateProgress + + // method line 168 + .method family virtual hidebysig + instance default bool EndProgress () cil managed + { + // Method begins at RVA 0x4eaf + // Code size 38 (0x26) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0006: ldarg.0 + IL_0007: ldfld int64 Bless.Buffers.SaveAsOperation::bytesSaved + IL_000c: conv.r8 + IL_000d: ldarg.0 + IL_000e: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveAsOperation::byteBuffer + IL_0013: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() + IL_0018: conv.r8 + IL_0019: div + IL_001a: box [mscorlib]System.Double + IL_001f: ldc.i4.5 + IL_0020: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) + IL_0025: ret + } // end of method SaveAsOperation::EndProgress + + // method line 169 + .method family virtual hidebysig + instance default void DoOperation () cil managed + { + // Method begins at RVA 0x4ed8 + // Code size 416 (0x1a0) + .maxstack 6 + .locals init ( + string V_0, + unsigned int8[] V_1, + class [Bless.Util]Bless.Util.List`1/Node V_2, + class Bless.Buffers.Segment V_3, + int64 V_4, + int64 V_5, + int32 V_6, + int64 V_7) + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: stfld valuetype Bless.Buffers.SaveAsOperation/SaveAsStage Bless.Buffers.SaveAsOperation::stageReached + IL_0007: ldarg.0 + IL_0008: ldarg.0 + IL_0009: ldfld string Bless.Buffers.SaveAsOperation::savePath + IL_000e: call string class [mscorlib]System.IO.Path::GetDirectoryName(string) + IL_0013: ldc.i4.0 + IL_0014: conv.i8 + IL_0015: call instance bool class Bless.Buffers.SaveAsOperation::CheckFreeSpace(string, int64) + IL_001a: brtrue IL_003c + + IL_001f: ldstr "There is not enough free space on the device to save file '{0}'." + IL_0024: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) + IL_0029: ldarg.0 + IL_002a: ldfld string Bless.Buffers.SaveAsOperation::savePath + IL_002f: call string string::Format(string, object) + IL_0034: stloc.0 + IL_0035: ldloc.0 + IL_0036: newobj instance void class [mscorlib]System.IO.IOException::'.ctor'(string) + IL_003b: throw + IL_003c: ldarg.0 + IL_003d: ldarg.0 + IL_003e: ldfld string Bless.Buffers.SaveAsOperation::savePath + IL_0043: ldc.i4.6 + IL_0044: ldc.i4.2 + IL_0045: newobj instance void class [mscorlib]System.IO.FileStream::'.ctor'(string, valuetype [mscorlib]System.IO.FileMode, valuetype [mscorlib]System.IO.FileAccess) + IL_004a: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs + IL_004f: ldarg.0 + IL_0050: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs + IL_0055: callvirt instance void class [mscorlib]System.IO.Stream::Close() + IL_005a: ldarg.0 + IL_005b: ldarg.0 + IL_005c: ldfld string Bless.Buffers.SaveAsOperation::savePath + IL_0061: ldc.i4.2 + IL_0062: ldc.i4.2 + IL_0063: newobj instance void class [mscorlib]System.IO.FileStream::'.ctor'(string, valuetype [mscorlib]System.IO.FileMode, valuetype [mscorlib]System.IO.FileAccess) + IL_0068: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs + IL_006d: ldarg.0 + IL_006e: ldc.i4.1 + IL_006f: stfld valuetype Bless.Buffers.SaveAsOperation/SaveAsStage Bless.Buffers.SaveAsOperation::stageReached + IL_0074: ldc.i4 65535 + IL_0079: newarr [mscorlib]System.Byte + IL_007e: stloc.1 + IL_007f: ldarg.0 + IL_0080: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveAsOperation::byteBuffer + IL_0085: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.ByteBuffer::segCol + IL_008a: callvirt instance class [Bless.Util]Bless.Util.List`1 class Bless.Buffers.SegmentCollection::get_List() + IL_008f: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::get_First() + IL_0094: stloc.2 + IL_0095: br IL_017c - // method line 177 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' (string fn, int32 size) cil managed - { - // Method begins at RVA 0x4c37 - // Code size 26 (0x1a) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void class Bless.Buffers.BaseBuffer::'.ctor'() - IL_0006: ldarg.0 - IL_0007: ldarg.2 - IL_0008: newarr [mscorlib]System.Byte - IL_000d: stfld unsigned int8[] Bless.Buffers.FileBuffer::window - IL_0012: ldarg.0 - IL_0013: ldarg.1 - IL_0014: call instance void class Bless.Buffers.FileBuffer::Load(string) - IL_0019: ret - } // end of method FileBuffer::.ctor + IL_009a: ldloc.2 + IL_009b: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data + IL_00a0: stloc.3 + IL_00a1: ldloc.3 + IL_00a2: callvirt instance int64 class Bless.Buffers.Segment::get_Size() + IL_00a7: stloc.s 4 + IL_00a9: ldloc.s 4 + IL_00ab: ldc.i4 65535 + IL_00b0: conv.i8 + IL_00b1: div + IL_00b2: stloc.s 5 + IL_00b4: ldloc.s 4 + IL_00b6: ldc.i4 65535 + IL_00bb: conv.i8 + IL_00bc: rem + IL_00bd: conv.i4 + IL_00be: stloc.s 6 + IL_00c0: ldc.i4.0 + IL_00c1: conv.i8 + IL_00c2: stloc.s 7 + IL_00c4: br IL_0129 - // method line 178 - .method private static hidebysig pinvokeimpl ("libc" as "ioctl" winapi lasterr ) - default int32 ioctl (int32 fd, unsigned int32 'request', int64& size) cil managed preservesig - { - // Method begins at RVA 0x0 - } // end of method FileBuffer::ioctl + IL_00c9: ldloc.3 + IL_00ca: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_00cf: ldloc.1 + IL_00d0: ldc.i4.0 + IL_00d1: conv.i8 + IL_00d2: ldloc.3 + IL_00d3: callvirt instance int64 class Bless.Buffers.Segment::get_Start() + IL_00d8: ldloc.s 7 + IL_00da: ldc.i4 65535 + IL_00df: conv.i8 + IL_00e0: mul + IL_00e1: add + IL_00e2: ldc.i4 65535 + IL_00e7: conv.i8 + IL_00e8: callvirt instance int64 class Bless.Buffers.IBuffer::Read(unsigned int8[], int64, int64, int64) + IL_00ed: pop + IL_00ee: ldarg.0 + IL_00ef: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs + IL_00f4: ldloc.1 + IL_00f5: ldc.i4.0 + IL_00f6: ldc.i4 65535 + IL_00fb: callvirt instance void class [mscorlib]System.IO.Stream::Write(unsigned int8[], int32, int32) + IL_0100: ldarg.0 + IL_0101: ldloc.s 7 + IL_0103: ldc.i4.1 + IL_0104: conv.i8 + IL_0105: add + IL_0106: ldc.i4 65535 + IL_010b: conv.i8 + IL_010c: mul + IL_010d: stfld int64 Bless.Buffers.SaveAsOperation::bytesSaved + IL_0112: ldarg.0 + IL_0113: ldfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled + IL_0118: brfalse IL_0122 - // method line 179 - .method private hidebysig - instance default bool InWindow (int64 pos) cil managed - { - // Method begins at RVA 0x4c52 - // Code size 33 (0x21) - .maxstack 8 - IL_0000: ldarg.1 - IL_0001: ldarg.0 - IL_0002: ldfld int64 Bless.Buffers.FileBuffer::winOffset - IL_0007: blt IL_001f + IL_011d: br IL_0132 - IL_000c: ldarg.1 - IL_000d: ldarg.0 - IL_000e: ldfld int64 Bless.Buffers.FileBuffer::winOffset - IL_0013: ldarg.0 - IL_0014: ldfld int32 Bless.Buffers.FileBuffer::winOccupied - IL_0019: conv.i8 - IL_001a: add - IL_001b: clt - IL_001d: br.s IL_0020 + IL_0122: ldloc.s 7 + IL_0124: ldc.i4.1 + IL_0125: conv.i8 + IL_0126: add + IL_0127: stloc.s 7 + IL_0129: ldloc.s 7 + IL_012b: ldloc.s 5 + IL_012d: blt IL_00c9 - IL_001f: ldc.i4.0 - IL_0020: ret - } // end of method FileBuffer::InWindow + IL_0132: ldloc.s 6 + IL_0134: brfalse IL_0175 - // method line 180 - .method public virtual hidebysig - instance default int64 Read (unsigned int8[] ba, int64 index, int64 pos, int64 len) cil managed - { - // Method begins at RVA 0x4c74 - // Code size 91 (0x5b) - .maxstack 4 - IL_0000: ldarg.3 - IL_0001: ldarg.0 - IL_0002: ldfld int64 Bless.Buffers.FileBuffer::FileLength - IL_0007: bge IL_0014 + IL_0139: ldarg.0 + IL_013a: ldfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled + IL_013f: brtrue IL_0175 - IL_000c: ldarg.3 - IL_000d: ldc.i4.0 - IL_000e: conv.i8 - IL_000f: bge IL_0017 + IL_0144: ldloc.3 + IL_0145: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() + IL_014a: ldloc.1 + IL_014b: ldc.i4.0 + IL_014c: conv.i8 + IL_014d: ldloc.3 + IL_014e: callvirt instance int64 class Bless.Buffers.Segment::get_Start() + IL_0153: ldloc.s 7 + IL_0155: ldc.i4 65535 + IL_015a: conv.i8 + IL_015b: mul + IL_015c: add + IL_015d: ldloc.s 6 + IL_015f: conv.i8 + IL_0160: callvirt instance int64 class Bless.Buffers.IBuffer::Read(unsigned int8[], int64, int64, int64) + IL_0165: pop + IL_0166: ldarg.0 + IL_0167: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs + IL_016c: ldloc.1 + IL_016d: ldc.i4.0 + IL_016e: ldloc.s 6 + IL_0170: callvirt instance void class [mscorlib]System.IO.Stream::Write(unsigned int8[], int32, int32) + IL_0175: ldloc.2 + IL_0176: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next + IL_017b: stloc.2 + IL_017c: ldloc.2 + IL_017d: brfalse IL_018d - IL_0014: ldc.i4.0 - IL_0015: conv.i8 - IL_0016: ret - IL_0017: ldarg.3 - IL_0018: ldarg.s 4 - IL_001a: add - IL_001b: ldarg.0 - IL_001c: ldfld int64 Bless.Buffers.FileBuffer::FileLength - IL_0021: ble IL_0033 + IL_0182: ldarg.0 + IL_0183: ldfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled + IL_0188: brfalse IL_009a - IL_0026: ldarg.0 - IL_0027: ldfld int64 Bless.Buffers.FileBuffer::FileLength - IL_002c: ldarg.3 - IL_002d: sub - IL_002e: ldc.i4.1 - IL_002f: conv.i8 - IL_0030: add - IL_0031: starg.s 4 - IL_0033: ldarg.0 - IL_0034: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader - IL_0039: callvirt instance class [mscorlib]System.IO.Stream class [mscorlib]System.IO.BinaryReader::get_BaseStream() - IL_003e: ldarg.3 - IL_003f: ldc.i4.0 - IL_0040: callvirt instance int64 class [mscorlib]System.IO.Stream::Seek(int64, valuetype [mscorlib]System.IO.SeekOrigin) - IL_0045: pop - IL_0046: ldarg.0 - IL_0047: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader - IL_004c: ldarg.1 - IL_004d: ldarg.2 - IL_004e: conv.i4 - IL_004f: ldarg.s 4 - IL_0051: conv.i4 - IL_0052: callvirt instance int32 class [mscorlib]System.IO.BinaryReader::Read(unsigned int8[], int32, int32) - IL_0057: pop - IL_0058: ldarg.s 4 - IL_005a: ret - } // end of method FileBuffer::Read + IL_018d: ldarg.0 + IL_018e: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs + IL_0193: callvirt instance void class [mscorlib]System.IO.Stream::Close() + IL_0198: ldarg.0 + IL_0199: ldnull + IL_019a: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs + IL_019f: ret + } // end of method SaveAsOperation::DoOperation - // method line 181 - .method public virtual hidebysig specialname - instance default void set_Item (int64 index, unsigned int8 'value') cil managed + // method line 170 + .method family virtual hidebysig + instance default void EndOperation () cil managed { - // Method begins at RVA 0x4cdb - // Code size 1 (0x1) + // Method begins at RVA 0x5084 + // Code size 30 (0x1e) .maxstack 8 - IL_0000: ret - } // end of method FileBuffer::set_Item - - // method line 182 - .method public virtual hidebysig specialname - instance default unsigned int8 get_Item (int64 index) cil managed - { - // Method begins at RVA 0x4ce0 - // Code size 143 (0x8f) - .maxstack 5 IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: call instance bool class Bless.Buffers.FileBuffer::InWindow(int64) - IL_0007: brtrue IL_007e - - IL_000c: ldarg.1 - IL_000d: ldarg.0 - IL_000e: ldfld int64 Bless.Buffers.FileBuffer::FileLength - IL_0013: blt IL_001e - - IL_0018: newobj instance void class [mscorlib]System.IndexOutOfRangeException::'.ctor'() - IL_001d: throw - IL_001e: ldarg.0 - IL_001f: ldarg.1 - IL_0020: ldarg.0 - IL_0021: ldfld unsigned int8[] Bless.Buffers.FileBuffer::window - IL_0026: ldlen - IL_0027: conv.i4 - IL_0028: ldc.i4.2 - IL_0029: div - IL_002a: conv.i8 - IL_002b: sub - IL_002c: stfld int64 Bless.Buffers.FileBuffer::winOffset - IL_0031: ldarg.0 - IL_0032: ldfld int64 Bless.Buffers.FileBuffer::winOffset - IL_0037: ldc.i4.0 - IL_0038: conv.i8 - IL_0039: bge IL_0046 + IL_0001: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs + IL_0006: brfalse IL_001d - IL_003e: ldarg.0 - IL_003f: ldc.i4.0 - IL_0040: conv.i8 - IL_0041: stfld int64 Bless.Buffers.FileBuffer::winOffset - IL_0046: ldarg.0 - IL_0047: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader - IL_004c: callvirt instance class [mscorlib]System.IO.Stream class [mscorlib]System.IO.BinaryReader::get_BaseStream() - IL_0051: ldarg.0 - IL_0052: ldfld int64 Bless.Buffers.FileBuffer::winOffset - IL_0057: ldc.i4.0 - IL_0058: callvirt instance int64 class [mscorlib]System.IO.Stream::Seek(int64, valuetype [mscorlib]System.IO.SeekOrigin) - IL_005d: pop - IL_005e: ldarg.0 - IL_005f: ldarg.0 - IL_0060: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader - IL_0065: ldarg.0 - IL_0066: ldfld unsigned int8[] Bless.Buffers.FileBuffer::window - IL_006b: ldc.i4.0 - IL_006c: ldarg.0 - IL_006d: ldfld unsigned int8[] Bless.Buffers.FileBuffer::window - IL_0072: ldlen - IL_0073: conv.i4 - IL_0074: callvirt instance int32 class [mscorlib]System.IO.BinaryReader::Read(unsigned int8[], int32, int32) - IL_0079: stfld int32 Bless.Buffers.FileBuffer::winOccupied - IL_007e: ldarg.0 - IL_007f: ldfld unsigned int8[] Bless.Buffers.FileBuffer::window - IL_0084: ldarg.1 - IL_0085: ldarg.0 - IL_0086: ldfld int64 Bless.Buffers.FileBuffer::winOffset - IL_008b: sub - IL_008c: conv.ovf.i - IL_008d: ldelem.u1 - IL_008e: ret - } // end of method FileBuffer::get_Item + IL_000b: ldarg.0 + IL_000c: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs + IL_0011: callvirt instance void class [mscorlib]System.IO.Stream::Close() + IL_0016: ldarg.0 + IL_0017: ldnull + IL_0018: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveAsOperation::fs + IL_001d: ret + } // end of method SaveAsOperation::EndOperation - // method line 183 - .method public virtual hidebysig specialname - instance default int64 get_Size () cil managed + // method line 171 + .method private final virtual hidebysig newslot strict + instance default valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Buffers.ISaveState.get_Result () cil managed { - // Method begins at RVA 0x4d7b + // Method begins at RVA 0x50a3 + .override Could not decode method override class Bless.Buffers.ISaveState::get_Result due to (null) // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int64 Bless.Buffers.FileBuffer::FileLength + IL_0001: call instance valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_Result() IL_0006: ret - } // end of method FileBuffer::get_Size + } // end of method SaveAsOperation::Bless.Buffers.ISaveState.get_Result - // method line 184 - .method public hidebysig - instance default void Load (string filename) cil managed + // method line 172 + .method private final virtual hidebysig newslot strict + instance default class [mscorlib]System.Exception Bless.Buffers.ISaveState.get_ThreadException () cil managed { - // Method begins at RVA 0x4d84 - // Code size 242 (0xf2) - .maxstack 5 - .locals init ( - class [Mono.Posix]Mono.Unix.UnixFileInfo V_0, - class [Mono.Posix]Mono.Unix.UnixStream V_1, - class [mscorlib]System.IO.Stream V_2) + // Method begins at RVA 0x50ab + .override Could not decode method override class Bless.Buffers.ISaveState::get_ThreadException due to (null) + // Code size 7 (0x7) + .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader - IL_0006: brfalse IL_0016 + IL_0001: call instance class [mscorlib]System.Exception class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_ThreadException() + IL_0006: ret + } // end of method SaveAsOperation::Bless.Buffers.ISaveState.get_ThreadException - IL_000b: ldarg.0 - IL_000c: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader - IL_0011: callvirt instance void class [mscorlib]System.IO.BinaryReader::Close() - IL_0016: ldarg.1 - IL_0017: newobj instance void class [Mono.Posix]Mono.Unix.UnixFileInfo::'.ctor'(string) - IL_001c: stloc.0 - IL_001d: ldloc.0 - IL_001e: callvirt instance bool class [Mono.Posix]Mono.Unix.UnixFileSystemInfo::get_Exists() - IL_0023: brtrue IL_0034 + .property instance class Bless.Buffers.ByteBuffer Buffer () + { + .get instance default class Bless.Buffers.ByteBuffer Bless.Buffers.SaveAsOperation::get_Buffer () + } + .property instance string SavePath () + { + .get instance default string Bless.Buffers.SaveAsOperation::get_SavePath () + .set instance default void Bless.Buffers.SaveAsOperation::set_SavePath (string 'value') + } + .property instance int64 BytesSaved () + { + .get instance default int64 Bless.Buffers.SaveAsOperation::get_BytesSaved () + } + .property instance valuetype Bless.Buffers.SaveAsOperation/SaveAsStage StageReached () + { + .get instance default valuetype Bless.Buffers.SaveAsOperation/SaveAsStage Bless.Buffers.SaveAsOperation::get_StageReached () + } + .class nested public auto ansi sealed SaveAsStage + extends [mscorlib]System.Enum + { + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype Bless.Buffers.SaveAsOperation/SaveAsStage BeforeCreate = int32(0x00000000) + .field public static literal valuetype Bless.Buffers.SaveAsOperation/SaveAsStage BeforeWrite = int32(0x00000001) - IL_0028: ldloc.0 - IL_0029: callvirt instance string class [Mono.Posix]Mono.Unix.UnixFileSystemInfo::get_FullName() - IL_002e: newobj instance void class [mscorlib]System.IO.FileNotFoundException::'.ctor'(string) - IL_0033: throw - IL_0034: ldloc.0 - IL_0035: callvirt instance bool class [Mono.Posix]Mono.Unix.UnixFileSystemInfo::get_IsRegularFile() - IL_003a: brfalse IL_0057 + } // end of class SaveAsStage - IL_003f: ldarg.0 - IL_0040: ldloc.0 - IL_0041: callvirt instance int64 class [Mono.Posix]Mono.Unix.UnixFileSystemInfo::get_Length() - IL_0046: stfld int64 Bless.Buffers.FileBuffer::FileLength - IL_004b: ldarg.0 - IL_004c: ldc.i4.1 - IL_004d: stfld bool Bless.Buffers.FileBuffer::isResizable - IL_0052: br IL_009d + } // end of class Bless.Buffers.SaveAsOperation +} - IL_0057: ldloc.0 - IL_0058: callvirt instance bool class [Mono.Posix]Mono.Unix.UnixFileSystemInfo::get_IsBlockDevice() - IL_005d: brfalse IL_0092 +.namespace Bless.Buffers +{ + .class interface public auto ansi abstract IBuffer + { + .custom instance void class [mscorlib]System.Reflection.DefaultMemberAttribute::'.ctor'(string) = (01 00 04 49 74 65 6D 00 00 ) // ...Item.. - IL_0062: ldloc.0 - IL_0063: callvirt instance class [Mono.Posix]Mono.Unix.UnixStream class [Mono.Posix]Mono.Unix.UnixFileInfo::OpenRead() - IL_0068: stloc.1 - IL_0069: ldloc.1 - IL_006a: callvirt instance int32 class [Mono.Posix]Mono.Unix.UnixStream::get_Handle() - IL_006f: ldc.i4 -2147216782 - IL_0074: ldarg.0 - IL_0075: ldflda int64 Bless.Buffers.FileBuffer::FileLength - IL_007a: call int32 class Bless.Buffers.FileBuffer::ioctl(int32, unsigned int32, [out] int64&) - IL_007f: pop - IL_0080: ldloc.1 - IL_0081: callvirt instance void class [mscorlib]System.IO.Stream::Close() - IL_0086: ldarg.0 - IL_0087: ldc.i4.0 - IL_0088: stfld bool Bless.Buffers.FileBuffer::isResizable - IL_008d: br IL_009d - IL_0092: ldstr "File object isn't a regular or block device." - IL_0097: newobj instance void class [mscorlib]System.NotSupportedException::'.ctor'(string) - IL_009c: throw - IL_009d: ldarg.1 - IL_009e: ldc.i4.3 - IL_009f: ldc.i4.1 - IL_00a0: ldc.i4.3 - IL_00a1: newobj instance void class [mscorlib]System.IO.FileStream::'.ctor'(string, valuetype [mscorlib]System.IO.FileMode, valuetype [mscorlib]System.IO.FileAccess, valuetype [mscorlib]System.IO.FileShare) - IL_00a6: stloc.2 - IL_00a7: ldloc.2 - IL_00a8: callvirt instance bool class [mscorlib]System.IO.Stream::get_CanSeek() - IL_00ad: brtrue IL_00bd + // method line 173 + .method public virtual hidebysig newslot abstract + instance default void Insert (int64 pos, unsigned int8[] data, int64 index, int64 length) cil managed + { + // Method begins at RVA 0x0 + } // end of method IBuffer::Insert - IL_00b2: ldstr "File object doesn't support seeking." - IL_00b7: newobj instance void class [mscorlib]System.NotSupportedException::'.ctor'(string) - IL_00bc: throw - IL_00bd: ldarg.0 - IL_00be: ldloc.2 - IL_00bf: newobj instance void class [mscorlib]System.IO.BinaryReader::'.ctor'(class [mscorlib]System.IO.Stream) - IL_00c4: stfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader - IL_00c9: ldarg.0 - IL_00ca: ldarg.0 - IL_00cb: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader - IL_00d0: ldarg.0 - IL_00d1: ldfld unsigned int8[] Bless.Buffers.FileBuffer::window - IL_00d6: ldc.i4.0 - IL_00d7: ldarg.0 - IL_00d8: ldfld unsigned int8[] Bless.Buffers.FileBuffer::window - IL_00dd: ldlen - IL_00de: conv.i4 - IL_00df: callvirt instance int32 class [mscorlib]System.IO.BinaryReader::Read(unsigned int8[], int32, int32) - IL_00e4: stfld int32 Bless.Buffers.FileBuffer::winOccupied - IL_00e9: ldarg.0 - IL_00ea: ldc.i4.0 - IL_00eb: conv.i8 - IL_00ec: stfld int64 Bless.Buffers.FileBuffer::winOffset - IL_00f1: ret - } // end of method FileBuffer::Load + // method line 174 + .method public virtual hidebysig newslot abstract + instance default int64 Read (unsigned int8[] data, int64 index, int64 pos, int64 len) cil managed + { + // Method begins at RVA 0x0 + } // end of method IBuffer::Read - // method line 185 - .method public hidebysig specialname - instance default string get_Filename () cil managed + // method line 175 + .method public virtual hidebysig newslot abstract + instance default void Append (unsigned int8[] data, int64 index, int64 length) cil managed { - // Method begins at RVA 0x4e82 - // Code size 35 (0x23) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader - IL_0006: brfalse IL_0021 + // Method begins at RVA 0x0 + } // end of method IBuffer::Append - IL_000b: ldarg.0 - IL_000c: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader - IL_0011: callvirt instance class [mscorlib]System.IO.Stream class [mscorlib]System.IO.BinaryReader::get_BaseStream() - IL_0016: isinst [mscorlib]System.IO.FileStream - IL_001b: callvirt instance string class [mscorlib]System.IO.FileStream::get_Name() - IL_0020: ret - IL_0021: ldnull - IL_0022: ret - } // end of method FileBuffer::get_Filename + // method line 176 + .method public virtual hidebysig newslot abstract + instance default void InsertBuffer (int64 pos, class Bless.Buffers.IBuffer buf, int64 index, int64 length) cil managed + { + // Method begins at RVA 0x0 + } // end of method IBuffer::InsertBuffer - // method line 186 - .method public hidebysig specialname - instance default bool get_IsResizable () cil managed + // method line 177 + .method public virtual hidebysig newslot abstract + instance default void AppendBuffer (class Bless.Buffers.IBuffer buf, int64 index, int64 length) cil managed { - // Method begins at RVA 0x4ea6 - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld bool Bless.Buffers.FileBuffer::isResizable - IL_0006: ret - } // end of method FileBuffer::get_IsResizable + // Method begins at RVA 0x0 + } // end of method IBuffer::AppendBuffer - // method line 187 - .method public hidebysig - instance default void Close () cil managed + // method line 178 + .method public virtual hidebysig newslot abstract specialname + instance default void set_Item (int64 index, unsigned int8 'value') cil managed + { + // Method begins at RVA 0x0 + } // end of method IBuffer::set_Item + + // method line 179 + .method public virtual hidebysig newslot abstract specialname + instance default unsigned int8 get_Item (int64 index) cil managed + { + // Method begins at RVA 0x0 + } // end of method IBuffer::get_Item + + // method line 180 + .method public virtual hidebysig newslot abstract specialname + instance default int64 get_Size () cil managed { - // Method begins at RVA 0x4eae - // Code size 19 (0x13) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader - IL_0006: callvirt instance void class [mscorlib]System.IO.BinaryReader::Close() - IL_000b: ldarg.0 - IL_000c: ldnull - IL_000d: stfld class [mscorlib]System.IO.BinaryReader Bless.Buffers.FileBuffer::reader - IL_0012: ret - } // end of method FileBuffer::Close + // Method begins at RVA 0x0 + } // end of method IBuffer::get_Size .property instance unsigned int8 Item (int64) { - .get instance default unsigned int8 Bless.Buffers.FileBuffer::get_Item (int64 index) - .set instance default void Bless.Buffers.FileBuffer::set_Item (int64 index, unsigned int8 'value') + .get instance default unsigned int8 Bless.Buffers.IBuffer::get_Item (int64 index) + .set instance default void Bless.Buffers.IBuffer::set_Item (int64 index, unsigned int8 'value') } .property instance int64 Size () { - .get instance default int64 Bless.Buffers.FileBuffer::get_Size () - } - .property instance string Filename () - { - .get instance default string Bless.Buffers.FileBuffer::get_Filename () - } - .property instance bool IsResizable () - { - .get instance default bool Bless.Buffers.FileBuffer::get_IsResizable () + .get instance default int64 Bless.Buffers.IBuffer::get_Size () } - } // end of class Bless.Buffers.FileBuffer + } // end of class Bless.Buffers.IBuffer } .namespace Bless.Buffers { - .class public auto ansi beforefieldinit SaveInPlaceOperation - extends [Bless.Util]Bless.Util.ThreadedAsyncOperation - implements Bless.Buffers.ISaveState { - .field family class Bless.Buffers.ByteBuffer byteBuffer - .field family int64 bytesSaved - .field family string savePath - .field private class [mscorlib]System.IO.FileStream fs - .field private valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage stageReached + .class public auto ansi beforefieldinit BaseBuffer + extends [mscorlib]System.Object + implements Bless.Buffers.IBuffer { + .custom instance void class [mscorlib]System.Reflection.DefaultMemberAttribute::'.ctor'(string) = (01 00 04 49 74 65 6D 00 00 ) // ...Item.. - // method line 188 + + // method line 181 .method public hidebysig specialname rtspecialname - instance default void '.ctor' (class Bless.Buffers.ByteBuffer bb, class [Bless.Util]Bless.Util.ProgressCallback pc, class [mscorlib]System.AsyncCallback ac, bool glibIdle) cil managed + instance default void '.ctor' () cil managed { - // Method begins at RVA 0x4ec2 - // Code size 50 (0x32) + // Method begins at RVA 0x2748 + // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldarg.2 - IL_0002: ldarg.3 - IL_0003: ldarg.s 4 - IL_0005: call instance void class [Bless.Util]Bless.Util.ThreadedAsyncOperation::'.ctor'(class [Bless.Util]Bless.Util.ProgressCallback, class [mscorlib]System.AsyncCallback, bool) - IL_000a: ldarg.0 - IL_000b: ldarg.1 - IL_000c: stfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer - IL_0011: ldarg.0 - IL_0012: ldarg.0 - IL_0013: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer - IL_0018: callvirt instance string class Bless.Buffers.ByteBuffer::get_Filename() - IL_001d: stfld string Bless.Buffers.SaveInPlaceOperation::savePath - IL_0022: ldarg.0 - IL_0023: ldnull - IL_0024: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs - IL_0029: ldarg.0 - IL_002a: ldc.i4.0 - IL_002b: conv.i8 - IL_002c: stfld int64 Bless.Buffers.SaveInPlaceOperation::bytesSaved - IL_0031: ret - } // end of method SaveInPlaceOperation::.ctor + IL_0001: call instance void object::'.ctor'() + IL_0006: ret + } // end of method BaseBuffer::.ctor - // method line 189 - .method public final virtual hidebysig newslot specialname - instance default class Bless.Buffers.ByteBuffer get_Buffer () cil managed + // method line 182 + .method public virtual hidebysig newslot + instance default void Insert (int64 pos, unsigned int8[] data, int64 index, int64 length) cil managed { - // Method begins at RVA 0x4ef5 - // Code size 7 (0x7) + // Method begins at RVA 0x2750 + // Code size 6 (0x6) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer - IL_0006: ret - } // end of method SaveInPlaceOperation::get_Buffer + IL_0000: newobj instance void class [mscorlib]System.NotImplementedException::'.ctor'() + IL_0005: throw + } // end of method BaseBuffer::Insert - // method line 190 - .method public final virtual hidebysig newslot specialname - instance default string get_SavePath () cil managed + // method line 183 + .method public virtual hidebysig newslot + instance default int64 Read (unsigned int8[] data, int64 index, int64 pos, int64 len) cil managed { - // Method begins at RVA 0x4efd - // Code size 7 (0x7) + // Method begins at RVA 0x2757 + // Code size 6 (0x6) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld string Bless.Buffers.SaveInPlaceOperation::savePath - IL_0006: ret - } // end of method SaveInPlaceOperation::get_SavePath + IL_0000: newobj instance void class [mscorlib]System.NotImplementedException::'.ctor'() + IL_0005: throw + } // end of method BaseBuffer::Read - // method line 191 - .method public hidebysig specialname - instance default void set_SavePath (string 'value') cil managed + // method line 184 + .method public virtual hidebysig newslot + instance default void Append (unsigned int8[] data, int64 index, int64 length) cil managed { - // Method begins at RVA 0x4f05 - // Code size 8 (0x8) + // Method begins at RVA 0x275e + // Code size 6 (0x6) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld string Bless.Buffers.SaveInPlaceOperation::savePath - IL_0007: ret - } // end of method SaveInPlaceOperation::set_SavePath + IL_0000: newobj instance void class [mscorlib]System.NotImplementedException::'.ctor'() + IL_0005: throw + } // end of method BaseBuffer::Append - // method line 192 - .method public hidebysig specialname - instance default int64 get_BytesSaved () cil managed + // method line 185 + .method public virtual hidebysig newslot + instance default void InsertBuffer (int64 pos, class Bless.Buffers.IBuffer buf, int64 index, int64 length) cil managed { - // Method begins at RVA 0x4f0e - // Code size 7 (0x7) + // Method begins at RVA 0x2765 + // Code size 6 (0x6) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int64 Bless.Buffers.SaveInPlaceOperation::bytesSaved - IL_0006: ret - } // end of method SaveInPlaceOperation::get_BytesSaved + IL_0000: newobj instance void class [mscorlib]System.NotImplementedException::'.ctor'() + IL_0005: throw + } // end of method BaseBuffer::InsertBuffer - // method line 193 - .method public hidebysig specialname - instance default valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage get_StageReached () cil managed + // method line 186 + .method public virtual hidebysig newslot + instance default void AppendBuffer (class Bless.Buffers.IBuffer buf, int64 index, int64 length) cil managed { - // Method begins at RVA 0x4f16 - // Code size 7 (0x7) + // Method begins at RVA 0x276c + // Code size 6 (0x6) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage Bless.Buffers.SaveInPlaceOperation::stageReached - IL_0006: ret - } // end of method SaveInPlaceOperation::get_StageReached + IL_0000: newobj instance void class [mscorlib]System.NotImplementedException::'.ctor'() + IL_0005: throw + } // end of method BaseBuffer::AppendBuffer - // method line 194 - .method family virtual hidebysig - instance default bool StartProgress () cil managed + // method line 187 + .method public virtual hidebysig newslot specialname + instance default void set_Item (int64 index, unsigned int8 'value') cil managed { - // Method begins at RVA 0x4f20 - // Code size 72 (0x48) - .maxstack 3 - IL_0000: ldarg.0 - IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0006: ldstr "Saving '{0}'" - IL_000b: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) - IL_0010: ldarg.0 - IL_0011: call instance string class Bless.Buffers.SaveInPlaceOperation::get_SavePath() - IL_0016: call string string::Format(string, object) - IL_001b: ldc.i4.3 - IL_001c: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) - IL_0021: pop - IL_0022: ldarg.0 - IL_0023: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0028: ldarg.0 - IL_0029: ldfld int64 Bless.Buffers.SaveInPlaceOperation::bytesSaved - IL_002e: conv.r8 - IL_002f: ldarg.0 - IL_0030: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer - IL_0035: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_003a: conv.r8 - IL_003b: div - IL_003c: box [mscorlib]System.Double - IL_0041: ldc.i4.0 - IL_0042: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) - IL_0047: ret - } // end of method SaveInPlaceOperation::StartProgress + // Method begins at RVA 0x2773 + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void class [mscorlib]System.NotImplementedException::'.ctor'() + IL_0005: throw + } // end of method BaseBuffer::set_Item - // method line 195 - .method family virtual hidebysig - instance default bool UpdateProgress () cil managed + // method line 188 + .method public virtual hidebysig newslot specialname + instance default unsigned int8 get_Item (int64 index) cil managed { - // Method begins at RVA 0x4f74 - // Code size 38 (0x26) + // Method begins at RVA 0x277a + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void class [mscorlib]System.NotImplementedException::'.ctor'() + IL_0005: throw + } // end of method BaseBuffer::get_Item + + // method line 189 + .method public virtual hidebysig newslot specialname + instance default int64 get_Size () cil managed + { + // Method begins at RVA 0x2781 + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void class [mscorlib]System.NotImplementedException::'.ctor'() + IL_0005: throw + } // end of method BaseBuffer::get_Size + + .property instance unsigned int8 Item (int64) + { + .get instance default unsigned int8 Bless.Buffers.BaseBuffer::get_Item (int64 index) + .set instance default void Bless.Buffers.BaseBuffer::set_Item (int64 index, unsigned int8 'value') + } + .property instance int64 Size () + { + .get instance default int64 Bless.Buffers.BaseBuffer::get_Size () + } + } // end of class Bless.Buffers.BaseBuffer +} + +.namespace Bless.Buffers +{ + .class public auto ansi beforefieldinit SimpleBuffer + extends Bless.Buffers.BaseBuffer + { + .custom instance void class [mscorlib]System.Reflection.DefaultMemberAttribute::'.ctor'(string) = (01 00 04 49 74 65 6D 00 00 ) // ...Item.. + + .field private unsigned int8[] data + + // method line 190 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' () cil managed + { + // Method begins at RVA 0x50b3 + // Code size 19 (0x13) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0001: call instance void class Bless.Buffers.BaseBuffer::'.ctor'() IL_0006: ldarg.0 - IL_0007: ldfld int64 Bless.Buffers.SaveInPlaceOperation::bytesSaved - IL_000c: conv.r8 - IL_000d: ldarg.0 - IL_000e: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer - IL_0013: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_0018: conv.r8 - IL_0019: div - IL_001a: box [mscorlib]System.Double - IL_001f: ldc.i4.2 - IL_0020: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) - IL_0025: ret - } // end of method SaveInPlaceOperation::UpdateProgress + IL_0007: ldc.i4.0 + IL_0008: newarr [mscorlib]System.Byte + IL_000d: stfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_0012: ret + } // end of method SimpleBuffer::.ctor - // method line 196 - .method family virtual hidebysig - instance default bool EndProgress () cil managed + // method line 191 + .method public virtual hidebysig + instance default int64 Read (unsigned int8[] ba, int64 index, int64 pos, int64 len) cil managed { - // Method begins at RVA 0x4f9b - // Code size 38 (0x26) + // Method begins at RVA 0x50c7 + // Code size 19 (0x13) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0006: ldarg.0 - IL_0007: ldfld int64 Bless.Buffers.SaveInPlaceOperation::bytesSaved - IL_000c: conv.r8 - IL_000d: ldarg.0 - IL_000e: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer - IL_0013: callvirt instance int64 class Bless.Buffers.BaseBuffer::get_Size() - IL_0018: conv.r8 - IL_0019: div - IL_001a: box [mscorlib]System.Double - IL_001f: ldc.i4.5 - IL_0020: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) - IL_0025: ret - } // end of method SaveInPlaceOperation::EndProgress + IL_0001: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_0006: ldarg.3 + IL_0007: ldarg.1 + IL_0008: ldarg.2 + IL_0009: ldarg.s 4 + IL_000b: call void class [mscorlib]System.Array::Copy(class [mscorlib]System.Array, int64, class [mscorlib]System.Array, int64, int64) + IL_0010: ldarg.s 4 + IL_0012: ret + } // end of method SimpleBuffer::Read - // method line 197 - .method family virtual hidebysig - instance default void DoOperation () cil managed + // method line 192 + .method public virtual hidebysig + instance default void Append (unsigned int8[] d, int64 index, int64 length) cil managed { - // Method begins at RVA 0x4fc4 - // Code size 538 (0x21a) - .maxstack 6 + // Method begins at RVA 0x50dc + // Code size 118 (0x76) + .maxstack 5 .locals init ( - class Bless.Buffers.SegmentCollection V_0, - object V_1, - bool V_2, - unsigned int8[] V_3, - class [Bless.Util]Bless.Util.List`1/Node V_4, - int64 V_5, - class Bless.Buffers.Segment V_6, - int64 V_7, - int64 V_8, - int32 V_9, - int64 V_10) - IL_0000: ldarg.0 + unsigned int8[] V_0) + IL_0000: ldarg.3 IL_0001: ldc.i4.0 - IL_0002: stfld valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage Bless.Buffers.SaveInPlaceOperation::stageReached - IL_0007: ldarg.0 - IL_0008: ldarg.0 - IL_0009: ldfld string Bless.Buffers.SaveInPlaceOperation::savePath - IL_000e: ldc.i4.3 - IL_000f: ldc.i4.2 - IL_0010: ldc.i4.3 - IL_0011: newobj instance void class [mscorlib]System.IO.FileStream::'.ctor'(string, valuetype [mscorlib]System.IO.FileMode, valuetype [mscorlib]System.IO.FileAccess, valuetype [mscorlib]System.IO.FileShare) - IL_0016: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs - IL_001b: ldarg.0 - IL_001c: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer - IL_0021: ldfld class Bless.Buffers.SegmentCollection Bless.Buffers.ByteBuffer::segCol - IL_0026: stloc.0 - IL_0027: ldarg.0 - IL_0028: ldfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled - IL_002d: brtrue IL_0085 - - IL_0032: ldarg.0 - IL_0033: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer - IL_0038: ldfld object Bless.Buffers.ByteBuffer::LockObj - IL_003d: stloc.1 - IL_003e: ldc.i4.0 - IL_003f: stloc.2 - .try { // 0 - IL_0040: ldloc.1 - IL_0041: ldloca.s 2 - IL_0043: call void class [mscorlib]System.Threading.Monitor::Enter(object, [out] bool&) - IL_0048: ldarg.0 - IL_0049: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer - IL_004e: callvirt instance void class Bless.Buffers.ByteBuffer::MakePrivateCopyOfUndoRedo() - IL_0053: ldarg.0 - IL_0054: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer - IL_0059: ldc.i4.1 - IL_005a: callvirt instance void class Bless.Buffers.ByteBuffer::set_FileOperationsAllowed(bool) - IL_005f: ldarg.0 - IL_0060: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer - IL_0065: callvirt instance void class Bless.Buffers.ByteBuffer::CloseFile() - IL_006a: ldarg.0 - IL_006b: ldfld class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::byteBuffer - IL_0070: ldc.i4.0 - IL_0071: callvirt instance void class Bless.Buffers.ByteBuffer::set_FileOperationsAllowed(bool) - IL_0076: leave IL_0085 - - } // end .try 0 - finally { // 0 - IL_007b: ldloc.2 - IL_007c: brfalse.s IL_0084 - - IL_007e: ldloc.1 - IL_007f: call void class [mscorlib]System.Threading.Monitor::Exit(object) - IL_0084: endfinally - } // end handler 0 - IL_0085: ldarg.0 - IL_0086: ldc.i4.1 - IL_0087: stfld valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage Bless.Buffers.SaveInPlaceOperation::stageReached - IL_008c: ldc.i4 65535 - IL_0091: newarr [mscorlib]System.Byte - IL_0096: stloc.3 - IL_0097: ldloc.0 - IL_0098: callvirt instance class [Bless.Util]Bless.Util.List`1 class Bless.Buffers.SegmentCollection::get_List() - IL_009d: callvirt instance class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1::get_First() - IL_00a2: stloc.s 4 - IL_00a4: ldc.i4.0 - IL_00a5: conv.i8 - IL_00a6: stloc.s 5 - IL_00a8: br IL_01f5 + IL_0002: conv.i8 + IL_0003: bne.un IL_0009 - IL_00ad: ldloc.s 4 - IL_00af: ldfld !0 class [Bless.Util]Bless.Util.List`1/Node::data - IL_00b4: stloc.s 6 - IL_00b6: ldloc.s 6 - IL_00b8: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_00bd: callvirt instance class [mscorlib]System.Type object::GetType() - IL_00c2: ldtoken Bless.Buffers.FileBuffer - IL_00c7: call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) - IL_00cc: call bool class [mscorlib]System.Type::op_Equality(class [mscorlib]System.Type, class [mscorlib]System.Type) - IL_00d1: brfalse IL_00f0 + IL_0008: ret + IL_0009: ldarg.0 + IL_000a: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_000f: ldlen + IL_0010: conv.i4 + IL_0011: ldc.i4.0 + IL_0012: ble IL_0058 - IL_00d6: ldloc.s 5 - IL_00d8: ldloc.s 6 - IL_00da: callvirt instance int64 class Bless.Buffers.Segment::get_Size() - IL_00df: add - IL_00e0: stloc.s 5 - IL_00e2: ldloc.s 4 - IL_00e4: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next - IL_00e9: stloc.s 4 - IL_00eb: br IL_01f5 + IL_0017: ldarg.0 + IL_0018: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_001d: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() + IL_0022: ldarg.3 + IL_0023: add + IL_0024: conv.ovf.i + IL_0025: newarr [mscorlib]System.Byte + IL_002a: stloc.0 + IL_002b: ldarg.0 + IL_002c: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_0031: ldloc.0 + IL_0032: ldc.i4.0 + IL_0033: callvirt instance void class [mscorlib]System.Array::CopyTo(class [mscorlib]System.Array, int32) + IL_0038: ldarg.1 + IL_0039: ldarg.2 + IL_003a: ldloc.0 + IL_003b: ldarg.0 + IL_003c: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_0041: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() + IL_0046: ldarg.3 + IL_0047: call void class [mscorlib]System.Array::Copy(class [mscorlib]System.Array, int64, class [mscorlib]System.Array, int64, int64) + IL_004c: ldarg.0 + IL_004d: ldloc.0 + IL_004e: stfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_0053: br IL_0075 - IL_00f0: ldloc.s 6 - IL_00f2: callvirt instance int64 class Bless.Buffers.Segment::get_Size() - IL_00f7: stloc.s 7 - IL_00f9: ldloc.s 7 - IL_00fb: ldc.i4 65535 - IL_0100: conv.i8 - IL_0101: div - IL_0102: stloc.s 8 - IL_0104: ldloc.s 7 - IL_0106: ldc.i4 65535 - IL_010b: conv.i8 - IL_010c: rem - IL_010d: conv.i4 - IL_010e: stloc.s 9 - IL_0110: ldarg.0 - IL_0111: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs - IL_0116: ldloc.s 5 - IL_0118: ldc.i4.0 - IL_0119: callvirt instance int64 class [mscorlib]System.IO.Stream::Seek(int64, valuetype [mscorlib]System.IO.SeekOrigin) - IL_011e: pop - IL_011f: ldarg.0 - IL_0120: ldloc.s 5 - IL_0122: stfld int64 Bless.Buffers.SaveInPlaceOperation::bytesSaved - IL_0127: ldc.i4.0 - IL_0128: conv.i8 - IL_0129: stloc.s 10 - IL_012b: br IL_0192 + IL_0058: ldarg.0 + IL_0059: ldarg.3 + IL_005a: conv.ovf.i + IL_005b: newarr [mscorlib]System.Byte + IL_0060: stfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_0065: ldarg.1 + IL_0066: ldarg.2 + IL_0067: ldarg.0 + IL_0068: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_006d: ldc.i4.0 + IL_006e: conv.i8 + IL_006f: ldarg.3 + IL_0070: call void class [mscorlib]System.Array::Copy(class [mscorlib]System.Array, int64, class [mscorlib]System.Array, int64, int64) + IL_0075: ret + } // end of method SimpleBuffer::Append - IL_0130: ldloc.s 6 - IL_0132: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_0137: ldloc.3 - IL_0138: ldc.i4.0 - IL_0139: conv.i8 - IL_013a: ldloc.s 6 - IL_013c: callvirt instance int64 class Bless.Buffers.Segment::get_Start() - IL_0141: ldloc.s 10 - IL_0143: ldc.i4 65535 - IL_0148: conv.i8 - IL_0149: mul - IL_014a: add - IL_014b: ldc.i4 65535 - IL_0150: conv.i8 - IL_0151: callvirt instance int64 class Bless.Buffers.IBuffer::Read(unsigned int8[], int64, int64, int64) - IL_0156: pop - IL_0157: ldarg.0 - IL_0158: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs - IL_015d: ldloc.3 - IL_015e: ldc.i4.0 - IL_015f: ldc.i4 65535 - IL_0164: callvirt instance void class [mscorlib]System.IO.Stream::Write(unsigned int8[], int32, int32) - IL_0169: ldarg.0 - IL_016a: ldloc.s 10 - IL_016c: ldc.i4.1 - IL_016d: conv.i8 - IL_016e: add - IL_016f: ldc.i4 65535 - IL_0174: conv.i8 - IL_0175: mul - IL_0176: stfld int64 Bless.Buffers.SaveInPlaceOperation::bytesSaved - IL_017b: ldarg.0 - IL_017c: ldfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled - IL_0181: brfalse IL_018b + // method line 193 + .method public virtual hidebysig + instance default void AppendBuffer (class Bless.Buffers.IBuffer buf, int64 index, int64 length) cil managed + { + // Method begins at RVA 0x5160 + // Code size 120 (0x78) + .maxstack 5 + .locals init ( + unsigned int8[] V_0) + IL_0000: ldarg.3 + IL_0001: ldc.i4.0 + IL_0002: conv.i8 + IL_0003: bne.un IL_0009 - IL_0186: br IL_019b + IL_0008: ret + IL_0009: ldarg.0 + IL_000a: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_000f: ldlen + IL_0010: conv.i4 + IL_0011: ldc.i4.0 + IL_0012: ble IL_0059 - IL_018b: ldloc.s 10 - IL_018d: ldc.i4.1 - IL_018e: conv.i8 - IL_018f: add - IL_0190: stloc.s 10 - IL_0192: ldloc.s 10 - IL_0194: ldloc.s 8 - IL_0196: blt IL_0130 + IL_0017: ldarg.0 + IL_0018: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_001d: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() + IL_0022: ldarg.3 + IL_0023: add + IL_0024: conv.ovf.i + IL_0025: newarr [mscorlib]System.Byte + IL_002a: stloc.0 + IL_002b: ldarg.0 + IL_002c: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_0031: ldloc.0 + IL_0032: ldc.i4.0 + IL_0033: callvirt instance void class [mscorlib]System.Array::CopyTo(class [mscorlib]System.Array, int32) + IL_0038: ldarg.1 + IL_0039: ldloc.0 + IL_003a: ldarg.0 + IL_003b: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_0040: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() + IL_0045: ldarg.2 + IL_0046: ldarg.3 + IL_0047: callvirt instance int64 class Bless.Buffers.IBuffer::Read(unsigned int8[], int64, int64, int64) + IL_004c: pop + IL_004d: ldarg.0 + IL_004e: ldloc.0 + IL_004f: stfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_0054: br IL_0077 - IL_019b: ldloc.s 9 - IL_019d: brfalse IL_01e0 + IL_0059: ldarg.0 + IL_005a: ldarg.3 + IL_005b: conv.ovf.i + IL_005c: newarr [mscorlib]System.Byte + IL_0061: stfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_0066: ldarg.1 + IL_0067: ldarg.0 + IL_0068: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_006d: ldc.i4.0 + IL_006e: conv.i8 + IL_006f: ldarg.2 + IL_0070: ldarg.3 + IL_0071: callvirt instance int64 class Bless.Buffers.IBuffer::Read(unsigned int8[], int64, int64, int64) + IL_0076: pop + IL_0077: ret + } // end of method SimpleBuffer::AppendBuffer - IL_01a2: ldarg.0 - IL_01a3: ldfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled - IL_01a8: brtrue IL_01e0 + // method line 194 + .method public virtual hidebysig specialname + instance default void set_Item (int64 index, unsigned int8 'value') cil managed + { + // Method begins at RVA 0x51e4 + // Code size 29 (0x1d) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_0007: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() + IL_000c: blt IL_0012 - IL_01ad: ldloc.s 6 - IL_01af: callvirt instance class Bless.Buffers.IBuffer class Bless.Buffers.Segment::get_Buffer() - IL_01b4: ldloc.3 - IL_01b5: ldc.i4.0 - IL_01b6: conv.i8 - IL_01b7: ldloc.s 6 - IL_01b9: callvirt instance int64 class Bless.Buffers.Segment::get_Start() - IL_01be: ldloc.s 10 - IL_01c0: ldc.i4 65535 - IL_01c5: conv.i8 - IL_01c6: mul - IL_01c7: add - IL_01c8: ldloc.s 9 - IL_01ca: conv.i8 - IL_01cb: callvirt instance int64 class Bless.Buffers.IBuffer::Read(unsigned int8[], int64, int64, int64) - IL_01d0: pop - IL_01d1: ldarg.0 - IL_01d2: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs - IL_01d7: ldloc.3 - IL_01d8: ldc.i4.0 - IL_01d9: ldloc.s 9 - IL_01db: callvirt instance void class [mscorlib]System.IO.Stream::Write(unsigned int8[], int32, int32) - IL_01e0: ldloc.s 5 - IL_01e2: ldloc.s 6 - IL_01e4: callvirt instance int64 class Bless.Buffers.Segment::get_Size() - IL_01e9: add - IL_01ea: stloc.s 5 - IL_01ec: ldloc.s 4 - IL_01ee: ldfld class [Bless.Util]Bless.Util.List`1/Node class [Bless.Util]Bless.Util.List`1/Node::next - IL_01f3: stloc.s 4 - IL_01f5: ldloc.s 4 - IL_01f7: brfalse IL_0207 + IL_0011: ret + IL_0012: ldarg.0 + IL_0013: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_0018: ldarg.1 + IL_0019: conv.ovf.i + IL_001a: ldarg.2 + IL_001b: stelem.i1 + IL_001c: ret + } // end of method SimpleBuffer::set_Item - IL_01fc: ldarg.0 - IL_01fd: ldfld bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled - IL_0202: brfalse IL_00ad + // method line 195 + .method public virtual hidebysig specialname + instance default unsigned int8 get_Item (int64 index) cil managed + { + // Method begins at RVA 0x5202 + // Code size 29 (0x1d) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_0007: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() + IL_000c: blt IL_0013 - IL_0207: ldarg.0 - IL_0208: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs - IL_020d: callvirt instance void class [mscorlib]System.IO.Stream::Close() - IL_0212: ldarg.0 - IL_0213: ldnull - IL_0214: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs - IL_0219: ret - } // end of method SaveInPlaceOperation::DoOperation + IL_0011: ldc.i4.0 + IL_0012: ret + IL_0013: ldarg.0 + IL_0014: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_0019: ldarg.1 + IL_001a: conv.ovf.i + IL_001b: ldelem.u1 + IL_001c: ret + } // end of method SimpleBuffer::get_Item - // method line 198 - .method family virtual hidebysig - instance default void EndOperation () cil managed + // method line 196 + .method public virtual hidebysig specialname + instance default int64 get_Size () cil managed { - // Method begins at RVA 0x51fc - // Code size 30 (0x1e) + // Method begins at RVA 0x5220 + // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs - IL_0006: brfalse IL_001d + IL_0001: ldfld unsigned int8[] Bless.Buffers.SimpleBuffer::data + IL_0006: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() + IL_000b: ret + } // end of method SimpleBuffer::get_Size - IL_000b: ldarg.0 - IL_000c: ldfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs - IL_0011: callvirt instance void class [mscorlib]System.IO.Stream::Close() - IL_0016: ldarg.0 - IL_0017: ldnull - IL_0018: stfld class [mscorlib]System.IO.FileStream Bless.Buffers.SaveInPlaceOperation::fs - IL_001d: ret - } // end of method SaveInPlaceOperation::EndOperation + .property instance unsigned int8 Item (int64) + { + .get instance default unsigned int8 Bless.Buffers.SimpleBuffer::get_Item (int64 index) + .set instance default void Bless.Buffers.SimpleBuffer::set_Item (int64 index, unsigned int8 'value') + } + .property instance int64 Size () + { + .get instance default int64 Bless.Buffers.SimpleBuffer::get_Size () + } + } // end of class Bless.Buffers.SimpleBuffer +} + +.namespace Bless.Buffers +{ + .class interface public auto ansi abstract ISaveState + { + + // method line 197 + .method public virtual hidebysig newslot abstract specialname + instance default valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult get_Result () cil managed + { + // Method begins at RVA 0x0 + } // end of method ISaveState::get_Result + + // method line 198 + .method public virtual hidebysig newslot abstract specialname + instance default string get_SavePath () cil managed + { + // Method begins at RVA 0x0 + } // end of method ISaveState::get_SavePath // method line 199 - .method private final virtual hidebysig newslot strict - instance default valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Buffers.ISaveState.get_Result () cil managed + .method public virtual hidebysig newslot abstract specialname + instance default class Bless.Buffers.ByteBuffer get_Buffer () cil managed { - // Method begins at RVA 0x521b - .override Could not decode method override class Bless.Buffers.ISaveState::get_Result due to (null) - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_Result() - IL_0006: ret - } // end of method SaveInPlaceOperation::Bless.Buffers.ISaveState.get_Result + // Method begins at RVA 0x0 + } // end of method ISaveState::get_Buffer // method line 200 - .method private final virtual hidebysig newslot strict - instance default class [mscorlib]System.Exception Bless.Buffers.ISaveState.get_ThreadException () cil managed + .method public virtual hidebysig newslot abstract specialname + instance default class [mscorlib]System.Exception get_ThreadException () cil managed { - // Method begins at RVA 0x5223 - .override Could not decode method override class Bless.Buffers.ISaveState::get_ThreadException due to (null) - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance class [mscorlib]System.Exception class [Bless.Util]Bless.Util.ThreadedAsyncOperation::get_ThreadException() - IL_0006: ret - } // end of method SaveInPlaceOperation::Bless.Buffers.ISaveState.get_ThreadException + // Method begins at RVA 0x0 + } // end of method ISaveState::get_ThreadException - .property instance class Bless.Buffers.ByteBuffer Buffer () + .property instance valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult Result () { - .get instance default class Bless.Buffers.ByteBuffer Bless.Buffers.SaveInPlaceOperation::get_Buffer () + .get instance default valuetype [Bless.Util]Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Buffers.ISaveState::get_Result () } .property instance string SavePath () { - .get instance default string Bless.Buffers.SaveInPlaceOperation::get_SavePath () - .set instance default void Bless.Buffers.SaveInPlaceOperation::set_SavePath (string 'value') + .get instance default string Bless.Buffers.ISaveState::get_SavePath () } - .property instance int64 BytesSaved () + .property instance class Bless.Buffers.ByteBuffer Buffer () { - .get instance default int64 Bless.Buffers.SaveInPlaceOperation::get_BytesSaved () + .get instance default class Bless.Buffers.ByteBuffer Bless.Buffers.ISaveState::get_Buffer () } - .property instance valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage StageReached () + .property instance class [mscorlib]System.Exception ThreadException () { - .get instance default valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage Bless.Buffers.SaveInPlaceOperation::get_StageReached () + .get instance default class [mscorlib]System.Exception Bless.Buffers.ISaveState::get_ThreadException () } - .class nested public auto ansi sealed SaveInPlaceStage - extends [mscorlib]System.Enum - { - .field public specialname rtspecialname int32 value__ - .field public static literal valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage BeforeClose = int32(0x00000000) - .field public static literal valuetype Bless.Buffers.SaveInPlaceOperation/SaveInPlaceStage BeforeWrite = int32(0x00000001) - - } // end of class SaveInPlaceStage - - } // end of class Bless.Buffers.SaveInPlaceOperation + } // end of class Bless.Buffers.ISaveState } PE32 Mono/.Net assembly: /usr/lib64/bless/Bless.Gui.Areas.Plugins.dll /usr/lib64/bless/Bless.Gui.Areas.Plugins.dll differs (PE32 executable (DLL) (console) Intel 80386, Mono/.Net assembly, for MS Windows) --- old /usr/lib64/bless/Bless.Gui.Areas.Plugins.dll (monodis) +++ new /usr/lib64/bless/Bless.Gui.Areas.Plugins.dll (monodis) @@ -11,19 +11,10 @@ { .ver 0:0:0:0 } -.assembly extern Bless.Gui.Drawers -{ - .ver 0:0:0:0 -} .assembly extern Bless.Buffers { .ver 0:0:0:0 } -.assembly extern System.Xml -{ - .ver 4:0:0:0 - .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. -} .assembly extern mscorlib { .ver 4:0:0:0 @@ -34,6 +25,15 @@ .ver 2:12:0:0 .publickeytoken = (35 E1 01 95 DA B3 C9 9F ) // 5....... } +.assembly extern Bless.Gui.Drawers +{ + .ver 0:0:0:0 +} +.assembly extern System.Xml +{ + .ver 4:0:0:0 + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. +} .assembly 'Bless.Gui.Areas.Plugins' { .custom instance void class [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::'.ctor'() = ( @@ -48,7 +48,7 @@ .namespace Bless.Gui.Areas.Plugins { - .class public auto ansi beforefieldinit OffsetAreaPlugin + .class public auto ansi beforefieldinit OctalAreaPlugin extends [Bless.Plugins]Bless.Plugins.AreaPlugin { @@ -62,13 +62,13 @@ IL_0000: ldarg.0 IL_0001: call instance void class [Bless.Plugins]Bless.Plugins.AreaPlugin::'.ctor'() IL_0006: ldarg.0 - IL_0007: ldstr "offset" + IL_0007: ldstr "octal" IL_000c: stfld string [Bless.Plugins]Bless.Plugins.Plugin::name IL_0011: ldarg.0 IL_0012: ldstr "Alexandros Frantzis" IL_0017: stfld string [Bless.Plugins]Bless.Plugins.Plugin::author IL_001c: ret - } // end of method OffsetAreaPlugin::.ctor + } // end of method OctalAreaPlugin::.ctor // method line 2 .method public virtual hidebysig @@ -78,224 +78,375 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.1 - IL_0001: newobj instance void class Bless.Gui.Areas.Plugins.OffsetArea::'.ctor'(class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup) + IL_0001: newobj instance void class Bless.Gui.Areas.Plugins.OctalArea::'.ctor'(class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup) IL_0006: ret - } // end of method OffsetAreaPlugin::CreateArea + } // end of method OctalAreaPlugin::CreateArea - } // end of class Bless.Gui.Areas.Plugins.OffsetAreaPlugin + } // end of class Bless.Gui.Areas.Plugins.OctalAreaPlugin } .namespace Bless.Gui.Areas.Plugins { - .class public auto ansi beforefieldinit OffsetArea - extends [Bless.Gui.Areas]Bless.Gui.Areas.Area + .class public auto ansi beforefieldinit OctalArea + extends Bless.Gui.Areas.Plugins.GroupedArea { - .field private int32 bytes // method line 3 .method public hidebysig specialname rtspecialname instance default void '.ctor' (class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup ag) cil managed { - // Method begins at RVA 0x2076 + // Method begins at RVA 0x263c // Code size 26 (0x1a) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: call instance void class [Bless.Gui.Areas]Bless.Gui.Areas.Area::'.ctor'(class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup) + IL_0002: call instance void class Bless.Gui.Areas.Plugins.GroupedArea::'.ctor'(class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup) IL_0007: ldarg.0 - IL_0008: ldstr "offset" + IL_0008: ldstr "octal" IL_000d: stfld string [Bless.Gui.Areas]Bless.Gui.Areas.Area::'type' IL_0012: ldarg.0 - IL_0013: ldc.i4.4 - IL_0014: stfld int32 Bless.Gui.Areas.Plugins.OffsetArea::bytes + IL_0013: ldc.i4.3 + IL_0014: stfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::dpb IL_0019: ret - } // end of method OffsetArea::.ctor + } // end of method OctalArea::.ctor // method line 4 - .method public hidebysig specialname - instance default int32 get_Bytes () cil managed + .method public virtual hidebysig + (null) cil managed { - // Method begins at RVA 0x2091 - // Code size 7 (0x7) + // Method begins at RVA 0x2658 + // Code size 465 (0x1d1) + .maxstack 5 + .locals init ( + unsigned int8 V_0, + unsigned int8 V_1, + unsigned int8 V_2, + unsigned int8 V_3, + unsigned int8 V_4, + int32 V_5, + unsigned int8[] V_6) + IL_0000: ldarg.1 + IL_0001: ldc.i4.s 0x30 + IL_0003: blt IL_0010 + + IL_0008: ldarg.1 + IL_0009: ldc.i4.s 0x37 + IL_000b: ble IL_0026 + + IL_0010: ldarg.1 + IL_0011: ldc.i4 65456 + IL_0016: blt IL_01cf + + IL_001b: ldarg.1 + IL_001c: ldc.i4 65463 + IL_0021: bgt IL_01cf + + IL_0026: ldarg.1 + IL_0027: ldc.i4.s 0x30 + IL_0029: blt IL_0041 + + IL_002e: ldarg.1 + IL_002f: ldc.i4.s 0x37 + IL_0031: bgt IL_0041 + + IL_0036: ldarg.1 + IL_0037: ldc.i4.s 0x30 + IL_0039: sub + IL_003a: conv.u1 + IL_003b: stloc.0 + IL_003c: br IL_004a + + IL_0041: ldarg.1 + IL_0042: ldc.i4 65456 + IL_0047: sub + IL_0048: conv.u1 + IL_0049: stloc.0 + IL_004a: ldarg.0 + IL_004b: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0050: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() + IL_0055: ldarg.0 + IL_0056: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_005b: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_0060: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_0065: beq IL_0080 + + IL_006a: ldarg.2 + IL_006b: brtrue IL_0087 + + IL_0070: ldarg.0 + IL_0071: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0076: callvirt instance int32 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorDigit() + IL_007b: brtrue IL_0087 + + IL_0080: ldc.i4.0 + IL_0081: stloc.1 + IL_0082: br IL_00a3 + + IL_0087: ldarg.0 + IL_0088: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_008d: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_0092: ldarg.0 + IL_0093: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0098: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() + IL_009d: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_00a2: stloc.1 + IL_00a3: ldloc.1 + IL_00a4: ldc.i4.8 + IL_00a5: rem + IL_00a6: conv.u1 + IL_00a7: stloc.2 + IL_00a8: ldloc.1 + IL_00a9: ldc.i4.8 + IL_00aa: div + IL_00ab: ldc.i4.8 + IL_00ac: rem + IL_00ad: conv.u1 + IL_00ae: stloc.3 + IL_00af: ldloc.1 + IL_00b0: ldc.i4.s 0x40 + IL_00b2: div + IL_00b3: ldc.i4.8 + IL_00b4: rem + IL_00b5: conv.u1 + IL_00b6: stloc.s 4 + IL_00b8: ldarg.0 + IL_00b9: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_00be: callvirt instance int32 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorDigit() + IL_00c3: brtrue IL_00d0 + + IL_00c8: ldloc.0 + IL_00c9: stloc.s 4 + IL_00cb: br IL_00fb + + IL_00d0: ldarg.0 + IL_00d1: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_00d6: callvirt instance int32 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorDigit() + IL_00db: ldc.i4.1 + IL_00dc: bne.un IL_00e8 + + IL_00e1: ldloc.0 + IL_00e2: stloc.3 + IL_00e3: br IL_00fb + + IL_00e8: ldarg.0 + IL_00e9: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_00ee: callvirt instance int32 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorDigit() + IL_00f3: ldc.i4.2 + IL_00f4: bne.un IL_00fb + + IL_00f9: ldloc.0 + IL_00fa: stloc.2 + IL_00fb: ldloc.s 4 + IL_00fd: ldc.i4.s 0x40 + IL_00ff: mul + IL_0100: ldloc.3 + IL_0101: ldc.i4.8 + IL_0102: mul + IL_0103: add + IL_0104: ldloc.2 + IL_0105: add + IL_0106: stloc.s 5 + IL_0108: ldloc.s 5 + IL_010a: ldc.i4 255 + IL_010f: ble IL_0116 + + IL_0114: ldc.i4.0 + IL_0115: ret + IL_0116: ldc.i4.1 + IL_0117: newarr [mscorlib]System.Byte + IL_011c: dup + IL_011d: ldc.i4.0 + IL_011e: ldloc.s 5 + IL_0120: conv.u1 + IL_0121: stelem.i1 + IL_0122: stloc.s 6 + IL_0124: ldarg.0 + IL_0125: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_012a: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() + IL_012f: ldarg.0 + IL_0130: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0135: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_013a: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_013f: bne.un IL_0164 + + IL_0144: ldarg.0 + IL_0145: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_014a: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_014f: ldloc.s 6 + IL_0151: ldc.i4.0 + IL_0152: conv.i8 + IL_0153: ldloc.s 6 + IL_0155: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() + IL_015a: callvirt instance void class [Bless.Buffers]Bless.Buffers.BaseBuffer::Append(unsigned int8[], int64, int64) + IL_015f: br IL_01cd + + IL_0164: ldarg.2 + IL_0165: brtrue IL_01a5 + + IL_016a: ldarg.0 + IL_016b: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0170: callvirt instance int32 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorDigit() + IL_0175: brtrue IL_01a5 + + IL_017a: ldarg.0 + IL_017b: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0180: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_0185: ldarg.0 + IL_0186: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_018b: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() + IL_0190: ldloc.s 6 + IL_0192: ldc.i4.0 + IL_0193: conv.i8 + IL_0194: ldloc.s 6 + IL_0196: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() + IL_019b: callvirt instance void class [Bless.Buffers]Bless.Buffers.BaseBuffer::Insert(int64, unsigned int8[], int64, int64) + IL_01a0: br IL_01cd + + IL_01a5: ldarg.0 + IL_01a6: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_01ab: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_01b0: ldarg.0 + IL_01b1: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_01b6: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() + IL_01bb: ldarg.0 + IL_01bc: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_01c1: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() + IL_01c6: ldloc.s 6 + IL_01c8: callvirt instance void class [Bless.Buffers]Bless.Buffers.ByteBuffer::Replace(int64, int64, unsigned int8[]) + IL_01cd: ldc.i4.1 + IL_01ce: ret + IL_01cf: ldc.i4.0 + IL_01d0: ret + } // end of method OctalArea:: + + // method line 5 + .method public virtual hidebysig + instance default void Realize () cil managed + { + // Method begins at RVA 0x2838 + } // end of method OctalArea::Realize + + } // end of class Bless.Gui.Areas.Plugins.OctalArea +} + +.namespace Bless.Gui.Areas.Plugins +{ + .class public auto ansi beforefieldinit AsciiAreaPlugin + extends [Bless.Plugins]Bless.Plugins.AreaPlugin + { + + // method line 6 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' () cil managed + { + // Method begins at RVA 0x2869 + // Code size 29 (0x1d) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 Bless.Gui.Areas.Plugins.OffsetArea::bytes + IL_0001: call instance void class [Bless.Plugins]Bless.Plugins.AreaPlugin::'.ctor'() + IL_0006: ldarg.0 + IL_0007: ldstr "ascii" + IL_000c: stfld string [Bless.Plugins]Bless.Plugins.Plugin::name + IL_0011: ldarg.0 + IL_0012: ldstr "Alexandros Frantzis" + IL_0017: stfld string [Bless.Plugins]Bless.Plugins.Plugin::author + IL_001c: ret + } // end of method AsciiAreaPlugin::.ctor + + // method line 7 + .method public virtual hidebysig + instance default class [Bless.Gui.Areas]Bless.Gui.Areas.Area CreateArea (class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup ag) cil managed + { + // Method begins at RVA 0x2887 + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: newobj instance void class Bless.Gui.Areas.Plugins.AsciiArea::'.ctor'(class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup) IL_0006: ret - } // end of method OffsetArea::get_Bytes + } // end of method AsciiAreaPlugin::CreateArea - // method line 5 - .method public hidebysig specialname - instance default void set_Bytes (int32 'value') cil managed + } // end of class Bless.Gui.Areas.Plugins.AsciiAreaPlugin +} + +.namespace Bless.Gui.Areas.Plugins +{ + .class public auto ansi beforefieldinit AsciiArea + extends [Bless.Gui.Areas]Bless.Gui.Areas.Area + { + + // method line 8 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup ag) cil managed { - // Method begins at RVA 0x2099 - // Code size 8 (0x8) + // Method begins at RVA 0x288f + // Code size 33 (0x21) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld int32 Bless.Gui.Areas.Plugins.OffsetArea::bytes - IL_0007: ret - } // end of method OffsetArea::set_Bytes + IL_0002: call Invalid type Bless.Gui.Areas.AreaGroup for instance field Bless.Gui.Areas.Area:areaGroup +instance void class [Bless.Gui.Areas]Bless.Gui.Areas.Area::'.ctor'(class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup) + IL_0007: ldarg.0 + IL_0008: ldstr "ascii" + IL_000d: stfld string [Bless.Gui.Areas]Bless.Gui.Areas.Area::'type' + IL_0012: ldarg.0 + IL_0013: ldc.i4.1 + IL_0014: stfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::dpb + IL_0019: ldarg.0 + IL_001a: ldc.i4.1 + IL_001b: stfld bool [Bless.Gui.Areas]Bless.Gui.Areas.Area::canFocus + IL_0020: ret + } // end of method AsciiArea::.ctor - // method line 6 + // method line 9 .method family virtual hidebysig - instance default void RenderExtra () cil managed + instance default void RenderRowNormal (int32 i, int32 p, int32 n, bool blank) cil managed { - // Method begins at RVA 0x20a4 - // Code size 184 (0xb8) - .maxstack 5 - .locals init ( - int32 V_0, - int64 V_1, - int32 V_2, - int32 V_3, - int32 V_4) + // Method begins at RVA 0x28b4 + } // end of method AsciiArea::RenderRowNormal + + // method line 10 + .method family virtual hidebysig + instance default void RenderRowHighlight (int32 i, int32 p, int32 n, bool blank, valuetype [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer/HighlightType ht) cil managed + { + // Method begins at RVA 0x29e8 + } // end of method AsciiArea::RenderRowHighlight + + // method line 11 + .method public virtual hidebysig + instance default int32 CalcWidth (int32 n, bool force) cil managed + { + // Method begins at RVA 0x2b1d + // Code size 46 (0x2e) + .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr + IL_0001: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::fixedBpr IL_0006: ldc.i4.0 - IL_0007: bgt IL_000d + IL_0007: ble IL_0020 - IL_000c: ret + IL_000c: ldarg.1 IL_000d: ldarg.0 - IL_000e: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::height - IL_0013: ldarg.0 - IL_0014: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer - IL_0019: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Height() - IL_001e: div - IL_001f: stloc.0 - IL_0020: ldloc.0 + IL_000e: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::fixedBpr + IL_0013: ble IL_0020 + + IL_0018: ldarg.2 + IL_0019: brtrue IL_0020 + + IL_001e: ldc.i4.m1 + IL_001f: ret + IL_0020: ldarg.1 IL_0021: ldarg.0 - IL_0022: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr - IL_0027: mul - IL_0028: conv.i8 - IL_0029: stloc.1 - IL_002a: ldc.i4.0 - IL_002b: stloc.2 - IL_002c: ldc.i4.0 - IL_002d: stloc.3 - IL_002e: ldloc.1 - IL_002f: ldarg.0 - IL_0030: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_0035: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Offset() - IL_003a: add - IL_003b: ldarg.0 - IL_003c: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_0041: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() - IL_0046: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() - IL_004b: ble IL_0070 + IL_0022: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer + IL_0027: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Width() + IL_002c: mul + IL_002d: ret + } // end of method AsciiArea::CalcWidth - IL_0050: ldarg.0 - IL_0051: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_0056: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() - IL_005b: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() - IL_0060: ldarg.0 - IL_0061: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_0066: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Offset() - IL_006b: sub - IL_006c: ldc.i4.1 - IL_006d: conv.i8 - IL_006e: add - IL_006f: stloc.1 - IL_0070: ldloc.1 - IL_0071: ldarg.0 - IL_0072: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr - IL_0077: conv.i8 - IL_0078: div - IL_0079: conv.i4 - IL_007a: stloc.2 - IL_007b: ldloc.1 - IL_007c: ldarg.0 - IL_007d: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr - IL_0082: conv.i8 - IL_0083: rem - IL_0084: conv.i4 - IL_0085: stloc.3 - IL_0086: ldloc.3 - IL_0087: ldc.i4.0 - IL_0088: ble IL_0091 - - IL_008d: ldloc.2 - IL_008e: ldc.i4.1 - IL_008f: add - IL_0090: stloc.2 - IL_0091: ldc.i4.0 - IL_0092: stloc.s 4 - IL_0094: br IL_00af - - IL_0099: ldarg.0 - IL_009a: ldloc.s 4 - IL_009c: ldc.i4.0 - IL_009d: ldarg.0 - IL_009e: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr - IL_00a3: ldc.i4.1 - IL_00a4: callvirt instance void class [Bless.Gui.Areas]Bless.Gui.Areas.Area::RenderRowNormal(int32, int32, int32, bool) - IL_00a9: ldloc.s 4 - IL_00ab: ldc.i4.1 - IL_00ac: add - IL_00ad: stloc.s 4 - IL_00af: ldloc.s 4 - IL_00b1: ldloc.2 - IL_00b2: blt IL_0099 - - IL_00b7: ret - } // end of method OffsetArea::RenderExtra - - // method line 7 - .method family virtual hidebysig - instance default void RenderHighlight (class [Bless.Gui.Areas]Bless.Gui.Areas.Highlight h, valuetype [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer/HighlightType left, valuetype [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer/HighlightType right) cil managed - { - // Method begins at RVA 0x2168 - // Code size 1 (0x1) - .maxstack 8 - IL_0000: ret - } // end of method OffsetArea::RenderHighlight - - // method line 8 - .method family virtual hidebysig - instance default void RenderRowNormal (int32 i, int32 p, int32 n, bool blank) cil managed - { - // Method begins at RVA 0x216c - } // end of method OffsetArea::RenderRowNormal - - // method line 9 - .method family virtual hidebysig - instance default void RenderRowHighlight (int32 i, int32 p, int32 n, bool blank, valuetype [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer/HighlightType ht) cil managed - { - // Method begins at RVA 0x22b7 - // Code size 12 (0xc) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: ldarg.2 - IL_0003: ldarg.3 - IL_0004: ldarg.s 4 - IL_0006: callvirt instance void class [Bless.Gui.Areas]Bless.Gui.Areas.Area::RenderRowNormal(int32, int32, int32, bool) - IL_000b: ret - } // end of method OffsetArea::RenderRowHighlight - - // method line 10 - .method public virtual hidebysig - instance default int32 CalcWidth (int32 n, bool force) cil managed - { - // Method begins at RVA 0x22c4 - // Code size 21 (0x15) - .maxstack 8 - IL_0000: ldc.i4.2 - IL_0001: ldarg.0 - IL_0002: ldfld int32 Bless.Gui.Areas.Plugins.OffsetArea::bytes - IL_0007: mul - IL_0008: ldarg.0 - IL_0009: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer - IL_000e: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Width() - IL_0013: mul - IL_0014: ret - } // end of method OffsetArea::CalcWidth - - // method line 11 + // method line 12 .method public virtual hidebysig instance default void GetDisplayInfoByOffset (int64 'off', [out] int32& orow, [out] int32& obyte, [out] int32& ox, [out] int32& oy) cil managed { - // Method begins at RVA 0x22dc - // Code size 70 (0x46) + // Method begins at RVA 0x2b4c + // Code size 83 (0x53) .maxstack 3 IL_0000: ldarg.2 IL_0001: ldarg.1 @@ -330,21 +481,27 @@ IL_003f: mul IL_0040: stind.i4 IL_0041: ldarg.s 4 - IL_0043: ldc.i4.0 - IL_0044: stind.i4 - IL_0045: ret - } // end of method OffsetArea::GetDisplayInfoByOffset + IL_0043: ldarg.3 + IL_0044: ldind.i4 + IL_0045: ldarg.0 + IL_0046: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer + IL_004b: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Width() + IL_0050: mul + IL_0051: stind.i4 + IL_0052: ret + } // end of method AsciiArea::GetDisplayInfoByOffset - // method line 12 + // method line 13 .method public virtual hidebysig instance default int64 GetOffsetByDisplayInfo (int32 x, int32 y, [out] int32& digit, [out] valuetype [Bless.Gui.Areas]Bless.Gui.Areas.Area/GetOffsetFlags& 'flags') cil managed { - // Method begins at RVA 0x2330 - // Code size 75 (0x4b) + // Method begins at RVA 0x2bac + // Code size 91 (0x5b) .maxstack 3 .locals init ( int32 V_0, - int64 V_1) + int32 V_1, + int64 V_2) IL_0000: ldarg.s 4 IL_0002: ldc.i4.0 IL_0003: stind.i4 @@ -354,241 +511,398 @@ IL_000b: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Height() IL_0010: div IL_0011: stloc.0 - IL_0012: ldloc.0 + IL_0012: ldarg.1 IL_0013: ldarg.0 - IL_0014: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr - IL_0019: mul - IL_001a: conv.i8 - IL_001b: ldarg.0 - IL_001c: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_0021: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Offset() - IL_0026: add - IL_0027: stloc.1 + IL_0014: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer + IL_0019: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Width() + IL_001e: div + IL_001f: stloc.1 + IL_0020: ldloc.0 + IL_0021: ldarg.0 + IL_0022: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr + IL_0027: mul IL_0028: ldloc.1 - IL_0029: ldarg.0 - IL_002a: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_002f: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() - IL_0034: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() - IL_0039: blt IL_0046 + IL_0029: add + IL_002a: conv.i8 + IL_002b: ldarg.0 + IL_002c: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0031: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Offset() + IL_0036: add + IL_0037: stloc.2 + IL_0038: ldloc.2 + IL_0039: ldarg.0 + IL_003a: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_003f: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_0044: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_0049: blt IL_0056 - IL_003e: ldarg.s 4 - IL_0040: ldarg.s 4 - IL_0042: ldind.i4 - IL_0043: ldc.i4.1 - IL_0044: or - IL_0045: stind.i4 - IL_0046: ldarg.3 - IL_0047: ldc.i4.0 - IL_0048: stind.i4 - IL_0049: ldloc.1 - IL_004a: ret - } // end of method OffsetArea::GetOffsetByDisplayInfo + IL_004e: ldarg.s 4 + IL_0050: ldarg.s 4 + IL_0052: ldind.i4 + IL_0053: ldc.i4.1 + IL_0054: or + IL_0055: stind.i4 + IL_0056: ldarg.3 + IL_0057: ldc.i4.0 + IL_0058: stind.i4 + IL_0059: ldloc.2 + IL_005a: ret + } // end of method AsciiArea::GetOffsetByDisplayInfo - // method line 13 + // method line 14 .method public virtual hidebysig - instance default void Configure (class [System.Xml]System.Xml.XmlNode parentNode) cil managed + (null) cil managed { - // Method begins at RVA 0x2388 - // Code size 161 (0xa1) - .maxstack 3 + // Method begins at RVA 0x2c14 + // Code size 242 (0xf2) + .maxstack 5 .locals init ( - class [System.Xml]System.Xml.XmlNodeList V_0, - class [System.Xml]System.Xml.XmlNode V_1, - class [mscorlib]System.Collections.IEnumerator V_2, - class [mscorlib]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: call instance void class [Bless.Gui.Areas]Bless.Gui.Areas.Area::Configure(class [System.Xml]System.Xml.XmlNode) - IL_0007: ldarg.1 - IL_0008: callvirt instance class [System.Xml]System.Xml.XmlNodeList class [System.Xml]System.Xml.XmlNode::get_ChildNodes() - IL_000d: stloc.0 - IL_000e: ldloc.0 - IL_000f: callvirt instance class [mscorlib]System.Collections.IEnumerator class [System.Xml]System.Xml.XmlNodeList::GetEnumerator() - IL_0014: stloc.2 - .try { // 0 - IL_0015: br IL_007c - - IL_001a: ldloc.2 - IL_001b: callvirt instance object class [mscorlib]System.Collections.IEnumerator::get_Current() - IL_0020: castclass [System.Xml]System.Xml.XmlNode - IL_0025: stloc.1 - IL_0026: ldloc.1 - IL_0027: callvirt instance string class [System.Xml]System.Xml.XmlNode::get_Name() - IL_002c: ldstr "case" - IL_0031: call bool string::op_Equality(string, string) - IL_0036: brfalse IL_0056 + unsigned int8[] V_0) + IL_0000: ldnull + IL_0001: stloc.0 + IL_0002: ldarg.1 + IL_0003: ldc.i4.s 0x20 + IL_0005: blt IL_0023 - IL_003b: ldarg.0 - IL_003c: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer/Information [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawerInformation - IL_0041: ldloc.1 - IL_0042: callvirt instance string class [System.Xml]System.Xml.XmlNode::get_InnerText() - IL_0047: ldstr "upper" - IL_004c: call bool string::op_Equality(string, string) - IL_0051: stfld bool [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer/Information::Uppercase - IL_0056: ldloc.1 - IL_0057: callvirt instance string class [System.Xml]System.Xml.XmlNode::get_Name() - IL_005c: ldstr "bytes" - IL_0061: call bool string::op_Equality(string, string) - IL_0066: brfalse IL_007c + IL_000a: ldarg.1 + IL_000b: ldc.i4.s 0x7e + IL_000d: bgt IL_0023 - IL_006b: ldarg.0 - IL_006c: ldloc.1 - IL_006d: callvirt instance string class [System.Xml]System.Xml.XmlNode::get_InnerText() - IL_0072: call int32 class [mscorlib]System.Convert::ToInt32(string) - IL_0077: call instance void class Bless.Gui.Areas.Plugins.OffsetArea::set_Bytes(int32) - IL_007c: ldloc.2 - IL_007d: callvirt instance bool class [mscorlib]System.Collections.IEnumerator::MoveNext() - IL_0082: brtrue IL_001a + IL_0012: ldc.i4.1 + IL_0013: newarr [mscorlib]System.Byte + IL_0018: dup + IL_0019: ldc.i4.0 + IL_001a: ldarg.1 + IL_001b: conv.u1 + IL_001c: stelem.i1 + IL_001d: stloc.0 + IL_001e: br IL_004e - IL_0087: leave IL_00a0 + IL_0023: ldarg.1 + IL_0024: ldc.i4 65456 + IL_0029: blt IL_004e - } // end .try 0 - finally { // 0 - IL_008c: ldloc.2 - IL_008d: isinst [mscorlib]System.IDisposable - IL_0092: dup - IL_0093: stloc.3 - IL_0094: brfalse IL_009f + IL_002e: ldarg.1 + IL_002f: ldc.i4 65465 + IL_0034: bgt IL_004e - IL_0099: ldloc.3 - IL_009a: callvirt instance void class [mscorlib]System.IDisposable::Dispose() - IL_009f: endfinally - } // end handler 0 - IL_00a0: ret - } // end of method OffsetArea::Configure + IL_0039: ldc.i4.1 + IL_003a: newarr [mscorlib]System.Byte + IL_003f: dup + IL_0040: ldc.i4.0 + IL_0041: ldarg.1 + IL_0042: ldc.i4 65456 + IL_0047: sub + IL_0048: ldc.i4.s 0x30 + IL_004a: add + IL_004b: conv.u1 + IL_004c: stelem.i1 + IL_004d: stloc.0 + IL_004e: ldloc.0 + IL_004f: brfalse IL_00f0 - // method line 14 + IL_0054: ldarg.0 + IL_0055: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_005a: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() + IL_005f: ldarg.0 + IL_0060: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0065: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_006a: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_006f: bne.un IL_0092 + + IL_0074: ldarg.0 + IL_0075: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_007a: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_007f: ldloc.0 + IL_0080: ldc.i4.0 + IL_0081: conv.i8 + IL_0082: ldloc.0 + IL_0083: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() + IL_0088: callvirt instance void class [Bless.Buffers]Bless.Buffers.BaseBuffer::Append(unsigned int8[], int64, int64) + IL_008d: br IL_00ee + + IL_0092: ldarg.2 + IL_0093: brfalse IL_00c4 + + IL_0098: ldarg.0 + IL_0099: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_009e: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_00a3: ldarg.0 + IL_00a4: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_00a9: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() + IL_00ae: ldarg.0 + IL_00af: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_00b4: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() + IL_00b9: ldloc.0 + IL_00ba: callvirt instance void class [Bless.Buffers]Bless.Buffers.ByteBuffer::Replace(int64, int64, unsigned int8[]) + IL_00bf: br IL_00ee + + IL_00c4: ldarg.2 + IL_00c5: brtrue IL_00ee + + IL_00ca: ldarg.0 + IL_00cb: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_00d0: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_00d5: ldarg.0 + IL_00d6: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_00db: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() + IL_00e0: ldloc.0 + IL_00e1: ldc.i4.0 + IL_00e2: conv.i8 + IL_00e3: ldloc.0 + IL_00e4: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() + IL_00e9: callvirt instance void class [Bless.Buffers]Bless.Buffers.BaseBuffer::Insert(int64, unsigned int8[], int64, int64) + IL_00ee: ldc.i4.1 + IL_00ef: ret + IL_00f0: ldc.i4.0 + IL_00f1: ret + } // end of method AsciiArea:: + + // method line 15 .method public virtual hidebysig instance default void Realize () cil managed { - // Method begins at RVA 0x2448 - } // end of method OffsetArea::Realize + // Method begins at RVA 0x2d14 + } // end of method AsciiArea::Realize - .property instance int32 Bytes () - { - .get instance default int32 Bless.Gui.Areas.Plugins.OffsetArea::get_Bytes () - .set instance default void Bless.Gui.Areas.Plugins.OffsetArea::set_Bytes (int32 'value') - } - } // end of class Bless.Gui.Areas.Plugins.OffsetArea + } // end of class Bless.Gui.Areas.Plugins.AsciiArea } .namespace Bless.Gui.Areas.Plugins { - .class public auto ansi beforefieldinit AsciiAreaPlugin + .class public auto ansi beforefieldinit SeparatorAreaPlugin extends [Bless.Plugins]Bless.Plugins.AreaPlugin { - // method line 15 + // method line 16 .method public hidebysig specialname rtspecialname instance default void '.ctor' () cil managed { - // Method begins at RVA 0x2479 + // Method begins at RVA 0x2d45 // Code size 29 (0x1d) .maxstack 8 IL_0000: ldarg.0 IL_0001: call instance void class [Bless.Plugins]Bless.Plugins.AreaPlugin::'.ctor'() IL_0006: ldarg.0 - IL_0007: ldstr "ascii" + IL_0007: ldstr "separator" IL_000c: stfld string [Bless.Plugins]Bless.Plugins.Plugin::name IL_0011: ldarg.0 IL_0012: ldstr "Alexandros Frantzis" IL_0017: stfld string [Bless.Plugins]Bless.Plugins.Plugin::author IL_001c: ret - } // end of method AsciiAreaPlugin::.ctor + } // end of method SeparatorAreaPlugin::.ctor - // method line 16 + // method line 17 .method public virtual hidebysig instance default class [Bless.Gui.Areas]Bless.Gui.Areas.Area CreateArea (class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup ag) cil managed { - // Method begins at RVA 0x2497 + // Method begins at RVA 0x2d63 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.1 - IL_0001: newobj instance void class Bless.Gui.Areas.Plugins.AsciiArea::'.ctor'(class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup) + IL_0001: newobj instance void class Bless.Gui.Areas.Plugins.SeparatorArea::'.ctor'(class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup) IL_0006: ret - } // end of method AsciiAreaPlugin::CreateArea + } // end of method SeparatorAreaPlugin::CreateArea - } // end of class Bless.Gui.Areas.Plugins.AsciiAreaPlugin + } // end of class Bless.Gui.Areas.Plugins.SeparatorAreaPlugin } .namespace Bless.Gui.Areas.Plugins { - .class public auto ansi beforefieldinit AsciiArea + .class public auto ansi beforefieldinit SeparatorArea extends [Bless.Gui.Areas]Bless.Gui.Areas.Area { + .field private member:> lineGC - // method line 17 + // method line 18 .method public hidebysig specialname rtspecialname instance default void '.ctor' (class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup ag) cil managed { - // Method begins at RVA 0x249f - // Code size 33 (0x21) + // Method begins at RVA 0x2d6b + // Code size 19 (0x13) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 IL_0002: call instance void class [Bless.Gui.Areas]Bless.Gui.Areas.Area::'.ctor'(class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup) IL_0007: ldarg.0 - IL_0008: ldstr "ascii" + IL_0008: ldstr "separator" IL_000d: stfld string [Bless.Gui.Areas]Bless.Gui.Areas.Area::'type' - IL_0012: ldarg.0 - IL_0013: ldc.i4.1 - IL_0014: stfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::dpb - IL_0019: ldarg.0 - IL_001a: ldc.i4.1 - IL_001b: stfld bool [Bless.Gui.Areas]Bless.Gui.Areas.Area::canFocus - IL_0020: ret - } // end of method AsciiArea::.ctor + IL_0012: ret + } // end of method SeparatorArea::.ctor - // method line 18 + // method line 19 + .method public virtual hidebysig + instance default void Realize () cil managed + { + // Method begins at RVA 0x2d80 + } // end of method SeparatorArea::Realize + + // method line 20 + .method family virtual hidebysig + instance default void RenderHighlight (class [Bless.Gui.Areas]Bless.Gui.Areas.Highlight h, valuetype [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer/HighlightType left, valuetype [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer/HighlightType right) cil managed + { + // Method begins at RVA 0x2de9 + // Code size 1 (0x1) + .maxstack 8 + IL_0000: ret + } // end of method SeparatorArea::RenderHighlight + + // method line 21 .method family virtual hidebysig instance default void RenderRowNormal (int32 i, int32 p, int32 n, bool blank) cil managed { - // Method begins at RVA 0x24c4 - } // end of method AsciiArea::RenderRowNormal + // Method begins at RVA 0x2deb + // Code size 1 (0x1) + .maxstack 8 + IL_0000: ret + } // end of method SeparatorArea::RenderRowNormal - // method line 19 + // method line 22 .method family virtual hidebysig instance default void RenderRowHighlight (int32 i, int32 p, int32 n, bool blank, valuetype [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer/HighlightType ht) cil managed { - // Method begins at RVA 0x25f8 - } // end of method AsciiArea::RenderRowHighlight + // Method begins at RVA 0x2ded + // Code size 1 (0x1) + .maxstack 8 + IL_0000: ret + } // end of method SeparatorArea::RenderRowHighlight - // method line 20 + // method line 23 + .method family virtual hidebysig + instance default void RenderExtra () cil managed + { + // Method begins at RVA 0x2df0 + // Code size 234 (0xea) + .maxstack 7 + .locals init ( + int32 V_0, + int64 V_1, + int32 V_2, + int32 V_3) + IL_0000: ldarg.0 + IL_0001: ldfld bool [Bless.Gui.Areas]Bless.Gui.Areas.Area::isAreaRealized + IL_0006: brtrue IL_000c + + IL_000b: ret + IL_000c: ldarg.0 + IL_000d: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::height + IL_0012: ldarg.0 + IL_0013: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer + IL_0018: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Height() + IL_001d: div + IL_001e: stloc.0 + IL_001f: ldloc.0 + IL_0020: ldarg.0 + IL_0021: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr + IL_0026: mul + IL_0027: conv.i8 + IL_0028: stloc.1 + IL_0029: ldc.i4.0 + IL_002a: stloc.2 + IL_002b: ldc.i4.0 + IL_002c: stloc.3 + IL_002d: ldarg.0 + IL_002e: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr + IL_0033: ldc.i4.0 + IL_0034: ble IL_009b + + IL_0039: ldloc.1 + IL_003a: ldarg.0 + IL_003b: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0040: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Offset() + IL_0045: add + IL_0046: ldarg.0 + IL_0047: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_004c: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_0051: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_0056: ble IL_007b + + IL_005b: ldarg.0 + IL_005c: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0061: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_0066: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_006b: ldarg.0 + IL_006c: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0071: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Offset() + IL_0076: sub + IL_0077: ldc.i4.1 + IL_0078: conv.i8 + IL_0079: add + IL_007a: stloc.1 + IL_007b: ldloc.1 + IL_007c: ldarg.0 + IL_007d: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr + IL_0082: conv.i8 + IL_0083: div + IL_0084: conv.i4 + IL_0085: stloc.2 + IL_0086: ldloc.1 + IL_0087: ldarg.0 + IL_0088: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr + IL_008d: conv.i8 + IL_008e: rem + IL_008f: conv.i4 + IL_0090: stloc.3 + IL_0091: ldloc.3 + IL_0092: brfalse IL_009b + + IL_0097: ldloc.2 + IL_0098: ldc.i4.1 + IL_0099: add + IL_009a: stloc.2 + IL_009b: ldloc.2 + IL_009c: brtrue IL_00a2 + + IL_00a1: ret + IL_00a2: ldarg.0 + IL_00a3: ldfld member:> [Bless.Gui.Areas]Bless.Gui.Areas.Area::backPixmap + IL_00a8: ldarg.0 + IL_00a9: ldfld member:> Bless.Gui.Areas.Plugins.SeparatorArea::lineGC + IL_00ae: ldarg.0 + IL_00af: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::x + IL_00b4: ldarg.0 + IL_00b5: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer + IL_00ba: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Width() + IL_00bf: ldc.i4.2 + IL_00c0: div + IL_00c1: add + IL_00c2: ldc.i4.0 + IL_00c3: ldarg.0 + IL_00c4: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::x + IL_00c9: ldarg.0 + IL_00ca: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer + IL_00cf: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Width() + IL_00d4: ldc.i4.2 + IL_00d5: div + IL_00d6: add + IL_00d7: ldarg.0 + IL_00d8: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer + IL_00dd: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Height() + IL_00e2: ldloc.2 + IL_00e3: mul + IL_00e4: callvirt instance void ['gdk-sharp']Gdk.Drawable::DrawLine( member:>, int32, int32, int32, int32) + IL_00e9: ret + } // end of method SeparatorArea::RenderExtra + + // method line 24 .method public virtual hidebysig instance default int32 CalcWidth (int32 n, bool force) cil managed { - // Method begins at RVA 0x272d - // Code size 46 (0x2e) + // Method begins at RVA 0x2ee6 + // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::fixedBpr - IL_0006: ldc.i4.0 - IL_0007: ble IL_0020 - - IL_000c: ldarg.1 - IL_000d: ldarg.0 - IL_000e: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::fixedBpr - IL_0013: ble IL_0020 - - IL_0018: ldarg.2 - IL_0019: brtrue IL_0020 - - IL_001e: ldc.i4.m1 - IL_001f: ret - IL_0020: ldarg.1 - IL_0021: ldarg.0 - IL_0022: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer - IL_0027: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Width() - IL_002c: mul - IL_002d: ret - } // end of method AsciiArea::CalcWidth + IL_0001: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer + IL_0006: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Width() + IL_000b: ret + } // end of method SeparatorArea::CalcWidth - // method line 21 + // method line 25 .method public virtual hidebysig instance default void GetDisplayInfoByOffset (int64 'off', [out] int32& orow, [out] int32& obyte, [out] int32& ox, [out] int32& oy) cil managed { - // Method begins at RVA 0x275c - // Code size 83 (0x53) + // Method begins at RVA 0x2ef4 + // Code size 70 (0x46) .maxstack 3 IL_0000: ldarg.2 IL_0001: ldarg.1 @@ -623,27 +937,21 @@ IL_003f: mul IL_0040: stind.i4 IL_0041: ldarg.s 4 - IL_0043: ldarg.3 - IL_0044: ldind.i4 - IL_0045: ldarg.0 - IL_0046: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer - IL_004b: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Width() - IL_0050: mul - IL_0051: stind.i4 - IL_0052: ret - } // end of method AsciiArea::GetDisplayInfoByOffset + IL_0043: ldc.i4.0 + IL_0044: stind.i4 + IL_0045: ret + } // end of method SeparatorArea::GetDisplayInfoByOffset - // method line 22 + // method line 26 .method public virtual hidebysig instance default int64 GetOffsetByDisplayInfo (int32 x, int32 y, [out] int32& digit, [out] valuetype [Bless.Gui.Areas]Bless.Gui.Areas.Area/GetOffsetFlags& 'flags') cil managed { - // Method begins at RVA 0x27bc - // Code size 91 (0x5b) + // Method begins at RVA 0x2f48 + // Code size 75 (0x4b) .maxstack 3 .locals init ( int32 V_0, - int32 V_1, - int64 V_2) + int64 V_1) IL_0000: ldarg.s 4 IL_0002: ldc.i4.0 IL_0003: stind.i4 @@ -653,444 +961,463 @@ IL_000b: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Height() IL_0010: div IL_0011: stloc.0 - IL_0012: ldarg.1 + IL_0012: ldloc.0 IL_0013: ldarg.0 - IL_0014: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer - IL_0019: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Width() - IL_001e: div - IL_001f: stloc.1 - IL_0020: ldloc.0 - IL_0021: ldarg.0 - IL_0022: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr - IL_0027: mul + IL_0014: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr + IL_0019: mul + IL_001a: conv.i8 + IL_001b: ldarg.0 + IL_001c: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0021: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Offset() + IL_0026: add + IL_0027: stloc.1 IL_0028: ldloc.1 - IL_0029: add - IL_002a: conv.i8 - IL_002b: ldarg.0 - IL_002c: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_0031: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Offset() - IL_0036: add - IL_0037: stloc.2 - IL_0038: ldloc.2 - IL_0039: ldarg.0 - IL_003a: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_003f: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() - IL_0044: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() - IL_0049: blt IL_0056 + IL_0029: ldarg.0 + IL_002a: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_002f: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_0034: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_0039: blt IL_0046 - IL_004e: ldarg.s 4 - IL_0050: ldarg.s 4 - IL_0052: ldind.i4 - IL_0053: ldc.i4.1 - IL_0054: or - IL_0055: stind.i4 - IL_0056: ldarg.3 - IL_0057: ldc.i4.0 - IL_0058: stind.i4 - IL_0059: ldloc.2 - IL_005a: ret - } // end of method AsciiArea::GetOffsetByDisplayInfo - - // method line 23 - .method public virtual hidebysig - (null) cil managed - { - // Method begins at RVA 0x2824 - // Code size 242 (0xf2) - .maxstack 5 - .locals init ( - unsigned int8[] V_0) - IL_0000: ldnull - IL_0001: stloc.0 - IL_0002: ldarg.1 - IL_0003: ldc.i4.s 0x20 - IL_0005: blt IL_0023 - - IL_000a: ldarg.1 - IL_000b: ldc.i4.s 0x7e - IL_000d: bgt IL_0023 - - IL_0012: ldc.i4.1 - IL_0013: newarr [mscorlib]System.Byte - IL_0018: dup - IL_0019: ldc.i4.0 - IL_001a: ldarg.1 - IL_001b: conv.u1 - IL_001c: stelem.i1 - IL_001d: stloc.0 - IL_001e: br IL_004e - - IL_0023: ldarg.1 - IL_0024: ldc.i4 65456 - IL_0029: blt IL_004e - - IL_002e: ldarg.1 - IL_002f: ldc.i4 65465 - IL_0034: bgt IL_004e - - IL_0039: ldc.i4.1 - IL_003a: newarr [mscorlib]System.Byte - IL_003f: dup - IL_0040: ldc.i4.0 - IL_0041: ldarg.1 - IL_0042: ldc.i4 65456 - IL_0047: sub - IL_0048: ldc.i4.s 0x30 - IL_004a: add - IL_004b: conv.u1 - IL_004c: stelem.i1 - IL_004d: stloc.0 - IL_004e: ldloc.0 - IL_004f: brfalse IL_00f0 - - IL_0054: ldarg.0 - IL_0055: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_005a: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() - IL_005f: ldarg.0 - IL_0060: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_0065: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() - IL_006a: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() - IL_006f: bne.un IL_0092 - - IL_0074: ldarg.0 - IL_0075: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_007a: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() - IL_007f: ldloc.0 - IL_0080: ldc.i4.0 - IL_0081: conv.i8 - IL_0082: ldloc.0 - IL_0083: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() - IL_0088: callvirt instance void class [Bless.Buffers]Bless.Buffers.BaseBuffer::Append(unsigned int8[], int64, int64) - IL_008d: br IL_00ee - - IL_0092: ldarg.2 - IL_0093: brfalse IL_00c4 - - IL_0098: ldarg.0 - IL_0099: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_009e: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() - IL_00a3: ldarg.0 - IL_00a4: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_00a9: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() - IL_00ae: ldarg.0 - IL_00af: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_00b4: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() - IL_00b9: ldloc.0 - IL_00ba: callvirt instance void class [Bless.Buffers]Bless.Buffers.ByteBuffer::Replace(int64, int64, unsigned int8[]) - IL_00bf: br IL_00ee - - IL_00c4: ldarg.2 - IL_00c5: brtrue IL_00ee - - IL_00ca: ldarg.0 - IL_00cb: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_00d0: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() - IL_00d5: ldarg.0 - IL_00d6: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_00db: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() - IL_00e0: ldloc.0 - IL_00e1: ldc.i4.0 - IL_00e2: conv.i8 - IL_00e3: ldloc.0 - IL_00e4: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() - IL_00e9: callvirt instance void class [Bless.Buffers]Bless.Buffers.BaseBuffer::Insert(int64, unsigned int8[], int64, int64) - IL_00ee: ldc.i4.1 - IL_00ef: ret - IL_00f0: ldc.i4.0 - IL_00f1: ret - } // end of method AsciiArea:: - - // method line 24 - .method public virtual hidebysig - instance default void Realize () cil managed - { - // Method begins at RVA 0x2924 - } // end of method AsciiArea::Realize + IL_003e: ldarg.s 4 + IL_0040: ldarg.s 4 + IL_0042: ldind.i4 + IL_0043: ldc.i4.1 + IL_0044: or + IL_0045: stind.i4 + IL_0046: ldarg.3 + IL_0047: ldc.i4.0 + IL_0048: stind.i4 + IL_0049: ldloc.1 + IL_004a: ret + } // end of method SeparatorArea::GetOffsetByDisplayInfo - } // end of class Bless.Gui.Areas.Plugins.AsciiArea + } // end of class Bless.Gui.Areas.Plugins.SeparatorArea } .namespace Bless.Gui.Areas.Plugins { - .class public auto ansi beforefieldinit DecimalAreaPlugin + .class public auto ansi beforefieldinit OffsetAreaPlugin extends [Bless.Plugins]Bless.Plugins.AreaPlugin { - // method line 25 + // method line 27 .method public hidebysig specialname rtspecialname instance default void '.ctor' () cil managed { - // Method begins at RVA 0x2955 + // Method begins at RVA 0x2f9f // Code size 29 (0x1d) .maxstack 8 IL_0000: ldarg.0 IL_0001: call instance void class [Bless.Plugins]Bless.Plugins.AreaPlugin::'.ctor'() IL_0006: ldarg.0 - IL_0007: ldstr "decimal" + IL_0007: ldstr "offset" IL_000c: stfld string [Bless.Plugins]Bless.Plugins.Plugin::name IL_0011: ldarg.0 IL_0012: ldstr "Alexandros Frantzis" IL_0017: stfld string [Bless.Plugins]Bless.Plugins.Plugin::author IL_001c: ret - } // end of method DecimalAreaPlugin::.ctor + } // end of method OffsetAreaPlugin::.ctor - // method line 26 + // method line 28 .method public virtual hidebysig instance default class [Bless.Gui.Areas]Bless.Gui.Areas.Area CreateArea (class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup ag) cil managed { - // Method begins at RVA 0x2973 + // Method begins at RVA 0x2fbd // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.1 - IL_0001: newobj instance void class Bless.Gui.Areas.Plugins.DecimalArea::'.ctor'(class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup) + IL_0001: newobj instance void class Bless.Gui.Areas.Plugins.OffsetArea::'.ctor'(class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup) IL_0006: ret - } // end of method DecimalAreaPlugin::CreateArea + } // end of method OffsetAreaPlugin::CreateArea - } // end of class Bless.Gui.Areas.Plugins.DecimalAreaPlugin + } // end of class Bless.Gui.Areas.Plugins.OffsetAreaPlugin } .namespace Bless.Gui.Areas.Plugins { - .class public auto ansi beforefieldinit DecimalArea - extends Bless.Gui.Areas.Plugins.GroupedArea + .class public auto ansi beforefieldinit OffsetArea + extends [Bless.Gui.Areas]Bless.Gui.Areas.Area { + .field private int32 bytes - // method line 27 + // method line 29 .method public hidebysig specialname rtspecialname instance default void '.ctor' (class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup ag) cil managed { - // Method begins at RVA 0x2f40 + // Method begins at RVA 0x2fc5 // Code size 26 (0x1a) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: call instance void class Bless.Gui.Areas.Plugins.GroupedArea::'.ctor'(class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup) + IL_0002: call instance void class [Bless.Gui.Areas]Bless.Gui.Areas.Area::'.ctor'(class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup) IL_0007: ldarg.0 - IL_0008: ldstr "decimal" + IL_0008: ldstr "offset" IL_000d: stfld string [Bless.Gui.Areas]Bless.Gui.Areas.Area::'type' IL_0012: ldarg.0 - IL_0013: ldc.i4.3 - IL_0014: stfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::dpb + IL_0013: ldc.i4.4 + IL_0014: stfld int32 Bless.Gui.Areas.Plugins.OffsetArea::bytes IL_0019: ret - } // end of method DecimalArea::.ctor + } // end of method OffsetArea::.ctor - // method line 28 - .method public virtual hidebysig - (null) cil managed + // method line 30 + .method public hidebysig specialname + instance default int32 get_Bytes () cil managed { - // Method begins at RVA 0x2f5c - // Code size 470 (0x1d6) - .maxstack 5 - .locals init ( - unsigned int8 V_0, - unsigned int8 V_1, - unsigned int8 V_2, - unsigned int8 V_3, - unsigned int8 V_4, - int32 V_5, - unsigned int8[] V_6) - IL_0000: ldarg.1 - IL_0001: ldc.i4.s 0x30 - IL_0003: blt IL_0010 - - IL_0008: ldarg.1 - IL_0009: ldc.i4.s 0x39 - IL_000b: ble IL_0026 - - IL_0010: ldarg.1 - IL_0011: ldc.i4 65456 - IL_0016: blt IL_01d4 + // Method begins at RVA 0x2fe0 + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Bless.Gui.Areas.Plugins.OffsetArea::bytes + IL_0006: ret + } // end of method OffsetArea::get_Bytes - IL_001b: ldarg.1 - IL_001c: ldc.i4 65465 - IL_0021: bgt IL_01d4 + // method line 31 + .method public hidebysig specialname + instance default void set_Bytes (int32 'value') cil managed + { + // Method begins at RVA 0x2fe8 + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 Bless.Gui.Areas.Plugins.OffsetArea::bytes + IL_0007: ret + } // end of method OffsetArea::set_Bytes - IL_0026: ldarg.1 - IL_0027: ldc.i4.s 0x30 - IL_0029: blt IL_0041 + // method line 32 + .method family virtual hidebysig + instance default void RenderExtra () cil managed + { + // Method begins at RVA 0x2ff4 + // Code size 184 (0xb8) + .maxstack 5 + .locals init ( + int32 V_0, + int64 V_1, + int32 V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr + IL_0006: ldc.i4.0 + IL_0007: bgt IL_000d - IL_002e: ldarg.1 - IL_002f: ldc.i4.s 0x39 - IL_0031: bgt IL_0041 + IL_000c: ret + IL_000d: ldarg.0 + IL_000e: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::height + IL_0013: ldarg.0 + IL_0014: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer + IL_0019: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Height() + IL_001e: div + IL_001f: stloc.0 + IL_0020: ldloc.0 + IL_0021: ldarg.0 + IL_0022: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr + IL_0027: mul + IL_0028: conv.i8 + IL_0029: stloc.1 + IL_002a: ldc.i4.0 + IL_002b: stloc.2 + IL_002c: ldc.i4.0 + IL_002d: stloc.3 + IL_002e: ldloc.1 + IL_002f: ldarg.0 + IL_0030: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0035: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Offset() + IL_003a: add + IL_003b: ldarg.0 + IL_003c: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0041: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_0046: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_004b: ble IL_0070 - IL_0036: ldarg.1 - IL_0037: ldc.i4.s 0x30 - IL_0039: sub - IL_003a: conv.u1 - IL_003b: stloc.0 - IL_003c: br IL_004a + IL_0050: ldarg.0 + IL_0051: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0056: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_005b: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_0060: ldarg.0 + IL_0061: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0066: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Offset() + IL_006b: sub + IL_006c: ldc.i4.1 + IL_006d: conv.i8 + IL_006e: add + IL_006f: stloc.1 + IL_0070: ldloc.1 + IL_0071: ldarg.0 + IL_0072: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr + IL_0077: conv.i8 + IL_0078: div + IL_0079: conv.i4 + IL_007a: stloc.2 + IL_007b: ldloc.1 + IL_007c: ldarg.0 + IL_007d: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr + IL_0082: conv.i8 + IL_0083: rem + IL_0084: conv.i4 + IL_0085: stloc.3 + IL_0086: ldloc.3 + IL_0087: ldc.i4.0 + IL_0088: ble IL_0091 - IL_0041: ldarg.1 - IL_0042: ldc.i4 65456 - IL_0047: sub - IL_0048: conv.u1 - IL_0049: stloc.0 - IL_004a: ldarg.0 - IL_004b: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_0050: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() - IL_0055: ldarg.0 - IL_0056: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_005b: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() - IL_0060: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() - IL_0065: beq IL_0080 + IL_008d: ldloc.2 + IL_008e: ldc.i4.1 + IL_008f: add + IL_0090: stloc.2 + IL_0091: ldc.i4.0 + IL_0092: stloc.s 4 + IL_0094: br IL_00af - IL_006a: ldarg.2 - IL_006b: brtrue IL_0087 + IL_0099: ldarg.0 + IL_009a: ldloc.s 4 + IL_009c: ldc.i4.0 + IL_009d: ldarg.0 + IL_009e: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr + IL_00a3: ldc.i4.1 + IL_00a4: callvirt instance void class [Bless.Gui.Areas]Bless.Gui.Areas.Area::RenderRowNormal(int32, int32, int32, bool) + IL_00a9: ldloc.s 4 + IL_00ab: ldc.i4.1 + IL_00ac: add + IL_00ad: stloc.s 4 + IL_00af: ldloc.s 4 + IL_00b1: ldloc.2 + IL_00b2: blt IL_0099 - IL_0070: ldarg.0 - IL_0071: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_0076: callvirt instance int32 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorDigit() - IL_007b: brtrue IL_0087 + IL_00b7: ret + } // end of method OffsetArea::RenderExtra - IL_0080: ldc.i4.0 - IL_0081: stloc.1 - IL_0082: br IL_00a3 + // method line 33 + .method family virtual hidebysig + instance default void RenderHighlight (class [Bless.Gui.Areas]Bless.Gui.Areas.Highlight h, valuetype [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer/HighlightType left, valuetype [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer/HighlightType right) cil managed + { + // Method begins at RVA 0x30b8 + // Code size 1 (0x1) + .maxstack 8 + IL_0000: ret + } // end of method OffsetArea::RenderHighlight - IL_0087: ldarg.0 - IL_0088: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_008d: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() - IL_0092: ldarg.0 - IL_0093: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_0098: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() - IL_009d: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) - IL_00a2: stloc.1 - IL_00a3: ldloc.1 - IL_00a4: ldc.i4.s 0x0a - IL_00a6: rem - IL_00a7: conv.u1 - IL_00a8: stloc.2 - IL_00a9: ldloc.1 - IL_00aa: ldc.i4.s 0x0a - IL_00ac: div - IL_00ad: ldc.i4.s 0x0a - IL_00af: rem - IL_00b0: conv.u1 - IL_00b1: stloc.3 - IL_00b2: ldloc.1 - IL_00b3: ldc.i4.s 0x64 - IL_00b5: div - IL_00b6: ldc.i4.s 0x0a - IL_00b8: rem - IL_00b9: conv.u1 - IL_00ba: stloc.s 4 - IL_00bc: ldarg.0 - IL_00bd: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_00c2: callvirt instance int32 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorDigit() - IL_00c7: brtrue IL_00d4 - - IL_00cc: ldloc.0 - IL_00cd: stloc.s 4 - IL_00cf: br IL_00ff - - IL_00d4: ldarg.0 - IL_00d5: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_00da: callvirt instance int32 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorDigit() - IL_00df: ldc.i4.1 - IL_00e0: bne.un IL_00ec - - IL_00e5: ldloc.0 - IL_00e6: stloc.3 - IL_00e7: br IL_00ff - - IL_00ec: ldarg.0 - IL_00ed: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_00f2: callvirt instance int32 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorDigit() - IL_00f7: ldc.i4.2 - IL_00f8: bne.un IL_00ff - - IL_00fd: ldloc.0 - IL_00fe: stloc.2 - IL_00ff: ldloc.s 4 - IL_0101: ldc.i4.s 0x64 - IL_0103: mul - IL_0104: ldloc.3 - IL_0105: ldc.i4.s 0x0a - IL_0107: mul - IL_0108: add - IL_0109: ldloc.2 - IL_010a: add - IL_010b: stloc.s 5 - IL_010d: ldloc.s 5 - IL_010f: ldc.i4 255 - IL_0114: ble IL_011b - - IL_0119: ldc.i4.0 - IL_011a: ret - IL_011b: ldc.i4.1 - IL_011c: newarr [mscorlib]System.Byte - IL_0121: dup - IL_0122: ldc.i4.0 - IL_0123: ldloc.s 5 - IL_0125: conv.u1 - IL_0126: stelem.i1 - IL_0127: stloc.s 6 - IL_0129: ldarg.0 - IL_012a: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_012f: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() - IL_0134: ldarg.0 - IL_0135: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_013a: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() - IL_013f: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() - IL_0144: bne.un IL_0169 - - IL_0149: ldarg.0 - IL_014a: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_014f: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() - IL_0154: ldloc.s 6 - IL_0156: ldc.i4.0 - IL_0157: conv.i8 - IL_0158: ldloc.s 6 - IL_015a: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() - IL_015f: callvirt instance void class [Bless.Buffers]Bless.Buffers.BaseBuffer::Append(unsigned int8[], int64, int64) - IL_0164: br IL_01d2 - - IL_0169: ldarg.2 - IL_016a: brtrue IL_01aa - - IL_016f: ldarg.0 - IL_0170: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_0175: callvirt instance int32 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorDigit() - IL_017a: brtrue IL_01aa - - IL_017f: ldarg.0 - IL_0180: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_0185: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() - IL_018a: ldarg.0 - IL_018b: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_0190: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() - IL_0195: ldloc.s 6 - IL_0197: ldc.i4.0 - IL_0198: conv.i8 - IL_0199: ldloc.s 6 - IL_019b: callvirt instance int64 class [mscorlib]System.Array::get_LongLength() - IL_01a0: callvirt instance void class [Bless.Buffers]Bless.Buffers.BaseBuffer::Insert(int64, unsigned int8[], int64, int64) - IL_01a5: br IL_01d2 - - IL_01aa: ldarg.0 - IL_01ab: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_01b0: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() - IL_01b5: ldarg.0 - IL_01b6: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_01bb: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() - IL_01c0: ldarg.0 - IL_01c1: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup - IL_01c6: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_CursorOffset() - IL_01cb: ldloc.s 6 - IL_01cd: callvirt instance void class [Bless.Buffers]Bless.Buffers.ByteBuffer::Replace(int64, int64, unsigned int8[]) - IL_01d2: ldc.i4.1 - IL_01d3: ret - IL_01d4: ldc.i4.0 - IL_01d5: ret - } // end of method DecimalArea:: + // method line 34 + .method family virtual hidebysig + instance default void RenderRowNormal (int32 i, int32 p, int32 n, bool blank) cil managed + { + // Method begins at RVA 0x30bc + } // end of method OffsetArea::RenderRowNormal - // method line 29 + // method line 35 + .method family virtual hidebysig + instance default void RenderRowHighlight (int32 i, int32 p, int32 n, bool blank, valuetype [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer/HighlightType ht) cil managed + { + // Method begins at RVA 0x3207 + // Code size 12 (0xc) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: ldarg.3 + IL_0004: ldarg.s 4 + IL_0006: callvirt instance void class [Bless.Gui.Areas]Bless.Gui.Areas.Area::RenderRowNormal(int32, int32, int32, bool) + IL_000b: ret + } // end of method OffsetArea::RenderRowHighlight + + // method line 36 + .method public virtual hidebysig + instance default int32 CalcWidth (int32 n, bool force) cil managed + { + // Method begins at RVA 0x3214 + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldc.i4.2 + IL_0001: ldarg.0 + IL_0002: ldfld int32 Bless.Gui.Areas.Plugins.OffsetArea::bytes + IL_0007: mul + IL_0008: ldarg.0 + IL_0009: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer + IL_000e: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Width() + IL_0013: mul + IL_0014: ret + } // end of method OffsetArea::CalcWidth + + // method line 37 + .method public virtual hidebysig + instance default void GetDisplayInfoByOffset (int64 'off', [out] int32& orow, [out] int32& obyte, [out] int32& ox, [out] int32& oy) cil managed + { + // Method begins at RVA 0x322c + // Code size 70 (0x46) + .maxstack 3 + IL_0000: ldarg.2 + IL_0001: ldarg.1 + IL_0002: ldarg.0 + IL_0003: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0008: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Offset() + IL_000d: sub + IL_000e: ldarg.0 + IL_000f: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr + IL_0014: conv.i8 + IL_0015: div + IL_0016: conv.i4 + IL_0017: stind.i4 + IL_0018: ldarg.3 + IL_0019: ldarg.1 + IL_001a: ldarg.0 + IL_001b: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0020: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Offset() + IL_0025: sub + IL_0026: ldarg.0 + IL_0027: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr + IL_002c: conv.i8 + IL_002d: rem + IL_002e: conv.i4 + IL_002f: stind.i4 + IL_0030: ldarg.s 5 + IL_0032: ldarg.2 + IL_0033: ldind.i4 + IL_0034: ldarg.0 + IL_0035: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer + IL_003a: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Height() + IL_003f: mul + IL_0040: stind.i4 + IL_0041: ldarg.s 4 + IL_0043: ldc.i4.0 + IL_0044: stind.i4 + IL_0045: ret + } // end of method OffsetArea::GetDisplayInfoByOffset + + // method line 38 + .method public virtual hidebysig + instance default int64 GetOffsetByDisplayInfo (int32 x, int32 y, [out] int32& digit, [out] valuetype [Bless.Gui.Areas]Bless.Gui.Areas.Area/GetOffsetFlags& 'flags') cil managed + { + // Method begins at RVA 0x3280 + // Code size 75 (0x4b) + .maxstack 3 + .locals init ( + int32 V_0, + int64 V_1) + IL_0000: ldarg.s 4 + IL_0002: ldc.i4.0 + IL_0003: stind.i4 + IL_0004: ldarg.2 + IL_0005: ldarg.0 + IL_0006: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawer + IL_000b: callvirt instance int32 class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer::get_Height() + IL_0010: div + IL_0011: stloc.0 + IL_0012: ldloc.0 + IL_0013: ldarg.0 + IL_0014: ldfld int32 [Bless.Gui.Areas]Bless.Gui.Areas.Area::bpr + IL_0019: mul + IL_001a: conv.i8 + IL_001b: ldarg.0 + IL_001c: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_0021: callvirt instance int64 class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Offset() + IL_0026: add + IL_0027: stloc.1 + IL_0028: ldloc.1 + IL_0029: ldarg.0 + IL_002a: ldfld class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup [Bless.Gui.Areas]Bless.Gui.Areas.Area::areaGroup + IL_002f: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup::get_Buffer() + IL_0034: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_0039: blt IL_0046 + + IL_003e: ldarg.s 4 + IL_0040: ldarg.s 4 + IL_0042: ldind.i4 + IL_0043: ldc.i4.1 + IL_0044: or + IL_0045: stind.i4 + IL_0046: ldarg.3 + IL_0047: ldc.i4.0 + IL_0048: stind.i4 + IL_0049: ldloc.1 + IL_004a: ret + } // end of method OffsetArea::GetOffsetByDisplayInfo + + // method line 39 + .method public virtual hidebysig + instance default void Configure (class [System.Xml]System.Xml.XmlNode parentNode) cil managed + { + // Method begins at RVA 0x32d8 + // Code size 161 (0xa1) + .maxstack 3 + .locals init ( + class [System.Xml]System.Xml.XmlNodeList V_0, + class [System.Xml]System.Xml.XmlNode V_1, + class [mscorlib]System.Collections.IEnumerator V_2, + class [mscorlib]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: call instance void class [Bless.Gui.Areas]Bless.Gui.Areas.Area::Configure(class [System.Xml]System.Xml.XmlNode) + IL_0007: ldarg.1 + IL_0008: callvirt instance class [System.Xml]System.Xml.XmlNodeList class [System.Xml]System.Xml.XmlNode::get_ChildNodes() + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: callvirt instance class [mscorlib]System.Collections.IEnumerator class [System.Xml]System.Xml.XmlNodeList::GetEnumerator() + IL_0014: stloc.2 + .try { // 0 + IL_0015: br IL_007c + + IL_001a: ldloc.2 + IL_001b: callvirt instance object class [mscorlib]System.Collections.IEnumerator::get_Current() + IL_0020: castclass [System.Xml]System.Xml.XmlNode + IL_0025: stloc.1 + IL_0026: ldloc.1 + IL_0027: callvirt instance string class [System.Xml]System.Xml.XmlNode::get_Name() + IL_002c: ldstr "case" + IL_0031: call bool string::op_Equality(string, string) + IL_0036: brfalse IL_0056 + + IL_003b: ldarg.0 + IL_003c: ldfld class [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer/Information [Bless.Gui.Areas]Bless.Gui.Areas.Area::drawerInformation + IL_0041: ldloc.1 + IL_0042: callvirt instance string class [System.Xml]System.Xml.XmlNode::get_InnerText() + IL_0047: ldstr "upper" + IL_004c: call bool string::op_Equality(string, string) + IL_0051: stfld bool [Bless.Gui.Drawers]Bless.Gui.Drawers.Drawer/Information::Uppercase + IL_0056: ldloc.1 + IL_0057: callvirt instance string class [System.Xml]System.Xml.XmlNode::get_Name() + IL_005c: ldstr "bytes" + IL_0061: call bool string::op_Equality(string, string) + IL_0066: brfalse IL_007c + + IL_006b: ldarg.0 + IL_006c: ldloc.1 + IL_006d: callvirt instance string class [System.Xml]System.Xml.XmlNode::get_InnerText() + IL_0072: call int32 class [mscorlib]System.Convert::ToInt32(string) + IL_0077: call instance void class Bless.Gui.Areas.Plugins.OffsetArea::set_Bytes(int32) + IL_007c: ldloc.2 + IL_007d: callvirt instance bool class [mscorlib]System.Collections.IEnumerator::MoveNext() + IL_0082: brtrue IL_001a + + IL_0087: leave IL_00a0 + + } // end .try 0 + finally { // 0 + IL_008c: ldloc.2 + IL_008d: isinst [mscorlib]System.IDisposable + IL_0092: dup + IL_0093: stloc.3 + IL_0094: brfalse IL_009f + + IL_0099: ldloc.3 + IL_009a: callvirt instance void class [mscorlib]System.IDisposable::Dispose() + IL_009f: endfinally + } // end handler 0 + IL_00a0: ret + } // end of method OffsetArea::Configure + + // method line 40 .method public virtual hidebysig instance default void Realize () cil managed { - // Method begins at RVA 0x3140 - } // end of method DecimalArea::Realize + // Method begins at RVA 0x3398 + } // end of method OffsetArea::Realize - } // end of class Bless.Gui.Areas.Plugins.DecimalArea + .property instance int32 Bytes () + { + .get instance default int32 Bless.Gui.Areas.Plugins.OffsetArea::get_Bytes () + .set instance default void Bless.Gui.Areas.Plugins.OffsetArea::set_Bytes (int32 'value') + } + } // end of class Bless.Gui.Areas.Plugins.OffsetArea } .namespace Bless.Gui.Areas.Plugins @@ -1099,11 +1426,11 @@ extends [Bless.Plugins]Bless.Plugins.AreaPlugin { - // method line 30 + // method line 41 .method public hidebysig specialname rtspecialname instance default void '.ctor' () cil managed { - // Method begins at RVA 0x3171 + // Method begins at RVA 0x33c9 // Code size 29 (0x1d) .maxstack 8 IL_0000: ldarg.0 @@ -1117,34 +1444,12 @@ IL_001c: ret } // end of method HexAreaPlugin::.ctor - // method line 31 + // method line 42 .method public virtual hidebysig instance default class [Bless.Gui.Areas]Bless.Gui.Areas.Area CreateArea (class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup ag) cil managed { - // Method begins at RVA 0x318f + // Method begins at RVA 0x33e7 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.1 - IL_0001: newobj instance void class Bless.Gui.Areas.Plugins.HexArea::'.ctor'(class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup) - IL_0006: ret - } // end of method HexAreaPlugin::CreateArea - - } // end of class Bless.Gui.Areas.Plugins.HexAreaPlugin -} - -.namespace Bless.Gui.Areas.Plugins -{ - .class public auto ansi beforefieldinit HexArea - extends Bless.Gui.Areas.Plugins.GroupedArea - { - - // method line 32 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' (class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup ag) cil managed - { - // Method begins at RVA 0x3197 - // Code size 26 (0x1a) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: \ No newline at end of file + IL_0001: newobj instance void class \ No newline at end of file PE32 Mono/.Net assembly: /usr/lib64/bless/Bless.Gui.Drawers.dll PE32 Mono/.Net assembly: /usr/lib64/bless/Bless.Gui.Plugins.dll /usr/lib64/bless/Bless.Gui.Plugins.dll differs (PE32 executable (DLL) (console) Intel 80386, Mono/.Net assembly, for MS Windows) --- old /usr/lib64/bless/Bless.Gui.Plugins.dll (monodis) +++ new /usr/lib64/bless/Bless.Gui.Plugins.dll (monodis) @@ -1,25 +1,29 @@ +.assembly extern Bless.Gui +{ + .ver 0:0:0:0 +} .assembly extern 'gtk-sharp' { .ver 2:12:0:0 .publickeytoken = (35 E1 01 95 DA B3 C9 9F ) // 5....... } -.assembly extern Bless.Gui +.assembly extern Bless.Buffers { .ver 0:0:0:0 } -.assembly extern Bless.Tools.Find +.assembly extern Bless.Util { .ver 0:0:0:0 } -.assembly extern Bless.Buffers +.assembly extern Bless.Plugins { .ver 0:0:0:0 } -.assembly extern Bless.Util +.assembly extern Bless.Tools.Find { .ver 0:0:0:0 } -.assembly extern Bless.Plugins +.assembly extern Bless.Tools { .ver 0:0:0:0 } @@ -33,16 +37,17 @@ .ver 4:0:0:0 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. } +.assembly extern 'glade-sharp' +{ + .ver 2:12:0:0 + .publickeytoken = (35 E1 01 95 DA B3 C9 9F ) // 5....... +} .assembly extern System { .ver 4:0:0:0 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. } -.assembly extern Bless.Tools -{ - .ver 0:0:0:0 -} -.assembly extern 'glade-sharp' +.assembly extern 'gdk-sharp' { .ver 2:12:0:0 .publickeytoken = (35 E1 01 95 DA B3 C9 9F ) // 5....... @@ -51,11 +56,6 @@ { .ver 0:0:0:0 } -.assembly extern 'gdk-sharp' -{ - .ver 2:12:0:0 - .publickeytoken = (35 E1 01 95 DA B3 C9 9F ) // 5....... -} .assembly extern Bless.Gui.Drawers { .ver 0:0:0:0 @@ -79,44 +79,1309 @@ .namespace Bless.Gui.Plugins { - .class public auto ansi beforefieldinit HelpOperationsPlugin + .class public auto ansi beforefieldinit ConversionTablePlugin extends [Bless.Plugins]Bless.Plugins.GuiPlugin { - .field private static literal string uiXml = "\t\t\t\t\t\t\t\t" - .field private member:> uiManager + .field private member:> dataBook + .field private member:> widget + .field private member:> mainWindow + .field private member:> conversionTableAction + .field private member:> uiManager + .field private static literal string uiXml = "\t\t\t\t" // method line 1 .method public hidebysig specialname rtspecialname (null) cil managed { // Method begins at RVA 0x2050 - // Code size 47 (0x2f) + // Code size 54 (0x36) .maxstack 8 IL_0000: ldarg.0 IL_0001: call instance void class [Bless.Plugins]Bless.Plugins.GuiPlugin::'.ctor'() IL_0006: ldarg.0 - IL_0007: ldarg.2 - IL_0008: stfld member:> Bless.Gui.Plugins.HelpOperationsPlugin::uiManager + IL_0007: ldarg.1 + IL_0008: stfld member:> Bless.Gui.Plugins.ConversionTablePlugin::mainWindow IL_000d: ldarg.0 - IL_000e: ldstr "HelpOperations" - IL_0013: stfld string [Bless.Plugins]Bless.Plugins.Plugin::name - IL_0018: ldarg.0 - IL_0019: ldstr "Alexandros Frantzis" - IL_001e: stfld string [Bless.Plugins]Bless.Plugins.Plugin::author - IL_0023: ldarg.0 - IL_0024: ldstr "Provides access to basic help operations" - IL_0029: stfld string [Bless.Plugins]Bless.Plugins.Plugin::description - IL_002e: ret - } // end of method HelpOperationsPlugin:: + IL_000e: ldarg.2 + IL_000f: stfld member:> Bless.Gui.Plugins.ConversionTablePlugin::uiManager + IL_0014: ldarg.0 + IL_0015: ldstr "ConversionTable" + IL_001a: stfld string [Bless.Plugins]Bless.Plugins.Plugin::name + IL_001f: ldarg.0 + IL_0020: ldstr "Alexandros Frantzis" + IL_0025: stfld string [Bless.Plugins]Bless.Plugins.Plugin::author + IL_002a: ldarg.0 + IL_002b: ldstr "Convert" + IL_0030: stfld string [Bless.Plugins]Bless.Plugins.Plugin::description + IL_0035: ret + } // end of method ConversionTablePlugin:: // method line 2 .method public virtual hidebysig instance default bool Load () cil managed { - // Method begins at RVA 0x2080 - // Code size 21 (0x15) + // Method begins at RVA 0x2088 + } // end of method ConversionTablePlugin::Load + + // method line 3 + .method private hidebysig + (null) cil managed + { + // Method begins at RVA 0x2110 + } // end of method ConversionTablePlugin:: + + // method line 4 + .method public hidebysig + instance default void OnViewConversionTableToggled (object o, class [mscorlib]System.EventArgs args) cil managed + { + // Method begins at RVA 0x2198 + // Code size 46 (0x2e) + .maxstack 4 + .locals init ( + bool V_0) + IL_0000: call class [Bless.Tools]Bless.Tools.PreferencesProxy class [Bless.Tools]Bless.Tools.Preferences::get_Proxy() + IL_0005: ldstr "Tools.ConversionTable.Show" + IL_000a: ldarg.0 + IL_000b: ldfld member:> Bless.Gui.Plugins.ConversionTablePlugin::conversionTableAction + IL_0010: callvirt instance bool ['gtk-sharp']Gtk.ToggleAction::get_Active() + IL_0015: stloc.0 + IL_0016: ldloca.s 0 + IL_0018: constrained. [mscorlib]System.Boolean + IL_001e: callvirt instance string object::ToString() + IL_0023: ldstr "ct1" + IL_0028: callvirt instance void class [Bless.Tools]Bless.Tools.PreferencesProxy::Change(string, string, string) + IL_002d: ret + } // end of method ConversionTablePlugin::OnViewConversionTableToggled + + // method line 5 + .method private hidebysig + instance default void OnPreferencesChanged (class [Bless.Tools]Bless.Tools.Preferences prefs) cil managed + { + // Method begins at RVA 0x21d2 + // Code size 56 (0x38) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldstr "Tools.ConversionTable.Show" + IL_0006: callvirt instance string class [Bless.Tools]Bless.Tools.Preferences::get_Item(string) + IL_000b: ldstr "True" + IL_0010: call bool string::op_Equality(string, string) + IL_0015: brfalse IL_002b + + IL_001a: ldarg.0 + IL_001b: ldfld member:> Bless.Gui.Plugins.ConversionTablePlugin::conversionTableAction + IL_0020: ldc.i4.1 + IL_0021: callvirt instance void ['gtk-sharp']Gtk.ToggleAction::set_Active(bool) + IL_0026: br IL_0037 + + IL_002b: ldarg.0 + IL_002c: ldfld member:> Bless.Gui.Plugins.ConversionTablePlugin::conversionTableAction + IL_0031: ldc.i4.0 + IL_0032: callvirt instance void ['gtk-sharp']Gtk.ToggleAction::set_Active(bool) + IL_0037: ret + } // end of method ConversionTablePlugin::OnPreferencesChanged + + } // end of class Bless.Gui.Plugins.ConversionTablePlugin +} + +.namespace Bless.Gui.Plugins +{ + .class public auto ansi beforefieldinit ConversionTable + extends ['gtk-sharp']Gtk.HBox + { + .field private member:> ConversionTableWidget + .custom instance void ['glade-sharp']Glade.WidgetAttribute::.ctor() = (01 00 00 00 ) // .... + + .field private member:> Signed8bitEntry + .custom instance void ['glade-sharp']Glade.WidgetAttribute::.ctor() = (01 00 00 00 ) // .... + + .field private member:> Unsigned8bitEntry + .custom instance void ['glade-sharp']Glade.WidgetAttribute::.ctor() = (01 00 00 00 ) // .... + + .field private member:> Signed16bitEntry + .custom instance void ['glade-sharp']Glade.WidgetAttribute::.ctor() = (01 00 00 00 ) // .... + + .field private member:> Unsigned16bitEntry + .custom instance void ['glade-sharp']Glade.WidgetAttribute::.ctor() = (01 00 00 00 ) // .... + + .field private member:> Signed32bitEntry + .custom instance void ['glade-sharp']Glade.WidgetAttribute::.ctor() = (01 00 00 00 ) // .... + + .field private member:> Unsigned32bitEntry + .custom instance void ['glade-sharp']Glade.WidgetAttribute::.ctor() = (01 00 00 00 ) // .... + + .field private member:> Float32bitEntry + .custom instance void ['glade-sharp']Glade.WidgetAttribute::.ctor() = (01 00 00 00 ) // .... + + .field private member:> Float64bitEntry + .custom instance void ['glade-sharp']Glade.WidgetAttribute::.ctor() = (01 00 00 00 ) // .... + + .field private member:> HexadecimalEntry + .custom instance void ['glade-sharp']Glade.WidgetAttribute::.ctor() = (01 00 00 00 ) // .... + + .field private member:> DecimalEntry + .custom instance void ['glade-sharp']Glade.WidgetAttribute::.ctor() = (01 00 00 00 ) // .... + + .field private member:> OctalEntry + .custom instance void ['glade-sharp']Glade.WidgetAttribute::.ctor() = (01 00 00 00 ) // .... + + .field private member:> BinaryEntry + .custom instance void ['glade-sharp']Glade.WidgetAttribute::.ctor() = (01 00 00 00 ) // .... + + .field private member:> AsciiEntry + .custom instance void ['glade-sharp']Glade.WidgetAttribute::.ctor() = (01 00 00 00 ) // .... + + .field private member:> LittleEndianCheckButton + .custom instance void ['glade-sharp']Glade.WidgetAttribute::.ctor() = (01 00 00 00 ) // .... + + .field private member:> UnsignedAsHexCheckButton + .custom instance void ['glade-sharp']Glade.WidgetAttribute::.ctor() = (01 00 00 00 ) // .... + + .field private class [Bless.Gui]Bless.Gui.DataBook dataBook + .field private bool littleEndian + .field private bool unsignedAsHex + + // method line 6 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (class [Bless.Gui]Bless.Gui.DataBook db) cil managed + { + // Method begins at RVA 0x220c + } // end of method ConversionTable::.ctor + + // method line 7 + .method private hidebysig + instance default void OnDataViewAdded (class [Bless.Gui]Bless.Gui.DataView dv) cil managed + { + // Method begins at RVA 0x230a + // Code size 60 (0x3c) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_0006: ldarg.0 + IL_0007: ldftn instance void class Bless.Gui.Plugins.ConversionTable::OnBufferContentsChanged(class [Bless.Buffers]Bless.Buffers.ByteBuffer) + IL_000d: newobj instance void class [Bless.Buffers]Bless.Buffers.ByteBuffer/ChangedHandler::'.ctor'(object, native int) + IL_0012: callvirt instance void class [Bless.Buffers]Bless.Buffers.ByteBuffer::add_Changed(class [Bless.Buffers]Bless.Buffers.ByteBuffer/ChangedHandler) + IL_0017: ldarg.1 + IL_0018: ldarg.0 + IL_0019: ldftn instance void class Bless.Gui.Plugins.ConversionTable::OnBufferChanged(class [Bless.Gui]Bless.Gui.DataView) + IL_001f: newobj instance void class [Bless.Gui]Bless.Gui.DataView/DataViewEventHandler::'.ctor'(object, native int) + IL_0024: callvirt instance void class [Bless.Gui]Bless.Gui.DataView::add_BufferChanged(class [Bless.Gui]Bless.Gui.DataView/DataViewEventHandler) + IL_0029: ldarg.1 + IL_002a: ldarg.0 + IL_002b: ldftn instance void class Bless.Gui.Plugins.ConversionTable::OnCursorChanged(class [Bless.Gui]Bless.Gui.DataView) + IL_0031: newobj instance void class [Bless.Gui]Bless.Gui.DataView/DataViewEventHandler::'.ctor'(object, native int) + IL_0036: callvirt instance void class [Bless.Gui]Bless.Gui.DataView::add_CursorChanged(class [Bless.Gui]Bless.Gui.DataView/DataViewEventHandler) + IL_003b: ret + } // end of method ConversionTable::OnDataViewAdded + + // method line 8 + .method private hidebysig + (null) cil managed + { + // Method begins at RVA 0x2348 + // Code size 83 (0x53) + .maxstack 3 + .locals init ( + class [Bless.Gui]Bless.Gui.DataView V_0) + IL_0000: ldarg.2 + IL_0001: callvirt instance member:> ['gtk-sharp']Gtk.RemovedArgs::get_Widget() + IL_0006: castclass [Bless.Gui]Bless.Gui.DataViewDisplay + IL_000b: callvirt instance class [Bless.Gui]Bless.Gui.DataView [Bless.Gui]Bless.Gui.DataViewDisplay::get_View() + IL_0010: stloc.0 + IL_0011: ldloc.0 + IL_0012: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_0017: ldarg.0 + IL_0018: ldftn instance void class Bless.Gui.Plugins.ConversionTable::OnBufferContentsChanged(class [Bless.Buffers]Bless.Buffers.ByteBuffer) + IL_001e: newobj instance void class [Bless.Buffers]Bless.Buffers.ByteBuffer/ChangedHandler::'.ctor'(object, native int) + IL_0023: callvirt instance void class [Bless.Buffers]Bless.Buffers.ByteBuffer::remove_Changed(class [Bless.Buffers]Bless.Buffers.ByteBuffer/ChangedHandler) + IL_0028: ldloc.0 + IL_0029: ldarg.0 + IL_002a: ldftn instance void class Bless.Gui.Plugins.ConversionTable::OnBufferChanged(class [Bless.Gui]Bless.Gui.DataView) + IL_0030: newobj instance void class [Bless.Gui]Bless.Gui.DataView/DataViewEventHandler::'.ctor'(object, native int) + IL_0035: callvirt instance void class [Bless.Gui]Bless.Gui.DataView::remove_BufferChanged(class [Bless.Gui]Bless.Gui.DataView/DataViewEventHandler) + IL_003a: ldloc.0 + IL_003b: ldarg.0 + IL_003c: ldftn instance void class Bless.Gui.Plugins.ConversionTable::OnCursorChanged(class [Bless.Gui]Bless.Gui.DataView) + IL_0042: newobj instance void class [Bless.Gui]Bless.Gui.DataView/DataViewEventHandler::'.ctor'(object, native int) + IL_0047: callvirt instance void class [Bless.Gui]Bless.Gui.DataView::remove_CursorChanged(class [Bless.Gui]Bless.Gui.DataView/DataViewEventHandler) + IL_004c: ldarg.0 + IL_004d: call instance void class Bless.Gui.Plugins.ConversionTable::Update() + IL_0052: ret + } // end of method ConversionTable:: + + // method line 9 + .method private hidebysig + instance default void OnBufferChanged (class [Bless.Gui]Bless.Gui.DataView dv) cil managed + { + // Method begins at RVA 0x23a8 + // Code size 43 (0x2b) + .maxstack 2 + .locals init ( + class [Bless.Gui]Bless.Gui.DataViewDisplay V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [Bless.Gui]Bless.Gui.DataBook Bless.Gui.Plugins.ConversionTable::dataBook + IL_0006: callvirt instance member:> ['gtk-sharp']Gtk.Notebook::get_CurrentPageWidget() + IL_000b: castclass [Bless.Gui]Bless.Gui.DataViewDisplay + IL_0010: stloc.0 + IL_0011: ldloc.0 + IL_0012: brfalse IL_0023 + + IL_0017: ldloc.0 + IL_0018: callvirt instance class [Bless.Gui]Bless.Gui.DataView [Bless.Gui]Bless.Gui.DataViewDisplay::get_View() + IL_001d: ldarg.1 + IL_001e: beq IL_0024 + + IL_0023: ret + IL_0024: ldarg.0 + IL_0025: call instance void class Bless.Gui.Plugins.ConversionTable::Update() + IL_002a: ret + } // end of method ConversionTable::OnBufferChanged + + // method line 10 + .method private hidebysig + instance default void OnBufferContentsChanged (class [Bless.Buffers]Bless.Buffers.ByteBuffer bb) cil managed + { + // Method begins at RVA 0x23e0 + // Code size 38 (0x26) + .maxstack 2 + .locals init ( + class Bless.Gui.Plugins.ConversionTable/'c__AnonStorey0' V_0) + IL_0000: newobj instance void class Bless.Gui.Plugins.ConversionTable/'c__AnonStorey0'::'.ctor'() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.1 + IL_0008: stfld class [Bless.Buffers]Bless.Buffers.ByteBuffer Bless.Gui.Plugins.ConversionTable/'c__AnonStorey0'::bb + IL_000d: ldloc.0 + IL_000e: ldarg.0 + IL_000f: stfld class Bless.Gui.Plugins.ConversionTable Bless.Gui.Plugins.ConversionTable/'c__AnonStorey0'::$this + IL_0014: ldloc.0 + IL_0015: ldftn instance void class Bless.Gui.Plugins.ConversionTable/'c__AnonStorey0'::'<>m__0'(object, class [mscorlib]System.EventArgs) + IL_001b: newobj instance void class [mscorlib]System.EventHandler::'.ctor'(object, native int) + IL_0020: call void ['gtk-sharp']Gtk.Application::Invoke(class [mscorlib]System.EventHandler) + IL_0025: ret + } // end of method ConversionTable::OnBufferContentsChanged + + // method line 11 + .method private hidebysig + (null) cil managed + { + // Method begins at RVA 0x2412 + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class Bless.Gui.Plugins.ConversionTable::Update() + IL_0006: ret + } // end of method ConversionTable:: + + // method line 12 + .method private hidebysig + instance default void OnCursorChanged (class [Bless.Gui]Bless.Gui.DataView dv) cil managed + { + // Method begins at RVA 0x241c + // Code size 37 (0x25) + .maxstack 2 + .locals init ( + class [Bless.Gui]Bless.Gui.DataView V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [Bless.Gui]Bless.Gui.DataBook Bless.Gui.Plugins.ConversionTable::dataBook + IL_0006: callvirt instance member:> ['gtk-sharp']Gtk.Notebook::get_CurrentPageWidget() + IL_000b: castclass [Bless.Gui]Bless.Gui.DataViewDisplay + IL_0010: callvirt instance class [Bless.Gui]Bless.Gui.DataView [Bless.Gui]Bless.Gui.DataViewDisplay::get_View() + IL_0015: stloc.0 + IL_0016: ldloc.0 + IL_0017: ldarg.1 + IL_0018: beq IL_001e + + IL_001d: ret + IL_001e: ldarg.0 + IL_001f: call instance void class Bless.Gui.Plugins.ConversionTable::Update() + IL_0024: ret + } // end of method ConversionTable::OnCursorChanged + + // method line 13 + .method family virtual hidebysig + instance default void OnHidden () cil managed + { + // Method begins at RVA 0x2450 + // Code size 72 (0x48) + .maxstack 4 + .locals init ( + class [Bless.Gui]Bless.Gui.DataViewDisplay V_0) + IL_0000: ldarg.0 + IL_0001: call instance bool class Bless.Gui.Plugins.ConversionTable::IsFocusInTable() + IL_0006: brfalse IL_0028 + + IL_000b: ldarg.0 + IL_000c: ldfld class [Bless.Gui]Bless.Gui.DataBook Bless.Gui.Plugins.ConversionTable::dataBook + IL_0011: callvirt instance member:> ['gtk-sharp']Gtk.Notebook::get_CurrentPageWidget() + IL_0016: castclass [Bless.Gui]Bless.Gui.DataViewDisplay + IL_001b: stloc.0 + IL_001c: ldloc.0 + IL_001d: brfalse IL_0028 + + IL_0022: ldloc.0 + IL_0023: callvirt instance void [Bless.Gui]Bless.Gui.DataViewDisplay::GrabKeyboardFocus() + IL_0028: call class [Bless.Tools]Bless.Tools.PreferencesProxy class [Bless.Tools]Bless.Tools.Preferences::get_Proxy() + IL_002d: ldstr "Tools.ConversionTable.Show" + IL_0032: ldstr "False" + IL_0037: ldstr "ct2" + IL_003c: callvirt instance void class [Bless.Tools]Bless.Tools.PreferencesProxy::Change(string, string, string) + IL_0041: ldarg.0 + IL_0042: call instance void ['gtk-sharp']Gtk.Widget::OnHidden() + IL_0047: ret + } // end of method ConversionTable::OnHidden + + // method line 14 + .method family virtual hidebysig + instance default void OnShown () cil managed + { + // Method begins at RVA 0x24a4 + // Code size 38 (0x26) + .maxstack 8 + IL_0000: call class [Bless.Tools]Bless.Tools.PreferencesProxy class [Bless.Tools]Bless.Tools.Preferences::get_Proxy() + IL_0005: ldstr "Tools.ConversionTable.Show" + IL_000a: ldstr "True" + IL_000f: ldstr "ct2" + IL_0014: callvirt instance void class [Bless.Tools]Bless.Tools.PreferencesProxy::Change(string, string, string) + IL_0019: ldarg.0 + IL_001a: call instance void ['gtk-sharp']Gtk.Widget::OnShown() + IL_001f: ldarg.0 + IL_0020: call instance void class Bless.Gui.Plugins.ConversionTable::Update() + IL_0025: ret + } // end of method ConversionTable::OnShown + + // method line 15 + .method private hidebysig + instance default bool IsFocusInTable () cil managed + { + // Method begins at RVA 0x24cc + } // end of method ConversionTable::IsFocusInTable + + // method line 16 + .method private hidebysig + instance default void OnLittleEndianToggled (object o, class [mscorlib]System.EventArgs args) cil managed + { + // Method begins at RVA 0x2533 + // Code size 61 (0x3d) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.0 - IL_0002: ldfld member:> Bless.Gui.Plugins.HelpOperationsPlugin::uiManager - IL_0007: call Could not load signature of Bless.Gui.Plugins.HelpOperationsPlugin:AddMenuItems due to: Could not load file or assembly or one of its dependencies. assembly:gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f type: member:> Bless.Gui.Plugins.ConversionTable::LittleEndianCheckButton + IL_0007: callvirt instance bool ['gtk-sharp']Gtk.ToggleButton::get_Active() + IL_000c: stfld bool Bless.Gui.Plugins.ConversionTable::littleEndian + IL_0011: call class [Bless.Tools]Bless.Tools.PreferencesProxy class [Bless.Tools]Bless.Tools.Preferences::get_Proxy() + IL_0016: ldstr "Tools.ConversionTable.LEDecoding" + IL_001b: ldarg.0 + IL_001c: ldflda bool Bless.Gui.Plugins.ConversionTable::littleEndian + IL_0021: constrained. [mscorlib]System.Boolean + IL_0027: callvirt instance string object::ToString() + IL_002c: ldstr "ct2" + IL_0031: callvirt instance void class [Bless.Tools]Bless.Tools.PreferencesProxy::Change(string, string, string) + IL_0036: ldarg.0 + IL_0037: call instance void class Bless.Gui.Plugins.ConversionTable::Update() + IL_003c: ret + } // end of method ConversionTable::OnLittleEndianToggled + + // method line 17 + .method private hidebysig + instance default void OnUnsignedAsHexToggled (object o, class [mscorlib]System.EventArgs args) cil managed + { + // Method begins at RVA 0x2571 + // Code size 61 (0x3d) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.0 + IL_0002: ldfld member:> Bless.Gui.Plugins.ConversionTable::UnsignedAsHexCheckButton + IL_0007: callvirt instance bool ['gtk-sharp']Gtk.ToggleButton::get_Active() + IL_000c: stfld bool Bless.Gui.Plugins.ConversionTable::unsignedAsHex + IL_0011: call class [Bless.Tools]Bless.Tools.PreferencesProxy class [Bless.Tools]Bless.Tools.Preferences::get_Proxy() + IL_0016: ldstr "Tools.ConversionTable.UnsignedAsHex" + IL_001b: ldarg.0 + IL_001c: ldflda bool Bless.Gui.Plugins.ConversionTable::unsignedAsHex + IL_0021: constrained. [mscorlib]System.Boolean + IL_0027: callvirt instance string object::ToString() + IL_002c: ldstr "ct2" + IL_0031: callvirt instance void class [Bless.Tools]Bless.Tools.PreferencesProxy::Change(string, string, string) + IL_0036: ldarg.0 + IL_0037: call instance void class Bless.Gui.Plugins.ConversionTable::Update() + IL_003c: ret + } // end of method ConversionTable::OnUnsignedAsHexToggled + + // method line 18 + .method private hidebysig + instance default void OnPreferencesChanged (class [Bless.Tools]Bless.Tools.Preferences prefs) cil managed + { + // Method begins at RVA 0x25b0 + // Code size 156 (0x9c) + .maxstack 2 + IL_0000: ldarg.1 + IL_0001: ldstr "Tools.ConversionTable.LEDecoding" + IL_0006: callvirt instance string class [Bless.Tools]Bless.Tools.Preferences::get_Item(string) + IL_000b: ldstr "True" + IL_0010: call bool string::op_Equality(string, string) + IL_0015: brfalse IL_002b + + IL_001a: ldarg.0 + IL_001b: ldfld member:> Bless.Gui.Plugins.ConversionTable::LittleEndianCheckButton + IL_0020: ldc.i4.1 + IL_0021: callvirt instance void ['gtk-sharp']Gtk.ToggleButton::set_Active(bool) + IL_0026: br IL_0037 + + IL_002b: ldarg.0 + IL_002c: ldfld member:> Bless.Gui.Plugins.ConversionTable::LittleEndianCheckButton + IL_0031: ldc.i4.0 + IL_0032: callvirt instance void ['gtk-sharp']Gtk.ToggleButton::set_Active(bool) + IL_0037: ldarg.1 + IL_0038: ldstr "Tools.ConversionTable.UnsignedAsHex" + IL_003d: callvirt instance string class [Bless.Tools]Bless.Tools.Preferences::get_Item(string) + IL_0042: ldstr "True" + IL_0047: call bool string::op_Equality(string, string) + IL_004c: brfalse IL_0062 + + IL_0051: ldarg.0 + IL_0052: ldfld member:> Bless.Gui.Plugins.ConversionTable::UnsignedAsHexCheckButton + IL_0057: ldc.i4.1 + IL_0058: callvirt instance void ['gtk-sharp']Gtk.ToggleButton::set_Active(bool) + IL_005d: br IL_006e + + IL_0062: ldarg.0 + IL_0063: ldfld member:> Bless.Gui.Plugins.ConversionTable::UnsignedAsHexCheckButton + IL_0068: ldc.i4.0 + IL_0069: callvirt instance void ['gtk-sharp']Gtk.ToggleButton::set_Active(bool) + IL_006e: ldarg.1 + IL_006f: ldstr "Tools.ConversionTable.Show" + IL_0074: callvirt instance string class [Bless.Tools]Bless.Tools.Preferences::get_Item(string) + IL_0079: ldstr "True" + IL_007e: call bool string::op_Equality(string, string) + IL_0083: brfalse IL_0094 + + IL_0088: ldarg.0 + IL_0089: ldc.i4.1 + IL_008a: call instance void ['gtk-sharp']Gtk.Widget::set_Visible(bool) + IL_008f: br IL_009b + + IL_0094: ldarg.0 + IL_0095: ldc.i4.0 + IL_0096: call instance void ['gtk-sharp']Gtk.Widget::set_Visible(bool) + IL_009b: ret + } // end of method ConversionTable::OnPreferencesChanged + + // method line 19 + .method private hidebysig + instance default void OnCloseButtonClicked (object o, class [mscorlib]System.EventArgs args) cil managed + { + // Method begins at RVA 0x2658 + // Code size 21 (0x15) + .maxstack 8 + IL_0000: call class [Bless.Tools]Bless.Tools.Preferences class [Bless.Tools]Bless.Tools.Preferences::get_Instance() + IL_0005: ldstr "Tools.ConversionTable.Show" + IL_000a: ldstr "False" + IL_000f: callvirt instance void class [Bless.Tools]Bless.Tools.Preferences::set_Item(string, string) + IL_0014: ret + } // end of method ConversionTable::OnCloseButtonClicked + + // method line 20 + .method private hidebysig + instance default void Clear8bit () cil managed + { + // Method begins at RVA 0x266e + // Code size 33 (0x21) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld member:> Bless.Gui.Plugins.ConversionTable::Signed8bitEntry + IL_0006: ldstr "---" + IL_000b: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_0010: ldarg.0 + IL_0011: ldfld member:> Bless.Gui.Plugins.ConversionTable::Unsigned8bitEntry + IL_0016: ldstr "---" + IL_001b: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_0020: ret + } // end of method ConversionTable::Clear8bit + + // method line 21 + .method private hidebysig + instance default void Clear16bit () cil managed + { + // Method begins at RVA 0x2690 + // Code size 33 (0x21) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld member:> Bless.Gui.Plugins.ConversionTable::Signed16bitEntry + IL_0006: ldstr "---" + IL_000b: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_0010: ldarg.0 + IL_0011: ldfld member:> Bless.Gui.Plugins.ConversionTable::Unsigned16bitEntry + IL_0016: ldstr "---" + IL_001b: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_0020: ret + } // end of method ConversionTable::Clear16bit + + // method line 22 + .method private hidebysig + instance default void Clear32bit () cil managed + { + // Method begins at RVA 0x26b2 + // Code size 33 (0x21) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld member:> Bless.Gui.Plugins.ConversionTable::Signed32bitEntry + IL_0006: ldstr "---" + IL_000b: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_0010: ldarg.0 + IL_0011: ldfld member:> Bless.Gui.Plugins.ConversionTable::Unsigned32bitEntry + IL_0016: ldstr "---" + IL_001b: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_0020: ret + } // end of method ConversionTable::Clear32bit + + // method line 23 + .method private hidebysig + instance default void ClearFloat () cil managed + { + // Method begins at RVA 0x26d4 + // Code size 33 (0x21) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld member:> Bless.Gui.Plugins.ConversionTable::Float32bitEntry + IL_0006: ldstr "---" + IL_000b: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_0010: ldarg.0 + IL_0011: ldfld member:> Bless.Gui.Plugins.ConversionTable::Float64bitEntry + IL_0016: ldstr "---" + IL_001b: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_0020: ret + } // end of method ConversionTable::ClearFloat + + // method line 24 + .method private hidebysig + instance default void ClearBases () cil managed + { + // Method begins at RVA 0x26f8 + // Code size 81 (0x51) + .maxstack 2 + IL_0000: ldarg.0 + IL_0001: ldfld member:> Bless.Gui.Plugins.ConversionTable::HexadecimalEntry + IL_0006: ldstr "---" + IL_000b: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_0010: ldarg.0 + IL_0011: ldfld member:> Bless.Gui.Plugins.ConversionTable::DecimalEntry + IL_0016: ldstr "---" + IL_001b: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_0020: ldarg.0 + IL_0021: ldfld member:> Bless.Gui.Plugins.ConversionTable::OctalEntry + IL_0026: ldstr "---" + IL_002b: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_0030: ldarg.0 + IL_0031: ldfld member:> Bless.Gui.Plugins.ConversionTable::BinaryEntry + IL_0036: ldstr "---" + IL_003b: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_0040: ldarg.0 + IL_0041: ldfld member:> Bless.Gui.Plugins.ConversionTable::AsciiEntry + IL_0046: ldstr "---" + IL_004b: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_0050: ret + } // end of method ConversionTable::ClearBases + + // method line 25 + .method private hidebysig + instance default void Update8bit (class [Bless.Gui]Bless.Gui.DataView dv) cil managed + { + // Method begins at RVA 0x2758 + // Code size 151 (0x97) + .maxstack 3 + .locals init ( + int64 V_0, + unsigned int8 V_1, + int8 V_2) + IL_0000: ldarg.1 + IL_0001: callvirt instance int64 class [Bless.Gui]Bless.Gui.DataView::get_CursorOffset() + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldarg.1 + IL_0009: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_000e: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_0013: bge IL_0090 + + IL_0018: ldloc.0 + IL_0019: ldc.i4.0 + IL_001a: conv.i8 + IL_001b: blt IL_0090 + + IL_0020: ldarg.1 + IL_0021: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_0026: ldloc.0 + IL_0027: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_002c: stloc.1 + IL_002d: ldloc.1 + IL_002e: conv.i1 + IL_002f: stloc.2 + IL_0030: ldarg.0 + IL_0031: ldfld member:> Bless.Gui.Plugins.ConversionTable::Signed8bitEntry + IL_0036: ldloca.s 2 + IL_0038: constrained. [mscorlib]System.SByte + IL_003e: callvirt instance string object::ToString() + IL_0043: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_0048: ldarg.0 + IL_0049: ldfld bool Bless.Gui.Plugins.ConversionTable::unsignedAsHex + IL_004e: brfalse IL_0073 + + IL_0053: ldarg.0 + IL_0054: ldfld member:> Bless.Gui.Plugins.ConversionTable::Unsigned8bitEntry + IL_0059: ldstr "0x{0:x}" + IL_005e: ldloc.1 + IL_005f: box [mscorlib]System.Byte + IL_0064: call string string::Format(string, object) + IL_0069: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_006e: br IL_008b + + IL_0073: ldarg.0 + IL_0074: ldfld member:> Bless.Gui.Plugins.ConversionTable::Unsigned8bitEntry + IL_0079: ldloca.s 1 + IL_007b: constrained. [mscorlib]System.Byte + IL_0081: callvirt instance string object::ToString() + IL_0086: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_008b: br IL_0096 + + IL_0090: ldarg.0 + IL_0091: call instance void class Bless.Gui.Plugins.ConversionTable::Clear8bit() + IL_0096: ret + } // end of method ConversionTable::Update8bit + + // method line 26 + .method private hidebysig + instance default void Update16bit (class [Bless.Gui]Bless.Gui.DataView dv) cil managed + { + // Method begins at RVA 0x27fc + // Code size 235 (0xeb) + .maxstack 4 + .locals init ( + int64 V_0, + int16 V_1, + unsigned int16 V_2) + IL_0000: ldarg.1 + IL_0001: callvirt instance int64 class [Bless.Gui]Bless.Gui.DataView::get_CursorOffset() + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldarg.1 + IL_0009: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_000e: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_0013: ldc.i4.1 + IL_0014: conv.i8 + IL_0015: sub + IL_0016: bge IL_00e4 + + IL_001b: ldloc.0 + IL_001c: ldc.i4.0 + IL_001d: conv.i8 + IL_001e: blt IL_00e4 + + IL_0023: ldc.i4.0 + IL_0024: stloc.1 + IL_0025: ldarg.0 + IL_0026: ldfld bool Bless.Gui.Plugins.ConversionTable::littleEndian + IL_002b: brfalse IL_005b + + IL_0030: ldloc.1 + IL_0031: ldarg.1 + IL_0032: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_0037: ldloc.0 + IL_0038: ldc.i4.1 + IL_0039: conv.i8 + IL_003a: add + IL_003b: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_0040: ldc.i4.8 + IL_0041: shl + IL_0042: conv.i2 + IL_0043: add + IL_0044: conv.i2 + IL_0045: stloc.1 + IL_0046: ldloc.1 + IL_0047: ldarg.1 + IL_0048: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_004d: ldloc.0 + IL_004e: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_0053: add + IL_0054: conv.i2 + IL_0055: stloc.1 + IL_0056: br IL_0081 + + IL_005b: ldloc.1 + IL_005c: ldarg.1 + IL_005d: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_0062: ldloc.0 + IL_0063: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_0068: ldc.i4.8 + IL_0069: shl + IL_006a: conv.i2 + IL_006b: add + IL_006c: conv.i2 + IL_006d: stloc.1 + IL_006e: ldloc.1 + IL_006f: ldarg.1 + IL_0070: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_0075: ldloc.0 + IL_0076: ldc.i4.1 + IL_0077: conv.i8 + IL_0078: add + IL_0079: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_007e: add + IL_007f: conv.i2 + IL_0080: stloc.1 + IL_0081: ldloc.1 + IL_0082: conv.u2 + IL_0083: stloc.2 + IL_0084: ldarg.0 + IL_0085: ldfld member:> Bless.Gui.Plugins.ConversionTable::Signed16bitEntry + IL_008a: ldloca.s 1 + IL_008c: constrained. [mscorlib]System.Int16 + IL_0092: callvirt instance string object::ToString() + IL_0097: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_009c: ldarg.0 + IL_009d: ldfld bool Bless.Gui.Plugins.ConversionTable::unsignedAsHex + IL_00a2: brfalse IL_00c7 + + IL_00a7: ldarg.0 + IL_00a8: ldfld member:> Bless.Gui.Plugins.ConversionTable::Unsigned16bitEntry + IL_00ad: ldstr "0x{0:x}" + IL_00b2: ldloc.2 + IL_00b3: box [mscorlib]System.UInt16 + IL_00b8: call string string::Format(string, object) + IL_00bd: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_00c2: br IL_00df + + IL_00c7: ldarg.0 + IL_00c8: ldfld member:> Bless.Gui.Plugins.ConversionTable::Unsigned16bitEntry + IL_00cd: ldloca.s 2 + IL_00cf: constrained. [mscorlib]System.UInt16 + IL_00d5: callvirt instance string object::ToString() + IL_00da: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_00df: br IL_00ea + + IL_00e4: ldarg.0 + IL_00e5: call instance void class Bless.Gui.Plugins.ConversionTable::Clear16bit() + IL_00ea: ret + } // end of method ConversionTable::Update16bit + + // method line 27 + .method private hidebysig + instance default void Update32bit (class [Bless.Gui]Bless.Gui.DataView dv) cil managed + { + // Method begins at RVA 0x28f4 + // Code size 312 (0x138) + .maxstack 4 + .locals init ( + int64 V_0, + int32 V_1, + unsigned int32 V_2) + IL_0000: ldarg.1 + IL_0001: callvirt instance int64 class [Bless.Gui]Bless.Gui.DataView::get_CursorOffset() + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldarg.1 + IL_0009: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_000e: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_0013: ldc.i4.3 + IL_0014: conv.i8 + IL_0015: sub + IL_0016: bge IL_0131 + + IL_001b: ldloc.0 + IL_001c: ldc.i4.0 + IL_001d: conv.i8 + IL_001e: blt IL_0131 + + IL_0023: ldc.i4.0 + IL_0024: stloc.1 + IL_0025: ldarg.0 + IL_0026: ldfld bool Bless.Gui.Plugins.ConversionTable::littleEndian + IL_002b: brfalse IL_0082 + + IL_0030: ldloc.1 + IL_0031: ldarg.1 + IL_0032: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_0037: ldloc.0 + IL_0038: ldc.i4.3 + IL_0039: conv.i8 + IL_003a: add + IL_003b: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_0040: ldc.i4.s 0x18 + IL_0042: shl + IL_0043: add + IL_0044: stloc.1 + IL_0045: ldloc.1 + IL_0046: ldarg.1 + IL_0047: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_004c: ldloc.0 + IL_004d: ldc.i4.2 + IL_004e: conv.i8 + IL_004f: add + IL_0050: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_0055: ldc.i4.s 0x10 + IL_0057: shl + IL_0058: add + IL_0059: stloc.1 + IL_005a: ldloc.1 + IL_005b: ldarg.1 + IL_005c: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_0061: ldloc.0 + IL_0062: ldc.i4.1 + IL_0063: conv.i8 + IL_0064: add + IL_0065: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_006a: ldc.i4.8 + IL_006b: shl + IL_006c: add + IL_006d: stloc.1 + IL_006e: ldloc.1 + IL_006f: ldarg.1 + IL_0070: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_0075: ldloc.0 + IL_0076: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_007b: add + IL_007c: stloc.1 + IL_007d: br IL_00cf + + IL_0082: ldloc.1 + IL_0083: ldarg.1 + IL_0084: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_0089: ldloc.0 + IL_008a: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_008f: ldc.i4.s 0x18 + IL_0091: shl + IL_0092: add + IL_0093: stloc.1 + IL_0094: ldloc.1 + IL_0095: ldarg.1 + IL_0096: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_009b: ldloc.0 + IL_009c: ldc.i4.1 + IL_009d: conv.i8 + IL_009e: add + IL_009f: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_00a4: ldc.i4.s 0x10 + IL_00a6: shl + IL_00a7: add + IL_00a8: stloc.1 + IL_00a9: ldloc.1 + IL_00aa: ldarg.1 + IL_00ab: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_00b0: ldloc.0 + IL_00b1: ldc.i4.2 + IL_00b2: conv.i8 + IL_00b3: add + IL_00b4: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_00b9: ldc.i4.8 + IL_00ba: shl + IL_00bb: add + IL_00bc: stloc.1 + IL_00bd: ldloc.1 + IL_00be: ldarg.1 + IL_00bf: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_00c4: ldloc.0 + IL_00c5: ldc.i4.3 + IL_00c6: conv.i8 + IL_00c7: add + IL_00c8: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_00cd: add + IL_00ce: stloc.1 + IL_00cf: ldloc.1 + IL_00d0: stloc.2 + IL_00d1: ldarg.0 + IL_00d2: ldfld member:> Bless.Gui.Plugins.ConversionTable::Signed32bitEntry + IL_00d7: ldloca.s 1 + IL_00d9: constrained. [mscorlib]System.Int32 + IL_00df: callvirt instance string object::ToString() + IL_00e4: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_00e9: ldarg.0 + IL_00ea: ldfld bool Bless.Gui.Plugins.ConversionTable::unsignedAsHex + IL_00ef: brfalse IL_0114 + + IL_00f4: ldarg.0 + IL_00f5: ldfld member:> Bless.Gui.Plugins.ConversionTable::Unsigned32bitEntry + IL_00fa: ldstr "0x{0:x}" + IL_00ff: ldloc.2 + IL_0100: box [mscorlib]System.UInt32 + IL_0105: call string string::Format(string, object) + IL_010a: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_010f: br IL_012c + + IL_0114: ldarg.0 + IL_0115: ldfld member:> Bless.Gui.Plugins.ConversionTable::Unsigned32bitEntry + IL_011a: ldloca.s 2 + IL_011c: constrained. [mscorlib]System.UInt32 + IL_0122: callvirt instance string object::ToString() + IL_0127: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_012c: br IL_0137 + + IL_0131: ldarg.0 + IL_0132: call instance void class Bless.Gui.Plugins.ConversionTable::Clear32bit() + IL_0137: ret + } // end of method ConversionTable::Update32bit + + // method line 28 + .method private hidebysig + instance default void UpdateFloat (class [Bless.Gui]Bless.Gui.DataView dv) cil managed + { + // Method begins at RVA 0x2a38 + // Code size 353 (0x161) + .maxstack 5 + .locals init ( + int64 V_0, + unsigned int8[] V_1, + int32 V_2, + int32 V_3, + float32 V_4, + int32 V_5, + int32 V_6, + float64 V_7) + IL_0000: ldarg.1 + IL_0001: callvirt instance int64 class [Bless.Gui]Bless.Gui.DataView::get_CursorOffset() + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldarg.1 + IL_0009: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_000e: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_0013: ldc.i4.3 + IL_0014: conv.i8 + IL_0015: sub + IL_0016: bge IL_015a + + IL_001b: ldloc.0 + IL_001c: ldc.i4.0 + IL_001d: conv.i8 + IL_001e: blt IL_015a + + IL_0023: ldc.i4.8 + IL_0024: newarr [mscorlib]System.Byte + IL_0029: stloc.1 + IL_002a: ldarg.0 + IL_002b: ldfld bool Bless.Gui.Plugins.ConversionTable::littleEndian + IL_0030: brfalse IL_005e + + IL_0035: ldc.i4.0 + IL_0036: stloc.2 + IL_0037: br IL_0052 + + IL_003c: ldloc.1 + IL_003d: ldloc.2 + IL_003e: ldarg.1 + IL_003f: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_0044: ldloc.0 + IL_0045: ldloc.2 + IL_0046: conv.i8 + IL_0047: add + IL_0048: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_004d: stelem.i1 + IL_004e: ldloc.2 + IL_004f: ldc.i4.1 + IL_0050: add + IL_0051: stloc.2 + IL_0052: ldloc.2 + IL_0053: ldc.i4.4 + IL_0054: blt IL_003c + + IL_0059: br IL_0084 + + IL_005e: ldc.i4.0 + IL_005f: stloc.3 + IL_0060: br IL_007d + + IL_0065: ldloc.1 + IL_0066: ldc.i4.3 + IL_0067: ldloc.3 + IL_0068: sub + IL_0069: ldarg.1 + IL_006a: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_006f: ldloc.0 + IL_0070: ldloc.3 + IL_0071: conv.i8 + IL_0072: add + IL_0073: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_0078: stelem.i1 + IL_0079: ldloc.3 + IL_007a: ldc.i4.1 + IL_007b: add + IL_007c: stloc.3 + IL_007d: ldloc.3 + IL_007e: ldc.i4.4 + IL_007f: blt IL_0065 + + IL_0084: ldloc.1 + IL_0085: ldc.i4.0 + IL_0086: call float32 class [mscorlib]System.BitConverter::ToSingle(unsigned int8[], int32) + IL_008b: stloc.s 4 + IL_008d: ldarg.0 + IL_008e: ldfld member:> Bless.Gui.Plugins.ConversionTable::Float32bitEntry + IL_0093: ldloca.s 4 + IL_0095: constrained. [mscorlib]System.Single + IL_009b: callvirt instance string object::ToString() + IL_00a0: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_00a5: ldloc.0 + IL_00a6: ldarg.1 + IL_00a7: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_00ac: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_00b1: ldc.i4.7 + IL_00b2: conv.i8 + IL_00b3: sub + IL_00b4: bge IL_0145 + + IL_00b9: ldarg.0 + IL_00ba: ldfld bool Bless.Gui.Plugins.ConversionTable::littleEndian + IL_00bf: brfalse IL_00f3 + + IL_00c4: ldc.i4.4 + IL_00c5: stloc.s 5 + IL_00c7: br IL_00e6 + + IL_00cc: ldloc.1 + IL_00cd: ldloc.s 5 + IL_00cf: ldarg.1 + IL_00d0: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_00d5: ldloc.0 + IL_00d6: ldloc.s 5 + IL_00d8: conv.i8 + IL_00d9: add + IL_00da: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_00df: stelem.i1 + IL_00e0: ldloc.s 5 + IL_00e2: ldc.i4.1 + IL_00e3: add + IL_00e4: stloc.s 5 + IL_00e6: ldloc.s 5 + IL_00e8: ldc.i4.8 + IL_00e9: blt IL_00cc + + IL_00ee: br IL_011f + + IL_00f3: ldc.i4.0 + IL_00f4: stloc.s 6 + IL_00f6: br IL_0117 + + IL_00fb: ldloc.1 + IL_00fc: ldc.i4.7 + IL_00fd: ldloc.s 6 + IL_00ff: sub + IL_0100: ldarg.1 + IL_0101: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_0106: ldloc.0 + IL_0107: ldloc.s 6 + IL_0109: conv.i8 + IL_010a: add + IL_010b: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_0110: stelem.i1 + IL_0111: ldloc.s 6 + IL_0113: ldc.i4.1 + IL_0114: add + IL_0115: stloc.s 6 + IL_0117: ldloc.s 6 + IL_0119: ldc.i4.8 + IL_011a: blt IL_00fb + + IL_011f: ldloc.1 + IL_0120: ldc.i4.0 + IL_0121: call float64 class [mscorlib]System.BitConverter::ToDouble(unsigned int8[], int32) + IL_0126: stloc.s 7 + IL_0128: ldarg.0 + IL_0129: ldfld member:> Bless.Gui.Plugins.ConversionTable::Float64bitEntry + IL_012e: ldloca.s 7 + IL_0130: constrained. [mscorlib]System.Double + IL_0136: callvirt instance string object::ToString() + IL_013b: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_0140: br IL_0155 + + IL_0145: ldarg.0 + IL_0146: ldfld member:> Bless.Gui.Plugins.ConversionTable::Float64bitEntry + IL_014b: ldstr "---" + IL_0150: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_0155: br IL_0160 + + IL_015a: ldarg.0 + IL_015b: call instance void class Bless.Gui.Plugins.ConversionTable::ClearFloat() + IL_0160: ret + } // end of method ConversionTable::UpdateFloat + + // method line 29 + .method private hidebysig + instance default void UpdateBases (class [Bless.Gui]Bless.Gui.DataView dv) cil managed + { + // Method begins at RVA 0x2ba8 + // Code size 232 (0xe8) + .maxstack 5 + .locals init ( + int64 V_0, + int64 V_1, + unsigned int8[] V_2, + int32 V_3) + IL_0000: ldarg.1 + IL_0001: callvirt instance int64 class [Bless.Gui]Bless.Gui.DataView::get_CursorOffset() + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldc.i4.0 + IL_0009: conv.i8 + IL_000a: blt IL_0020 + + IL_000f: ldloc.0 + IL_0010: ldarg.1 + IL_0011: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_0016: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_001b: blt IL_0028 + + IL_0020: ldc.i4.0 + IL_0021: conv.i8 + IL_0022: stloc.1 + IL_0023: br IL_0047 + + IL_0028: ldarg.1 + IL_0029: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_002e: callvirt instance int64 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Size() + IL_0033: ldloc.0 + IL_0034: sub + IL_0035: stloc.1 + IL_0036: ldloc.1 + IL_0037: ldc.i4.4 + IL_0038: conv.i8 + IL_0039: bge IL_0044 + + IL_003e: ldloc.1 + IL_003f: br IL_0046 + + IL_0044: ldc.i4.4 + IL_0045: conv.i8 + IL_0046: stloc.1 + IL_0047: ldloc.1 + IL_0048: conv.i4 + IL_0049: newarr [mscorlib]System.Byte + IL_004e: stloc.2 + IL_004f: ldc.i4.0 + IL_0050: stloc.3 + IL_0051: br IL_006c + + IL_0056: ldloc.2 + IL_0057: ldloc.3 + IL_0058: ldarg.1 + IL_0059: callvirt instance class [Bless.Buffers]Bless.Buffers.ByteBuffer class [Bless.Gui]Bless.Gui.DataView::get_Buffer() + IL_005e: ldloc.0 + IL_005f: ldloc.3 + IL_0060: conv.i8 + IL_0061: add + IL_0062: callvirt instance unsigned int8 class [Bless.Buffers]Bless.Buffers.BaseBuffer::get_Item(int64) + IL_0067: stelem.i1 + IL_0068: ldloc.3 + IL_0069: ldc.i4.1 + IL_006a: add + IL_006b: stloc.3 + IL_006c: ldloc.3 + IL_006d: conv.i8 + IL_006e: ldloc.1 + IL_006f: blt IL_0056 + + IL_0074: ldloc.1 + IL_0075: ldc.i4.0 + IL_0076: conv.i8 + IL_0077: ble IL_00e1 + + IL_007c: ldarg.0 + IL_007d: ldfld member:> Bless.Gui.Plugins.ConversionTable::HexadecimalEntry + IL_0082: ldloc.2 + IL_0083: ldc.i4.s 0x10 + IL_0085: call string class [Bless.Util]Bless.Util.ByteArray::ToString(unsigned int8[], int32) + IL_008a: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_008f: ldarg.0 + IL_0090: ldfld member:> Bless.Gui.Plugins.ConversionTable::DecimalEntry + IL_0095: ldloc.2 + IL_0096: ldc.i4.s 0x0a + IL_0098: call string class [Bless.Util]Bless.Util.ByteArray::ToString(unsigned int8[], int32) + IL_009d: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_00a2: ldarg.0 + IL_00a3: ldfld member:> Bless.Gui.Plugins.ConversionTable::OctalEntry + IL_00a8: ldloc.2 + IL_00a9: ldc.i4.8 + IL_00aa: call string class [Bless.Util]Bless.Util.ByteArray::ToString(unsigned int8[], int32) + IL_00af: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_00b4: ldarg.0 + IL_00b5: ldfld member:> Bless.Gui.Plugins.ConversionTable::BinaryEntry + IL_00ba: ldloc.2 + IL_00bb: ldc.i4.2 + IL_00bc: call string class [Bless.Util]Bless.Util.ByteArray::ToString(unsigned int8[], int32) + IL_00c1: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_00c6: ldarg.0 + IL_00c7: ldfld member:> Bless.Gui.Plugins.ConversionTable::AsciiEntry + IL_00cc: call class [mscorlib]System.Text.Encoding class [mscorlib]System.Text.Encoding::get_ASCII() + IL_00d1: ldloc.2 + IL_00d2: callvirt instance string class [mscorlib]System.Text.Encoding::GetString(unsigned int8[]) + IL_00d7: callvirt instance void ['gtk-sharp']Gtk.Entry::set_Text(string) + IL_00dc: br IL_00e7 + + IL_00e1: ldarg.0 + IL_00e2: call instance void class Bless.Gui.Plugins.ConversionTable::ClearBases() + IL_00e7: ret + } // end of method ConversionTable::UpdateBases + + // method line 30 + .method public hidebysig + instance default void Update () cil managed + { + // Method begins at RVA 0x2c9c + // Code size 85 (0x55) + .maxstack 2 + .locals init ( + class [Bless.Gui]Bless.Gui.DataViewDisplay V_0, + class [Bless.Gui]Bless.Gui.DataView V_1) + IL_0000: ldarg.0 + IL_0001: call instance bool ['gtk-sharp']Gtk.Widget::get_Visible() + IL_0006: brtrue IL_000c + + IL_000b: ret + IL_000c: ldarg.0 + IL_000d: ldfld class [Bless.Gui]Bless.Gui.DataBook Bless.Gui.Plugins.ConversionTable::dataBook + IL_0012: callvirt instance member:> ['gtk-sharp']Gtk.Notebook::get_CurrentPageWidget() + IL_0017: castclass [Bless.Gui]Bless.Gui.DataViewDisplay + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: brtrue IL_002a + + IL_0023: ldarg.0 + IL_0024: call instance void class Bless.Gui.Plugins.ConversionTable::Clear() + IL_0029: ret + IL_002a: ldloc.0 + IL_002b: callvirt instance class [Bless.Gui]Bless.Gui.DataView [Bless.Gui]Bless.Gui.DataViewDisplay::get_View() + IL_0030: stloc.1 + IL_0031: ldarg.0 + IL_0032: ldloc.1 + IL_0033: call instance void class Bless.Gui.Plugins.ConversionTable::Update8bit(class [Bless.Gui]Bless.Gui.DataView) + IL_0038: ldarg.0 + IL_0039: ldloc.1 + IL_003a: call instance void class Bless.Gui.Plugins.ConversionTable::Update16bit(class [Bless.Gui]Bless.Gui.DataView) + IL_003f: ldarg.0 + IL_0040: ldloc.1 + IL_0041: call instance void class Bless.Gui.Plugins.ConversionTable::Update32bit(class [Bless.Gui]Bless.Gui.DataView) + IL_0046: ldarg.0 + IL_0047: ldloc.1 + IL_0048: call instance void class Bless.Gui.Plugins.ConversionTable::UpdateFloat(class [Bless.Gui]Bless.Gui.DataView) + IL_004d: ldarg.0 + IL_004e: ldloc.1 + IL_004f: call instance void class Bless.Gui.Plugins.ConversionTable::UpdateBases(class [Bless.Gui]Bless.Gui.DataView) + IL_0054: ret + } // end of method ConversionTable::Update + + // method line 31 + .method public hidebysig + instance default void Clear () cil managed + { + // Method begins at RVA 0x2cfd + // Code size 43 (0x2b) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance bool ['gtk-sharp']Gtk.Widget::get_Visible() + IL_0006: brtrue IL_000c + + IL_000b: ret + IL_000c: ldarg.0 + IL_000d: call instance void class Bless.Gui.Plugins.ConversionTable::Clear8bit() + IL_0012: ldarg.0 + IL_0013: call instance void class Bless.Gui.Plugins.ConversionTable::Clear16bit() + IL_0018: ldarg.0 + IL_0019: call instance void class Bless.Gui.Plugins.ConversionTable::Clear32bit() + IL_001e: ldarg.0 + IL_001f: call instance void class Bless.Gui.Plugins.ConversionTable::ClearFloat() + IL_0024: ldarg.0 + IL_0025: call instance void class \ No newline at end of file PE32 Mono/.Net assembly: /usr/lib64/bless/Bless.Gui.dll /usr/lib64/bless/Bless.Gui.dll differs (PE32 executable (DLL) (console) Intel 80386, Mono/.Net assembly, for MS Windows) --- old /usr/lib64/bless/Bless.Gui.dll (monodis) +++ new /usr/lib64/bless/Bless.Gui.dll (monodis) @@ -21,7 +21,7 @@ .ver 4:0:0:0 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. } -.assembly extern Bless.Tools.Find +.assembly extern Bless.Buffers { .ver 0:0:0:0 } @@ -29,7 +29,7 @@ { .ver 0:0:0:0 } -.assembly extern Bless.Buffers +.assembly extern Bless.Tools.Find { .ver 0:0:0:0 } PE32 Mono/.Net assembly: /usr/lib64/bless/Bless.Plugins.dll /usr/lib64/bless/Bless.Plugins.dll differs (PE32 executable (DLL) (console) Intel 80386, Mono/.Net assembly, for MS Windows) --- old /usr/lib64/bless/Bless.Plugins.dll (monodis) +++ new /usr/lib64/bless/Bless.Plugins.dll (monodis) @@ -3,11 +3,6 @@ .ver 4:0:0:0 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. } -.assembly extern 'gtk-sharp' -{ - .ver 2:12:0:0 - .publickeytoken = (35 E1 01 95 DA B3 C9 9F ) // 5....... -} .assembly extern Bless.Util { .ver 0:0:0:0 @@ -17,14 +12,19 @@ .ver 4:0:0:0 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. } -.assembly extern Bless.Tools.Export +.assembly extern 'gtk-sharp' { - .ver 0:0:0:0 + .ver 2:12:0:0 + .publickeytoken = (35 E1 01 95 DA B3 C9 9F ) // 5....... } .assembly extern Bless.Gui.Areas { .ver 0:0:0:0 } +.assembly extern Bless.Tools.Export +{ + .ver 0:0:0:0 +} .assembly 'Bless.Plugins' { .custom instance void class [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::'.ctor'() = ( @@ -39,96 +39,15 @@ .namespace Bless.Plugins { - .class public auto ansi beforefieldinit ExportPlugin - extends Bless.Plugins.Plugin - { - - // method line 1 - .method family hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed - { - // Method begins at RVA 0x20c2 - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void class Bless.Plugins.Plugin::'.ctor'() - IL_0006: ret - } // end of method ExportPlugin::.ctor - - // method line 2 - .method public virtual hidebysig newslot - instance default class [Bless.Tools.Export]Bless.Tools.Export.IExportBuilder CreateBuilder (class [mscorlib]System.IO.Stream s) cil managed - { - // Method begins at RVA 0x20ca - // Code size 2 (0x2) - .maxstack 8 - IL_0000: ldnull - IL_0001: ret - } // end of method ExportPlugin::CreateBuilder - - } // end of class Bless.Plugins.ExportPlugin -} - -.namespace Bless.Plugins -{ - .class public auto ansi beforefieldinit GuiPlugin - extends Bless.Plugins.Plugin - { - - // method line 3 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed - { - // Method begins at RVA 0x20cd - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void class Bless.Plugins.Plugin::'.ctor'() - IL_0006: ret - } // end of method GuiPlugin::.ctor - - // method line 4 - .method family hidebysig - (null) cil managed - { - // Method begins at RVA 0x20d8 - } // end of method GuiPlugin:: - - // method line 5 - .method family hidebysig - (null) cil managed - { - // Method begins at RVA 0x2178 - } // end of method GuiPlugin:: - - // method line 6 - .method family hidebysig - (null) cil managed - { - // Method begins at RVA 0x21d0 - } // end of method GuiPlugin:: - - // method line 7 - .method family hidebysig - (null) cil managed - { - // Method begins at RVA 0x2238 - } // end of method GuiPlugin:: - - } // end of class Bless.Plugins.GuiPlugin -} - -.namespace Bless.Plugins -{ .class public auto ansi beforefieldinit PluginDependencyException extends [mscorlib]System.Exception { - // method line 8 + // method line 1 .method public hidebysig specialname rtspecialname instance default void '.ctor' (string msg) cil managed { - // Method begins at RVA 0x2327 + // Method begins at RVA 0x2050 // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 @@ -151,11 +70,11 @@ .field private class [mscorlib]System.Type pluginType .field private static class [mscorlib]System.Collections.Generic.Dictionary`2 pluginManagers - // method line 9 + // method line 2 .method private hidebysig specialname rtspecialname instance default void '.ctor' (class [mscorlib]System.Type pluginType, object[] args) cil managed { - // Method begins at RVA 0x2330 + // Method begins at RVA 0x205c // Code size 336 (0x150) .maxstack 4 .locals init ( @@ -320,11 +239,11 @@ IL_014f: ret } // end of method PluginManager::.ctor - // method line 10 + // method line 3 .method private hidebysig instance default void AddPluginFile (string file) cil managed { - // Method begins at RVA 0x249c + // Method begins at RVA 0x21c8 // Code size 130 (0x82) .maxstack 3 .locals init ( @@ -395,11 +314,11 @@ IL_0081: ret } // end of method PluginManager::AddPluginFile - // method line 11 + // method line 4 .method private hidebysig instance default void AddToPluginCollection (class Bless.Plugins.Plugin plugin) cil managed { - // Method begins at RVA 0x253c + // Method begins at RVA 0x2268 // Code size 19 (0x13) .maxstack 8 IL_0000: ldarg.0 @@ -411,11 +330,11 @@ IL_0012: ret } // end of method PluginManager::AddToPluginCollection - // method line 12 + // method line 5 .method public hidebysig instance default bool LoadPlugin (class Bless.Plugins.Plugin plugin) cil managed { - // Method begins at RVA 0x2550 + // Method begins at RVA 0x227c // Code size 15 (0xf) .maxstack 3 .locals init ( @@ -429,11 +348,11 @@ IL_000e: ret } // end of method PluginManager::LoadPlugin - // method line 13 + // method line 6 .method private hidebysig instance default bool LoadPluginInternal (class Bless.Plugins.Plugin plugin, class [System]System.Collections.Specialized.StringCollection visited) cil managed { - // Method begins at RVA 0x256c + // Method begins at RVA 0x2298 // Code size 300 (0x12c) .maxstack 3 .locals init ( @@ -566,11 +485,11 @@ IL_012b: ret } // end of method PluginManager::LoadPluginInternal - // method line 14 + // method line 7 .method public hidebysig specialname instance default class Bless.Plugins.Plugin[] get_Plugins () cil managed { - // Method begins at RVA 0x26c0 + // Method begins at RVA 0x23ec // Code size 90 (0x5a) .maxstack 4 .locals init ( @@ -621,11 +540,11 @@ IL_0059: ret } // end of method PluginManager::get_Plugins - // method line 15 + // method line 8 .method public static hidebysig default void AddForType (class [mscorlib]System.Type pluginType, object[] args) cil managed { - // Method begins at RVA 0x2738 + // Method begins at RVA 0x2464 // Code size 21 (0x15) .maxstack 3 .locals init ( @@ -641,11 +560,11 @@ IL_0014: ret } // end of method PluginManager::AddForType - // method line 16 + // method line 9 .method public static hidebysig default class Bless.Plugins.PluginManager GetForType (class [mscorlib]System.Type pluginType) cil managed { - // Method begins at RVA 0x275c + // Method begins at RVA 0x2488 // Code size 32 (0x20) .maxstack 2 .locals init ( @@ -665,22 +584,22 @@ IL_001f: ret } // end of method PluginManager::GetForType - // method line 17 + // method line 10 .method public static hidebysig specialname default class [mscorlib]System.Collections.Generic.IEnumerable`1> get_AllManagers () cil managed { - // Method begins at RVA 0x2788 + // Method begins at RVA 0x24b4 // Code size 6 (0x6) .maxstack 8 IL_0000: ldsfld class [mscorlib]System.Collections.Generic.Dictionary`2 Bless.Plugins.PluginManager::pluginManagers IL_0005: ret } // end of method PluginManager::get_AllManagers - // method line 18 + // method line 11 .method private static hidebysig specialname rtspecialname default void '.cctor' () cil managed { - // Method begins at RVA 0x278f + // Method begins at RVA 0x24bb // Code size 11 (0xb) .maxstack 8 IL_0000: newobj instance void class [mscorlib]System.Collections.Generic.Dictionary`2::'.ctor'() @@ -701,38 +620,6 @@ .namespace Bless.Plugins { - .class public auto ansi beforefieldinit AreaPlugin - extends Bless.Plugins.Plugin - { - - // method line 19 - .method family hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed - { - // Method begins at RVA 0x279b - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void class Bless.Plugins.Plugin::'.ctor'() - IL_0006: ret - } // end of method AreaPlugin::.ctor - - // method line 20 - .method public virtual hidebysig newslot - instance default class [Bless.Gui.Areas]Bless.Gui.Areas.Area CreateArea (class [Bless.Gui.Areas]Bless.Gui.Areas.AreaGroup ag) cil managed - { - // Method begins at RVA 0x27a3 - // Code size 2 (0x2) - .maxstack 8 - IL_0000: ldnull - IL_0001: ret - } // end of method AreaPlugin::CreateArea - - } // end of class Bless.Plugins.AreaPlugin -} - -.namespace Bless.Plugins -{ .class public auto ansi beforefieldinit Plugin extends [mscorlib]System.Object { @@ -743,11 +630,11 @@ .field family class [mscorlib]System.Collections.Generic.List`1 dependencies .field family class [mscorlib]System.Collections.Generic.List`1 loadAfter - // method line 21 + // method line 12 .method public hidebysig specialname rtspecialname instance default void '.ctor' () cil managed { - // Method begins at RVA 0x2050 + // Method begins at RVA 0x24c7 // Code size 29 (0x1d) .maxstack 8 IL_0000: ldarg.0 @@ -761,33 +648,33 @@ IL_001c: ret } // end of method Plugin::.ctor - // method line 22 + // method line 13 .method public virtual hidebysig newslot instance default bool Load () cil managed { - // Method begins at RVA 0x206e + // Method begins at RVA 0x24e5 // Code size 2 (0x2) .maxstack 8 IL_0000: ldc.i4.0 IL_0001: ret } // end of method Plugin::Load - // method line 23 + // method line 14 .method public virtual hidebysig newslot instance default bool UnLoad () cil managed { - // Method begins at RVA 0x2071 + // Method begins at RVA 0x24e8 // Code size 2 (0x2) .maxstack 8 IL_0000: ldc.i4.0 IL_0001: ret } // end of method Plugin::UnLoad - // method line 24 + // method line 15 .method public hidebysig specialname instance default string get_Name () cil managed { - // Method begins at RVA 0x2074 + // Method begins at RVA 0x24eb // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -795,11 +682,11 @@ IL_0006: ret } // end of method Plugin::get_Name - // method line 25 + // method line 16 .method public hidebysig specialname instance default void set_Name (string 'value') cil managed { - // Method begins at RVA 0x207c + // Method begins at RVA 0x24f3 // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 @@ -808,11 +695,11 @@ IL_0007: ret } // end of method Plugin::set_Name - // method line 26 + // method line 17 .method public hidebysig specialname instance default string get_Author () cil managed { - // Method begins at RVA 0x2085 + // Method begins at RVA 0x24fc // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -820,11 +707,11 @@ IL_0006: ret } // end of method Plugin::get_Author - // method line 27 + // method line 18 .method public hidebysig specialname instance default void set_Author (string 'value') cil managed { - // Method begins at RVA 0x208d + // Method begins at RVA 0x2504 // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 @@ -833,11 +720,11 @@ IL_0007: ret } // end of method Plugin::set_Author - // method line 28 + // method line 19 .method public hidebysig specialname instance default string get_Description () cil managed { - // Method begins at RVA 0x2096 + // Method begins at RVA 0x250d // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -845,11 +732,11 @@ IL_0006: ret } // end of method Plugin::get_Description - // method line 29 + // method line 20 .method public hidebysig specialname instance default void set_Description (string 'value') cil managed { - // Method begins at RVA 0x209e + // Method begins at RVA 0x2515 // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 @@ -858,11 +745,11 @@ IL_0007: ret } // end of method Plugin::set_Description - // method line 30 + // method line 21 .method public hidebysig specialname instance default bool get_Loaded () cil managed { - // Method begins at RVA 0x20a7 + // Method begins at RVA 0x251e // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -870,11 +757,11 @@ IL_0006: ret } // end of method Plugin::get_Loaded - // method line 31 + // method line 22 .method public hidebysig specialname instance default class [mscorlib]System.Collections.Generic.IList`1 get_Dependencies () cil managed { - // Method begins at RVA 0x20af + // Method begins at RVA 0x2526 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -882,11 +769,11 @@ IL_0006: ret } // end of method Plugin::get_Dependencies - // method line 32 + // method line 23 .method public hidebysig specialname instance default class [mscorlib]System.Collections.Generic.IList`1 get_LoadAfter () cil managed { - // Method begins at RVA 0x20b7 + // Method begins at RVA 0x252e // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -894,11 +781,11 @@ IL_0006: ret } // end of method Plugin::get_LoadAfter - // method line 33 + // method line 24 .method public virtual hidebysig newslot specialname instance default class IPluginPreferences get_PluginPreferences () cil managed { - // Method begins at RVA 0x20bf + // Method begins at RVA 0x2536 // Code size 2 (0x2) .maxstack 8 IL_0000: ldnull @@ -942,21 +829,21 @@ .class interface public auto ansi abstract IPluginPreferences { - // method line 34 + // method line 25 .method public virtual hidebysig newslot abstract specialname (null) cil managed { // Method begins at RVA 0x0 } // end of method IPluginPreferences:: - // method line 35 + // method line 26 .method public virtual hidebysig newslot abstract instance default void SavePreferences () cil managed { // Method begins at RVA 0x0 } // end of method IPluginPreferences::SavePreferences - // method line 36 + // method line 27 .method public virtual hidebysig newslot abstract instance default void LoadPreferences () cil managed { PE32 Mono/.Net assembly: /usr/lib64/bless/Bless.Tools.Export.Plugins.dll /usr/lib64/bless/Bless.Tools.Export.Plugins.dll differs (PE32 executable (DLL) (console) Intel 80386, Mono/.Net assembly, for MS Windows) --- old /usr/lib64/bless/Bless.Tools.Export.Plugins.dll (monodis) +++ new /usr/lib64/bless/Bless.Tools.Export.Plugins.dll (monodis) @@ -3,26 +3,26 @@ .ver 4:0:0:0 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. } -.assembly extern Bless.Plugins +.assembly extern Bless.Tools.Export { .ver 0:0:0:0 } -.assembly extern Mono.Posix +.assembly extern Bless.Util { - .ver 4:0:0:0 - .publickeytoken = (07 38 EB 9F 13 2E D7 56 ) // .8.....V + .ver 0:0:0:0 } -.assembly extern Bless.Tools.Export +.assembly extern Bless.Buffers { .ver 0:0:0:0 } -.assembly extern Bless.Util +.assembly extern Bless.Plugins { .ver 0:0:0:0 } -.assembly extern Bless.Buffers +.assembly extern Mono.Posix { - .ver 0:0:0:0 + .ver 4:0:0:0 + .publickeytoken = (07 38 EB 9F 13 2E D7 56 ) // .8.....V } .assembly 'Bless.Tools.Export.Plugins' { @@ -38,107 +38,17 @@ .namespace Bless.Tools.Export.Plugins { - .class public auto ansi beforefieldinit HTMLExportPlugin - extends [Bless.Plugins]Bless.Plugins.ExportPlugin - { - - // method line 1 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed - { - // Method begins at RVA 0x2050 - // Code size 61 (0x3d) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void class [Bless.Plugins]Bless.Plugins.ExportPlugin::'.ctor'() - IL_0006: ldarg.0 - IL_0007: ldstr "HTMLExport" - IL_000c: stfld string [Bless.Plugins]Bless.Plugins.Plugin::name - IL_0011: ldarg.0 - IL_0012: ldstr "Alexandros Frantzis" - IL_0017: stfld string [Bless.Plugins]Bless.Plugins.Plugin::author - IL_001c: ldarg.0 - IL_001d: ldstr "Export as HTML" - IL_0022: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) - IL_0027: stfld string [Bless.Plugins]Bless.Plugins.Plugin::description - IL_002c: ldarg.0 - IL_002d: ldfld class [mscorlib]System.Collections.Generic.List`1 [Bless.Plugins]Bless.Plugins.Plugin::dependencies - IL_0032: ldstr "TextExport" - IL_0037: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) - IL_003c: ret - } // end of method HTMLExportPlugin::.ctor - - // method line 2 - .method public virtual hidebysig - instance default class [Bless.Tools.Export]Bless.Tools.Export.IExportBuilder CreateBuilder (class [mscorlib]System.IO.Stream s) cil managed - { - // Method begins at RVA 0x208e - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.1 - IL_0001: newobj instance void class Bless.Tools.Export.Plugins.HTMLExportBuilder::'.ctor'(class [mscorlib]System.IO.Stream) - IL_0006: ret - } // end of method HTMLExportPlugin::CreateBuilder - - } // end of class Bless.Tools.Export.Plugins.HTMLExportPlugin -} - -.namespace Bless.Tools.Export.Plugins -{ - .class public auto ansi beforefieldinit TextExportPlugin - extends [Bless.Plugins]Bless.Plugins.ExportPlugin - { - - // method line 3 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed - { - // Method begins at RVA 0x2096 - // Code size 45 (0x2d) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void class [Bless.Plugins]Bless.Plugins.ExportPlugin::'.ctor'() - IL_0006: ldarg.0 - IL_0007: ldstr "TextExport" - IL_000c: stfld string [Bless.Plugins]Bless.Plugins.Plugin::name - IL_0011: ldarg.0 - IL_0012: ldstr "Alexandros Frantzis" - IL_0017: stfld string [Bless.Plugins]Bless.Plugins.Plugin::author - IL_001c: ldarg.0 - IL_001d: ldstr "Export as Text" - IL_0022: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) - IL_0027: stfld string [Bless.Plugins]Bless.Plugins.Plugin::description - IL_002c: ret - } // end of method TextExportPlugin::.ctor - - // method line 4 - .method public virtual hidebysig - instance default class [Bless.Tools.Export]Bless.Tools.Export.IExportBuilder CreateBuilder (class [mscorlib]System.IO.Stream s) cil managed - { - // Method begins at RVA 0x20c4 - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.1 - IL_0001: newobj instance void class Bless.Tools.Export.Plugins.TextExportBuilder::'.ctor'(class [mscorlib]System.IO.Stream) - IL_0006: ret - } // end of method TextExportPlugin::CreateBuilder - - } // end of class Bless.Tools.Export.Plugins.TextExportPlugin -} - -.namespace Bless.Tools.Export.Plugins -{ .class public auto ansi beforefieldinit TextExportBuilder extends [mscorlib]System.Object implements [Bless.Tools.Export]Bless.Tools.Export.IExportBuilder { .field family class [mscorlib]System.IO.StreamWriter writer .field family int32 'alignment' - // method line 5 + // method line 1 .method public hidebysig specialname rtspecialname instance default void '.ctor' (class [mscorlib]System.IO.Stream 'stream') cil managed { - // Method begins at RVA 0x20cc + // Method begins at RVA 0x2050 // Code size 26 (0x1a) .maxstack 8 IL_0000: ldarg.0 @@ -153,31 +63,31 @@ IL_0019: ret } // end of method TextExportBuilder::.ctor - // method line 6 + // method line 2 .method public virtual hidebysig newslot instance default void BuildPrologue () cil managed { - // Method begins at RVA 0x20e7 + // Method begins at RVA 0x206b // Code size 1 (0x1) .maxstack 8 IL_0000: ret } // end of method TextExportBuilder::BuildPrologue - // method line 7 + // method line 3 .method public virtual hidebysig newslot instance default void BuildEpilogue () cil managed { - // Method begins at RVA 0x20e9 + // Method begins at RVA 0x206d // Code size 1 (0x1) .maxstack 8 IL_0000: ret } // end of method TextExportBuilder::BuildEpilogue - // method line 8 + // method line 4 .method public virtual hidebysig newslot instance default int32 BuildBytes (class [Bless.Buffers]Bless.Buffers.IBuffer buffer, int64 offset, valuetype [Bless.Tools.Export]Bless.Tools.Export.BuildBytesInfo info) cil managed { - // Method begins at RVA 0x20ec + // Method begins at RVA 0x2070 // Code size 87 (0x57) .maxstack 6 .locals init ( @@ -234,11 +144,11 @@ IL_0056: ret } // end of method TextExportBuilder::BuildBytes - // method line 9 + // method line 5 .method public virtual hidebysig newslot instance default void BuildString (string str) cil managed { - // Method begins at RVA 0x214f + // Method begins at RVA 0x20d3 // Code size 24 (0x18) .maxstack 8 IL_0000: ldarg.0 @@ -251,11 +161,11 @@ IL_0017: ret } // end of method TextExportBuilder::BuildString - // method line 10 + // method line 6 .method public virtual hidebysig newslot instance default void BuildCharacter (char c) cil managed { - // Method begins at RVA 0x2168 + // Method begins at RVA 0x20ec // Code size 24 (0x18) .maxstack 8 IL_0000: ldarg.0 @@ -268,11 +178,11 @@ IL_0017: ret } // end of method TextExportBuilder::BuildCharacter - // method line 11 + // method line 7 .method public virtual hidebysig newslot instance default void BuildAlignment (int32 align) cil managed { - // Method begins at RVA 0x2181 + // Method begins at RVA 0x2105 // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 @@ -281,11 +191,11 @@ IL_0007: ret } // end of method TextExportBuilder::BuildAlignment - // method line 12 + // method line 8 .method public virtual hidebysig newslot instance default void BuildOffset (int64 offset, int32 length, char 'type') cil managed { - // Method begins at RVA 0x218c + // Method begins at RVA 0x2110 // Code size 47 (0x2f) .maxstack 5 .locals init ( @@ -321,11 +231,11 @@ IL_002e: ret } // end of method TextExportBuilder::BuildOffset - // method line 13 + // method line 9 .method public final virtual hidebysig newslot specialname instance default class [mscorlib]System.IO.Stream get_OutputStream () cil managed { - // Method begins at RVA 0x21c7 + // Method begins at RVA 0x214b // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 @@ -334,11 +244,11 @@ IL_000b: ret } // end of method TextExportBuilder::get_OutputStream - // method line 14 + // method line 10 .method family virtual hidebysig newslot instance default int32 MatchAlignment (int64 offset, valuetype [Bless.Tools.Export]Bless.Tools.Export.BuildBytesInfo info) cil managed { - // Method begins at RVA 0x21d4 + // Method begins at RVA 0x2158 // Code size 102 (0x66) .maxstack 5 .locals init ( @@ -403,11 +313,11 @@ IL_0065: ret } // end of method TextExportBuilder::MatchAlignment - // method line 15 + // method line 11 .method family virtual hidebysig newslot instance default int32 BuildByte (class [Bless.Buffers]Bless.Buffers.IBuffer buffer, int64 offset, valuetype [Bless.Tools.Export]Bless.Tools.Export.BuildBytesInfo info, bool dummy) cil managed { - // Method begins at RVA 0x2248 + // Method begins at RVA 0x21cc // Code size 320 (0x140) .maxstack 5 .locals init ( @@ -548,11 +458,11 @@ IL_013f: ret } // end of method TextExportBuilder::BuildByte - // method line 16 + // method line 12 .method family virtual hidebysig newslot instance default void BuildSeparator (string separator) cil managed { - // Method begins at RVA 0x2394 + // Method begins at RVA 0x2318 // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -562,11 +472,11 @@ IL_000c: ret } // end of method TextExportBuilder::BuildSeparator - // method line 17 + // method line 13 .method family virtual hidebysig newslot instance default void BuildEmpty (string str, string empty) cil managed { - // Method begins at RVA 0x23a4 + // Method begins at RVA 0x2328 // Code size 86 (0x56) .maxstack 4 .locals init ( @@ -612,11 +522,11 @@ IL_0055: ret } // end of method TextExportBuilder::BuildEmpty - // method line 18 + // method line 14 .method family virtual hidebysig newslot instance default void BuildPrefix (string str) cil managed { - // Method begins at RVA 0x2406 + // Method begins at RVA 0x238a // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -626,11 +536,11 @@ IL_000c: ret } // end of method TextExportBuilder::BuildPrefix - // method line 19 + // method line 15 .method family virtual hidebysig newslot instance default void BuildSuffix (string str) cil managed { - // Method begins at RVA 0x2414 + // Method begins at RVA 0x2398 // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -640,11 +550,11 @@ IL_000c: ret } // end of method TextExportBuilder::BuildSuffix - // method line 20 + // method line 16 .method family virtual hidebysig newslot instance default void BuildByteData (string str) cil managed { - // Method begins at RVA 0x2422 + // Method begins at RVA 0x23a6 // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -654,11 +564,11 @@ IL_000c: ret } // end of method TextExportBuilder::BuildByteData - // method line 21 + // method line 17 .method private hidebysig instance default int32 GetBaseFromArgument (char 'type', [out] bool& lowercase) cil managed { - // Method begins at RVA 0x2430 + // Method begins at RVA 0x23b4 // Code size 103 (0x67) .maxstack 2 .locals init ( @@ -731,11 +641,11 @@ extends Bless.Tools.Export.Plugins.TextExportBuilder { - // method line 22 + // method line 18 .method public hidebysig specialname rtspecialname instance default void '.ctor' (class [mscorlib]System.IO.Stream 'stream') cil managed { - // Method begins at RVA 0x24a3 + // Method begins at RVA 0x2427 // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 @@ -744,11 +654,11 @@ IL_0007: ret } // end of method HTMLExportBuilder::.ctor - // method line 23 + // method line 19 .method public virtual hidebysig instance default void BuildPrologue () cil managed { - // Method begins at RVA 0x24ac + // Method begins at RVA 0x2430 // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "Writing prologue" @@ -759,11 +669,11 @@ IL_0015: ret } // end of method HTMLExportBuilder::BuildPrologue - // method line 24 + // method line 20 .method public virtual hidebysig instance default void BuildEpilogue () cil managed { - // Method begins at RVA 0x24c3 + // Method begins at RVA 0x2447 // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "Writing epilogue" @@ -774,11 +684,11 @@ IL_0015: ret } // end of method HTMLExportBuilder::BuildEpilogue - // method line 25 + // method line 21 .method family virtual hidebysig instance default int32 BuildByte (class [Bless.Buffers]Bless.Buffers.IBuffer buf, int64 offset, valuetype [Bless.Tools.Export]Bless.Tools.Export.BuildBytesInfo info, bool dummy) cil managed { - // Method begins at RVA 0x24dc + // Method begins at RVA 0x2460 // Code size 58 (0x3a) .maxstack 5 .locals init ( @@ -819,3 +729,93 @@ } // end of class Bless.Tools.Export.Plugins.HTMLExportBuilder } +.namespace Bless.Tools.Export.Plugins +{ + .class public auto ansi beforefieldinit TextExportPlugin + extends [Bless.Plugins]Bless.Plugins.ExportPlugin + { + + // method line 22 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' () cil managed + { + // Method begins at RVA 0x24a6 + // Code size 45 (0x2d) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [Bless.Plugins]Bless.Plugins.ExportPlugin::'.ctor'() + IL_0006: ldarg.0 + IL_0007: ldstr "TextExport" + IL_000c: stfld string [Bless.Plugins]Bless.Plugins.Plugin::name + IL_0011: ldarg.0 + IL_0012: ldstr "Alexandros Frantzis" + IL_0017: stfld string [Bless.Plugins]Bless.Plugins.Plugin::author + IL_001c: ldarg.0 + IL_001d: ldstr "Export as Text" + IL_0022: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) + IL_0027: stfld string [Bless.Plugins]Bless.Plugins.Plugin::description + IL_002c: ret + } // end of method TextExportPlugin::.ctor + + // method line 23 + .method public virtual hidebysig + instance default class [Bless.Tools.Export]Bless.Tools.Export.IExportBuilder CreateBuilder (class [mscorlib]System.IO.Stream s) cil managed + { + // Method begins at RVA 0x24d4 + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: newobj instance void class Bless.Tools.Export.Plugins.TextExportBuilder::'.ctor'(class [mscorlib]System.IO.Stream) + IL_0006: ret + } // end of method TextExportPlugin::CreateBuilder + + } // end of class Bless.Tools.Export.Plugins.TextExportPlugin +} + +.namespace Bless.Tools.Export.Plugins +{ + .class public auto ansi beforefieldinit HTMLExportPlugin + extends [Bless.Plugins]Bless.Plugins.ExportPlugin + { + + // method line 24 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' () cil managed + { + // Method begins at RVA 0x24dc + // Code size 61 (0x3d) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [Bless.Plugins]Bless.Plugins.ExportPlugin::'.ctor'() + IL_0006: ldarg.0 + IL_0007: ldstr "HTMLExport" + IL_000c: stfld string [Bless.Plugins]Bless.Plugins.Plugin::name + IL_0011: ldarg.0 + IL_0012: ldstr "Alexandros Frantzis" + IL_0017: stfld string [Bless.Plugins]Bless.Plugins.Plugin::author + IL_001c: ldarg.0 + IL_001d: ldstr "Export as HTML" + IL_0022: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) + IL_0027: stfld string [Bless.Plugins]Bless.Plugins.Plugin::description + IL_002c: ldarg.0 + IL_002d: ldfld class [mscorlib]System.Collections.Generic.List`1 [Bless.Plugins]Bless.Plugins.Plugin::dependencies + IL_0032: ldstr "TextExport" + IL_0037: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_003c: ret + } // end of method HTMLExportPlugin::.ctor + + // method line 25 + .method public virtual hidebysig + instance default class [Bless.Tools.Export]Bless.Tools.Export.IExportBuilder CreateBuilder (class [mscorlib]System.IO.Stream s) cil managed + { + // Method begins at RVA 0x251a + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: newobj instance void class Bless.Tools.Export.Plugins.HTMLExportBuilder::'.ctor'(class [mscorlib]System.IO.Stream) + IL_0006: ret + } // end of method HTMLExportPlugin::CreateBuilder + + } // end of class Bless.Tools.Export.Plugins.HTMLExportPlugin +} + PE32 Mono/.Net assembly: /usr/lib64/bless/Bless.Tools.Export.dll /usr/lib64/bless/Bless.Tools.Export.dll differs (PE32 executable (DLL) (console) Intel 80386, Mono/.Net assembly, for MS Windows) --- old /usr/lib64/bless/Bless.Tools.Export.dll (monodis) +++ new /usr/lib64/bless/Bless.Tools.Export.dll (monodis) @@ -1,13 +1,9 @@ -.assembly extern Bless.Buffers -{ - .ver 0:0:0:0 -} .assembly extern mscorlib { .ver 4:0:0:0 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. } -.assembly extern Bless.Util +.assembly extern Bless.Buffers { .ver 0:0:0:0 } @@ -16,6 +12,10 @@ .ver 4:0:0:0 .publickeytoken = (07 38 EB 9F 13 2E D7 56 ) // .8.....V } +.assembly extern Bless.Util +{ + .ver 0:0:0:0 +} .assembly 'Bless.Tools.Export' { .custom instance void class [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::'.ctor'() = ( @@ -57,168 +57,39 @@ .namespace Bless.Tools.Export { - .class public auto ansi beforefieldinit ExportOperation - extends [Bless.Util]Bless.Util.ThreadedAsyncOperation + .class interface public auto ansi abstract IExporter { - .field private class Bless.Tools.Export.IExporter exporter - .field private class [Bless.Buffers]Bless.Buffers.IBuffer buffer - .field private int64 rangeStart - .field private int64 rangeEnd // method line 3 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' (class Bless.Tools.Export.IExporter ex, class [Bless.Buffers]Bless.Buffers.IBuffer buf, int64 start, int64 end, class [Bless.Util]Bless.Util.ProgressCallback progressCb, class [mscorlib]System.AsyncCallback endCb) cil managed + .method public virtual hidebysig newslot abstract + instance default void Export (class [Bless.Buffers]Bless.Buffers.IBuffer buffer, int64 start, int64 end, bool& cancelled) cil managed { - // Method begins at RVA 0x2050 - // Code size 41 (0x29) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.s 5 - IL_0003: ldarg.s 6 - IL_0005: ldc.i4.1 - IL_0006: call instance void class [Bless.Util]Bless.Util.ThreadedAsyncOperation::'.ctor'(class [Bless.Util]Bless.Util.ProgressCallback, class [mscorlib]System.AsyncCallback, bool) - IL_000b: ldarg.0 - IL_000c: ldarg.1 - IL_000d: stfld class Bless.Tools.Export.IExporter Bless.Tools.Export.ExportOperation::exporter - IL_0012: ldarg.0 - IL_0013: ldarg.2 - IL_0014: stfld class [Bless.Buffers]Bless.Buffers.IBuffer Bless.Tools.Export.ExportOperation::buffer - IL_0019: ldarg.0 - IL_001a: ldarg.3 - IL_001b: stfld int64 Bless.Tools.Export.ExportOperation::rangeStart - IL_0020: ldarg.0 - IL_0021: ldarg.s 4 - IL_0023: stfld int64 Bless.Tools.Export.ExportOperation::rangeEnd - IL_0028: ret - } // end of method ExportOperation::.ctor + // Method begins at RVA 0x0 + } // end of method IExporter::Export // method line 4 - .method public hidebysig specialname - instance default class Bless.Tools.Export.IExporter get_Exporter () cil managed + .method public virtual hidebysig newslot abstract specialname + instance default class Bless.Tools.Export.IExportBuilder get_Builder () cil managed { - // Method begins at RVA 0x207a - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Tools.Export.IExporter Bless.Tools.Export.ExportOperation::exporter - IL_0006: ret - } // end of method ExportOperation::get_Exporter + // Method begins at RVA 0x0 + } // end of method IExporter::get_Builder // method line 5 - .method private hidebysig - instance default float64 CalculatePercentDone () cil managed - { - // Method begins at RVA 0x2082 - // Code size 35 (0x23) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Tools.Export.IExporter Bless.Tools.Export.ExportOperation::exporter - IL_0006: callvirt instance int64 class Bless.Tools.Export.IExporter::get_CurrentPosition() - IL_000b: ldarg.0 - IL_000c: ldfld int64 Bless.Tools.Export.ExportOperation::rangeStart - IL_0011: sub - IL_0012: conv.r8 - IL_0013: ldarg.0 - IL_0014: ldfld int64 Bless.Tools.Export.ExportOperation::rangeEnd - IL_0019: ldarg.0 - IL_001a: ldfld int64 Bless.Tools.Export.ExportOperation::rangeStart - IL_001f: sub - IL_0020: conv.r8 - IL_0021: div - IL_0022: ret - } // end of method ExportOperation::CalculatePercentDone - - // method line 6 - .method family virtual hidebysig - instance default bool StartProgress () cil managed - { - // Method begins at RVA 0x20a6 - // Code size 24 (0x18) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0006: ldarg.0 - IL_0007: call instance float64 class Bless.Tools.Export.ExportOperation::CalculatePercentDone() - IL_000c: box [mscorlib]System.Double - IL_0011: ldc.i4.0 - IL_0012: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) - IL_0017: ret - } // end of method ExportOperation::StartProgress - - // method line 7 - .method family virtual hidebysig - instance default bool UpdateProgress () cil managed - { - // Method begins at RVA 0x20bf - // Code size 24 (0x18) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0006: ldarg.0 - IL_0007: call instance float64 class Bless.Tools.Export.ExportOperation::CalculatePercentDone() - IL_000c: box [mscorlib]System.Double - IL_0011: ldc.i4.2 - IL_0012: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) - IL_0017: ret - } // end of method ExportOperation::UpdateProgress - - // method line 8 - .method family virtual hidebysig - instance default bool EndProgress () cil managed - { - // Method begins at RVA 0x20d8 - // Code size 24 (0x18) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0006: ldarg.0 - IL_0007: call instance float64 class Bless.Tools.Export.ExportOperation::CalculatePercentDone() - IL_000c: box [mscorlib]System.Double - IL_0011: ldc.i4.1 - IL_0012: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) - IL_0017: ret - } // end of method ExportOperation::EndProgress - - // method line 9 - .method family virtual hidebysig - instance default void DoOperation () cil managed - { - // Method begins at RVA 0x20f1 - // Code size 56 (0x38) - .maxstack 8 - IL_0000: ldstr "Starting export" - IL_0005: call void class [mscorlib]System.Console::WriteLine(string) - IL_000a: ldarg.0 - IL_000b: ldfld class Bless.Tools.Export.IExporter Bless.Tools.Export.ExportOperation::exporter - IL_0010: ldarg.0 - IL_0011: ldfld class [Bless.Buffers]Bless.Buffers.IBuffer Bless.Tools.Export.ExportOperation::buffer - IL_0016: ldarg.0 - IL_0017: ldfld int64 Bless.Tools.Export.ExportOperation::rangeStart - IL_001c: ldarg.0 - IL_001d: ldfld int64 Bless.Tools.Export.ExportOperation::rangeEnd - IL_0022: ldarg.0 - IL_0023: ldflda bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled - IL_0028: callvirt instance void class Bless.Tools.Export.IExporter::Export(class [Bless.Buffers]Bless.Buffers.IBuffer, int64, int64, [out] bool&) - IL_002d: ldstr "Ending export" - IL_0032: call void class [mscorlib]System.Console::WriteLine(string) - IL_0037: ret - } // end of method ExportOperation::DoOperation - - // method line 10 - .method family virtual hidebysig - instance default void EndOperation () cil managed + .method public virtual hidebysig newslot abstract specialname + instance default int64 get_CurrentPosition () cil managed { - // Method begins at RVA 0x212a - // Code size 1 (0x1) - .maxstack 8 - IL_0000: ret - } // end of method ExportOperation::EndOperation + // Method begins at RVA 0x0 + } // end of method IExporter::get_CurrentPosition - .property instance class Bless.Tools.Export.IExporter Exporter () + .property instance class Bless.Tools.Export.IExportBuilder Builder () { - .get instance default class Bless.Tools.Export.IExporter Bless.Tools.Export.ExportOperation::get_Exporter () + .get instance default class Bless.Tools.Export.IExportBuilder Bless.Tools.Export.IExporter::get_Builder () } - } // end of class Bless.Tools.Export.ExportOperation + .property instance int64 CurrentPosition () + { + .get instance default int64 Bless.Tools.Export.IExporter::get_CurrentPosition () + } + } // end of class Bless.Tools.Export.IExporter } .namespace Bless.Tools.Export @@ -242,56 +113,56 @@ .class interface public auto ansi abstract IExportBuilder { - // method line 11 + // method line 6 .method public virtual hidebysig newslot abstract instance default void BuildPrologue () cil managed { // Method begins at RVA 0x0 } // end of method IExportBuilder::BuildPrologue - // method line 12 + // method line 7 .method public virtual hidebysig newslot abstract instance default void BuildEpilogue () cil managed { // Method begins at RVA 0x0 } // end of method IExportBuilder::BuildEpilogue - // method line 13 + // method line 8 .method public virtual hidebysig newslot abstract instance default int32 BuildBytes (class [Bless.Buffers]Bless.Buffers.IBuffer buffer, int64 offset, valuetype Bless.Tools.Export.BuildBytesInfo info) cil managed { // Method begins at RVA 0x0 } // end of method IExportBuilder::BuildBytes - // method line 14 + // method line 9 .method public virtual hidebysig newslot abstract instance default void BuildString (string str) cil managed { // Method begins at RVA 0x0 } // end of method IExportBuilder::BuildString - // method line 15 + // method line 10 .method public virtual hidebysig newslot abstract instance default void BuildCharacter (char c) cil managed { // Method begins at RVA 0x0 } // end of method IExportBuilder::BuildCharacter - // method line 16 + // method line 11 .method public virtual hidebysig newslot abstract instance default void BuildAlignment (int32 align) cil managed { // Method begins at RVA 0x0 } // end of method IExportBuilder::BuildAlignment - // method line 17 + // method line 12 .method public virtual hidebysig newslot abstract instance default void BuildOffset (int64 offset, int32 length, char 'type') cil managed { // Method begins at RVA 0x0 } // end of method IExportBuilder::BuildOffset - // method line 18 + // method line 13 .method public virtual hidebysig newslot abstract specialname instance default class [mscorlib]System.IO.Stream get_OutputStream () cil managed { @@ -315,17 +186,17 @@ .field private int32 patternIndex .field private char characterData .field private string stringData - .field private > positionStack + .field private > positionStack .field private int64 rangeStart .field private int64 rangeEnd .field private int64 bufPos .field private class [Bless.Buffers]Bless.Buffers.IBuffer buffer - // method line 19 + // method line 14 .method public hidebysig specialname rtspecialname instance default void '.ctor' (class Bless.Tools.Export.IExportBuilder ieb) cil managed { - // Method begins at RVA 0x212c + // Method begins at RVA 0x2050 // Code size 25 (0x19) .maxstack 8 IL_0000: ldarg.0 @@ -334,16 +205,16 @@ IL_0007: ldarg.1 IL_0008: stfld class Bless.Tools.Export.IExportBuilder Bless.Tools.Export.InterpretedPatternExporter::builder IL_000d: ldarg.0 - IL_000e: newobj instance void >::.ctor() - IL_0013: stfld > Bless.Tools.Export.InterpretedPatternExporter::positionStack + IL_000e: newobj instance void >::.ctor() + IL_0013: stfld > Bless.Tools.Export.InterpretedPatternExporter::positionStack IL_0018: ret } // end of method InterpretedPatternExporter::.ctor - // method line 20 + // method line 15 .method public final virtual hidebysig newslot instance default void Export (class [Bless.Buffers]Bless.Buffers.IBuffer buf, int64 start, int64 end, bool& cancelled) cil managed { - // Method begins at RVA 0x2148 + // Method begins at RVA 0x206c // Code size 431 (0x1af) .maxstack 4 .locals init ( @@ -513,11 +384,11 @@ IL_01ae: ret } // end of method InterpretedPatternExporter::Export - // method line 21 + // method line 16 .method public final virtual hidebysig newslot specialname instance default class Bless.Tools.Export.IExportBuilder get_Builder () cil managed { - // Method begins at RVA 0x2303 + // Method begins at RVA 0x2227 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -525,11 +396,11 @@ IL_0006: ret } // end of method InterpretedPatternExporter::get_Builder - // method line 22 + // method line 17 .method public final virtual hidebysig newslot specialname instance default int64 get_CurrentPosition () cil managed { - // Method begins at RVA 0x230b + // Method begins at RVA 0x222f // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -537,11 +408,11 @@ IL_0006: ret } // end of method InterpretedPatternExporter::get_CurrentPosition - // method line 23 + // method line 18 .method public final virtual hidebysig newslot specialname instance default string get_Pattern () cil managed { - // Method begins at RVA 0x2313 + // Method begins at RVA 0x2237 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -549,11 +420,11 @@ IL_0006: ret } // end of method InterpretedPatternExporter::get_Pattern - // method line 24 + // method line 19 .method public final virtual hidebysig newslot specialname instance default void set_Pattern (string 'value') cil managed { - // Method begins at RVA 0x231b + // Method begins at RVA 0x223f // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 @@ -562,11 +433,11 @@ IL_0007: ret } // end of method InterpretedPatternExporter::set_Pattern - // method line 25 + // method line 20 .method private hidebysig instance default int32 ExecuteCommand (class [mscorlib]System.Collections.Hashtable cmds) cil managed { - // Method begins at RVA 0x2324 + // Method begins at RVA 0x2248 // Code size 640 (0x280) .maxstack 4 .locals init ( @@ -777,38 +648,38 @@ IL_027f: ret } // end of method InterpretedPatternExporter::ExecuteCommand - // method line 26 + // method line 21 .method private hidebysig instance default void SavePosition (int64 cur) cil managed { - // Method begins at RVA 0x25b0 + // Method begins at RVA 0x24d4 // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld > Bless.Tools.Export.InterpretedPatternExporter::positionStack + IL_0001: ldfld > Bless.Tools.Export.InterpretedPatternExporter::positionStack IL_0006: ldarg.1 - IL_0007: callvirt instance void >::Push(!0) + IL_0007: callvirt instance void >::Push(!0) IL_000c: ret } // end of method InterpretedPatternExporter::SavePosition - // method line 27 + // method line 22 .method private hidebysig instance default int64 RestorePosition () cil managed { - // Method begins at RVA 0x25be + // Method begins at RVA 0x24e2 // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld > Bless.Tools.Export.InterpretedPatternExporter::positionStack - IL_0006: callvirt instance !0 >::Pop() + IL_0001: ldfld > Bless.Tools.Export.InterpretedPatternExporter::positionStack + IL_0006: callvirt instance !0 >::Pop() IL_000b: ret } // end of method InterpretedPatternExporter::RestorePosition - // method line 28 + // method line 23 .method private hidebysig instance default void RestartInterpreter () cil managed { - // Method begins at RVA 0x25cb + // Method begins at RVA 0x24ef // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 @@ -817,11 +688,11 @@ IL_0007: ret } // end of method InterpretedPatternExporter::RestartInterpreter - // method line 29 + // method line 24 .method private hidebysig instance default valuetype Bless.Tools.Export.InterpretedPatternExporter/Token NextToken () cil managed { - // Method begins at RVA 0x25d4 + // Method begins at RVA 0x24f8 // Code size 228 (0xe4) .maxstack 3 .locals init ( @@ -922,11 +793,11 @@ IL_00e3: ret } // end of method InterpretedPatternExporter::NextToken - // method line 30 + // method line 25 .method private hidebysig instance default valuetype Bless.Tools.Export.InterpretedPatternExporter/Token ParseString () cil managed { - // Method begins at RVA 0x26c4 + // Method begins at RVA 0x25e8 // Code size 214 (0xd6) .maxstack 3 .locals init ( @@ -1027,11 +898,11 @@ IL_00d5: ret } // end of method InterpretedPatternExporter::ParseString - // method line 31 + // method line 26 .method private hidebysig instance default valuetype Bless.Tools.Export.InterpretedPatternExporter/Token ParseEscapedCharacter () cil managed { - // Method begins at RVA 0x27a8 + // Method begins at RVA 0x26cc // Code size 152 (0x98) .maxstack 4 .locals init ( @@ -1107,11 +978,11 @@ IL_0097: ret } // end of method InterpretedPatternExporter::ParseEscapedCharacter - // method line 32 + // method line 27 .method private hidebysig instance default valuetype Bless.Tools.Export.InterpretedPatternExporter/Token ParseCommand (class [mscorlib]System.Collections.Hashtable cmds) cil managed { - // Method begins at RVA 0x284c + // Method begins at RVA 0x2770 // Code size 135 (0x87) .maxstack 3 .locals init ( @@ -1211,38 +1082,167 @@ .namespace Bless.Tools.Export { - .class interface public auto ansi abstract IExporter + .class public auto ansi beforefieldinit ExportOperation + extends [Bless.Util]Bless.Util.ThreadedAsyncOperation { + .field private class Bless.Tools.Export.IExporter exporter + .field private class [Bless.Buffers]Bless.Buffers.IBuffer buffer + .field private int64 rangeStart + .field private int64 rangeEnd + + // method line 28 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (class Bless.Tools.Export.IExporter ex, class [Bless.Buffers]Bless.Buffers.IBuffer buf, int64 start, int64 end, class [Bless.Util]Bless.Util.ProgressCallback progressCb, class [mscorlib]System.AsyncCallback endCb) cil managed + { + // Method begins at RVA 0x2803 + // Code size 41 (0x29) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.s 5 + IL_0003: ldarg.s 6 + IL_0005: ldc.i4.1 + IL_0006: call instance void class [Bless.Util]Bless.Util.ThreadedAsyncOperation::'.ctor'(class [Bless.Util]Bless.Util.ProgressCallback, class [mscorlib]System.AsyncCallback, bool) + IL_000b: ldarg.0 + IL_000c: ldarg.1 + IL_000d: stfld class Bless.Tools.Export.IExporter Bless.Tools.Export.ExportOperation::exporter + IL_0012: ldarg.0 + IL_0013: ldarg.2 + IL_0014: stfld class [Bless.Buffers]Bless.Buffers.IBuffer Bless.Tools.Export.ExportOperation::buffer + IL_0019: ldarg.0 + IL_001a: ldarg.3 + IL_001b: stfld int64 Bless.Tools.Export.ExportOperation::rangeStart + IL_0020: ldarg.0 + IL_0021: ldarg.s 4 + IL_0023: stfld int64 Bless.Tools.Export.ExportOperation::rangeEnd + IL_0028: ret + } // end of method ExportOperation::.ctor + + // method line 29 + .method public hidebysig specialname + instance default class Bless.Tools.Export.IExporter get_Exporter () cil managed + { + // Method begins at RVA 0x282d + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Tools.Export.IExporter Bless.Tools.Export.ExportOperation::exporter + IL_0006: ret + } // end of method ExportOperation::get_Exporter + + // method line 30 + .method private hidebysig + instance default float64 CalculatePercentDone () cil managed + { + // Method begins at RVA 0x2835 + // Code size 35 (0x23) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Tools.Export.IExporter Bless.Tools.Export.ExportOperation::exporter + IL_0006: callvirt instance int64 class Bless.Tools.Export.IExporter::get_CurrentPosition() + IL_000b: ldarg.0 + IL_000c: ldfld int64 Bless.Tools.Export.ExportOperation::rangeStart + IL_0011: sub + IL_0012: conv.r8 + IL_0013: ldarg.0 + IL_0014: ldfld int64 Bless.Tools.Export.ExportOperation::rangeEnd + IL_0019: ldarg.0 + IL_001a: ldfld int64 Bless.Tools.Export.ExportOperation::rangeStart + IL_001f: sub + IL_0020: conv.r8 + IL_0021: div + IL_0022: ret + } // end of method ExportOperation::CalculatePercentDone + + // method line 31 + .method family virtual hidebysig + instance default bool StartProgress () cil managed + { + // Method begins at RVA 0x2859 + // Code size 24 (0x18) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0006: ldarg.0 + IL_0007: call instance float64 class Bless.Tools.Export.ExportOperation::CalculatePercentDone() + IL_000c: box [mscorlib]System.Double + IL_0011: ldc.i4.0 + IL_0012: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) + IL_0017: ret + } // end of method ExportOperation::StartProgress + + // method line 32 + .method family virtual hidebysig + instance default bool UpdateProgress () cil managed + { + // Method begins at RVA 0x2872 + // Code size 24 (0x18) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0006: ldarg.0 + IL_0007: call instance float64 class Bless.Tools.Export.ExportOperation::CalculatePercentDone() + IL_000c: box [mscorlib]System.Double + IL_0011: ldc.i4.2 + IL_0012: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) + IL_0017: ret + } // end of method ExportOperation::UpdateProgress // method line 33 - .method public virtual hidebysig newslot abstract - instance default void Export (class [Bless.Buffers]Bless.Buffers.IBuffer buffer, int64 start, int64 end, bool& cancelled) cil managed + .method family virtual hidebysig + instance default bool EndProgress () cil managed { - // Method begins at RVA 0x0 - } // end of method IExporter::Export + // Method begins at RVA 0x288b + // Code size 24 (0x18) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Bless.Util]Bless.Util.ProgressCallback [Bless.Util]Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0006: ldarg.0 + IL_0007: call instance float64 class Bless.Tools.Export.ExportOperation::CalculatePercentDone() + IL_000c: box [mscorlib]System.Double + IL_0011: ldc.i4.1 + IL_0012: callvirt instance bool class [Bless.Util]Bless.Util.ProgressCallback::Invoke(object, valuetype [Bless.Util]Bless.Util.ProgressAction) + IL_0017: ret + } // end of method ExportOperation::EndProgress // method line 34 - .method public virtual hidebysig newslot abstract specialname - instance default class Bless.Tools.Export.IExportBuilder get_Builder () cil managed + .method family virtual hidebysig + instance default void DoOperation () cil managed { - // Method begins at RVA 0x0 - } // end of method IExporter::get_Builder + // Method begins at RVA 0x28a4 + // Code size 56 (0x38) + .maxstack 8 + IL_0000: ldstr "Starting export" + IL_0005: call void class [mscorlib]System.Console::WriteLine(string) + IL_000a: ldarg.0 + IL_000b: ldfld class Bless.Tools.Export.IExporter Bless.Tools.Export.ExportOperation::exporter + IL_0010: ldarg.0 + IL_0011: ldfld class [Bless.Buffers]Bless.Buffers.IBuffer Bless.Tools.Export.ExportOperation::buffer + IL_0016: ldarg.0 + IL_0017: ldfld int64 Bless.Tools.Export.ExportOperation::rangeStart + IL_001c: ldarg.0 + IL_001d: ldfld int64 Bless.Tools.Export.ExportOperation::rangeEnd + IL_0022: ldarg.0 + IL_0023: ldflda bool [Bless.Util]Bless.Util.ThreadedAsyncOperation::cancelled + IL_0028: callvirt instance void class Bless.Tools.Export.IExporter::Export(class [Bless.Buffers]Bless.Buffers.IBuffer, int64, int64, [out] bool&) + IL_002d: ldstr "Ending export" + IL_0032: call void class [mscorlib]System.Console::WriteLine(string) + IL_0037: ret + } // end of method ExportOperation::DoOperation // method line 35 - .method public virtual hidebysig newslot abstract specialname - instance default int64 get_CurrentPosition () cil managed + .method family virtual hidebysig + instance default void EndOperation () cil managed { - // Method begins at RVA 0x0 - } // end of method IExporter::get_CurrentPosition + // Method begins at RVA 0x28dd + // Code size 1 (0x1) + .maxstack 8 + IL_0000: ret + } // end of method ExportOperation::EndOperation - .property instance class Bless.Tools.Export.IExportBuilder Builder () - { - .get instance default class Bless.Tools.Export.IExportBuilder Bless.Tools.Export.IExporter::get_Builder () - } - .property instance int64 CurrentPosition () + .property instance class Bless.Tools.Export.IExporter Exporter () { - .get instance default int64 Bless.Tools.Export.IExporter::get_CurrentPosition () + .get instance default class Bless.Tools.Export.IExporter Bless.Tools.Export.ExportOperation::get_Exporter () } - } // end of class Bless.Tools.Export.IExporter + } // end of class Bless.Tools.Export.ExportOperation } PE32 Mono/.Net assembly: /usr/lib64/bless/Bless.Util.dll /usr/lib64/bless/Bless.Util.dll differs (PE32 executable (DLL) (console) Intel 80386, Mono/.Net assembly, for MS Windows) --- old /usr/lib64/bless/Bless.Util.dll (monodis) +++ new /usr/lib64/bless/Bless.Util.dll (monodis) @@ -27,2835 +27,2414 @@ .namespace Bless.Util { - .class public auto ansi sealed ProgressAction - extends [mscorlib]System.Enum - { - .field public specialname rtspecialname int32 value__ - .field public static literal valuetype Bless.Util.ProgressAction Show = int32(0x00000000) - .field public static literal valuetype Bless.Util.ProgressAction Hide = int32(0x00000001) - .field public static literal valuetype Bless.Util.ProgressAction Update = int32(0x00000002) - .field public static literal valuetype Bless.Util.ProgressAction Message = int32(0x00000003) - .field public static literal valuetype Bless.Util.ProgressAction Details = int32(0x00000004) - .field public static literal valuetype Bless.Util.ProgressAction Destroy = int32(0x00000005) - - } // end of class Bless.Util.ProgressAction -} - -.namespace Bless.Util -{ - .class public auto ansi sealed ProgressCallback - extends [mscorlib]System.MulticastDelegate + .class public auto ansi beforefieldinit ByteArray + extends [mscorlib]System.Object { // method line 1 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' (object 'object', native int 'method') runtime managed + .method private hidebysig specialname rtspecialname + instance default void '.ctor' () cil managed { - // Method begins at RVA 0x0 - // Disassembly of native methods is not supported - } // end of method ProgressCallback::.ctor + // Method begins at RVA 0x2050 + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void object::'.ctor'() + IL_0006: ret + } // end of method ByteArray::.ctor // method line 2 - .method public virtual hidebysig newslot - instance default bool Invoke (object o, valuetype Bless.Util.ProgressAction action) runtime managed + .method public static hidebysig + default unsigned int8[] FromString (string s, int32 baseNum) cil managed { - // Method begins at RVA 0x0 - // Disassembly of native methods is not supported - } // end of method ProgressCallback::Invoke + // Method begins at RVA 0x2058 + // Code size 167 (0xa7) + .maxstack 5 + .locals init ( + int32 V_0, + int32 V_1, + class [mscorlib]System.Collections.Generic.List`1 V_2, + int32 V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: callvirt instance int32 string::get_Length() + IL_0008: stloc.1 + IL_0009: newobj instance void class [mscorlib]System.Collections.Generic.List`1::'.ctor'() + IL_000e: stloc.2 + IL_000f: br IL_0018 + + IL_0014: ldloc.0 + IL_0015: ldc.i4.1 + IL_0016: add + IL_0017: stloc.0 + IL_0018: ldloc.0 + IL_0019: ldloc.1 + IL_001a: bge IL_002d + + IL_001f: ldarg.0 + IL_0020: ldloc.0 + IL_0021: callvirt instance char string::get_Chars(int32) + IL_0026: ldc.i4.s 0x20 + IL_0028: beq IL_0014 + + IL_002d: br IL_0099 + + IL_0032: ldc.i4.1 + IL_0033: stloc.3 + IL_0034: br IL_003d + + IL_0039: ldloc.3 + IL_003a: ldc.i4.1 + IL_003b: add + IL_003c: stloc.3 + IL_003d: ldloc.0 + IL_003e: ldloc.3 + IL_003f: add + IL_0040: ldloc.1 + IL_0041: bge IL_0063 + + IL_0046: ldarg.0 + IL_0047: ldloc.0 + IL_0048: ldloc.3 + IL_0049: add + IL_004a: callvirt instance char string::get_Chars(int32) + IL_004f: ldc.i4.s 0x20 + IL_0051: beq IL_0063 + + IL_0056: ldloc.3 + IL_0057: ldsfld int32[] Bless.Util.BaseConverter::DefaultMinDigits + IL_005c: ldarg.1 + IL_005d: ldelem.i4 + IL_005e: blt IL_0039 + + IL_0063: ldloc.2 + IL_0064: ldarg.0 + IL_0065: ldloc.0 + IL_0066: ldloc.0 + IL_0067: ldloc.3 + IL_0068: add + IL_0069: ldc.i4.1 + IL_006a: sub + IL_006b: ldarg.1 + IL_006c: call int64 class Bless.Util.BaseConverter::ConvertToNum(string, int32, int32, int32) + IL_0071: conv.u1 + IL_0072: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_0077: ldloc.0 + IL_0078: ldloc.3 + IL_0079: add + IL_007a: stloc.0 + IL_007b: br IL_0084 + + IL_0080: ldloc.0 + IL_0081: ldc.i4.1 + IL_0082: add + IL_0083: stloc.0 + IL_0084: ldloc.0 + IL_0085: ldloc.1 + IL_0086: bge IL_0099 + + IL_008b: ldarg.0 + IL_008c: ldloc.0 + IL_008d: callvirt instance char string::get_Chars(int32) + IL_0092: ldc.i4.s 0x20 + IL_0094: beq IL_0080 + + IL_0099: ldloc.0 + IL_009a: ldloc.1 + IL_009b: blt IL_0032 + + IL_00a0: ldloc.2 + IL_00a1: callvirt instance !0[] class [mscorlib]System.Collections.Generic.List`1::ToArray() + IL_00a6: ret + } // end of method ByteArray::FromString // method line 3 - .method public virtual hidebysig newslot - instance default class [mscorlib]System.IAsyncResult BeginInvoke (object o, valuetype Bless.Util.ProgressAction action, class [mscorlib]System.AsyncCallback callback, object 'object') runtime managed + .method public static hidebysig + default string ToString (unsigned int8[] ba, int32 baseNum) cil managed { - // Method begins at RVA 0x0 - // Disassembly of native methods is not supported - } // end of method ProgressCallback::BeginInvoke + // Method begins at RVA 0x210c + // Code size 99 (0x63) + .maxstack 4 + .locals init ( + class [mscorlib]System.Text.StringBuilder V_0, + unsigned int8 V_1, + unsigned int8[] V_2, + int32 V_3) + IL_0000: ldarg.0 + IL_0001: ldlen + IL_0002: conv.i4 + IL_0003: brtrue IL_000e - // method line 4 - .method public virtual hidebysig newslot - instance default bool EndInvoke (class [mscorlib]System.IAsyncResult result) runtime managed - { - // Method begins at RVA 0x0 - // Disassembly of native methods is not supported - } // end of method ProgressCallback::EndInvoke + IL_0008: ldsfld string [mscorlib]System.String::Empty + IL_000d: ret + IL_000e: ldarg.0 + IL_000f: ldlen + IL_0010: conv.i4 + IL_0011: ldsfld int32[] Bless.Util.BaseConverter::DefaultMinDigits + IL_0016: ldarg.1 + IL_0017: ldelem.i4 + IL_0018: ldc.i4.1 + IL_0019: add + IL_001a: mul + IL_001b: newobj instance void class [mscorlib]System.Text.StringBuilder::'.ctor'(int32) + IL_0020: stloc.0 + IL_0021: ldarg.0 + IL_0022: stloc.2 + IL_0023: ldc.i4.0 + IL_0024: stloc.3 + IL_0025: br IL_004a - } // end of class Bless.Util.ProgressCallback + IL_002a: ldloc.2 + IL_002b: ldloc.3 + IL_002c: ldelem.u1 + IL_002d: stloc.1 + IL_002e: ldloc.0 + IL_002f: ldloc.1 + IL_0030: conv.i8 + IL_0031: ldarg.1 + IL_0032: call string class Bless.Util.BaseConverter::ConvertToString(int64, int32) + IL_0037: callvirt instance class [mscorlib]System.Text.StringBuilder class [mscorlib]System.Text.StringBuilder::Append(string) + IL_003c: pop + IL_003d: ldloc.0 + IL_003e: ldc.i4.s 0x20 + IL_0040: callvirt instance class [mscorlib]System.Text.StringBuilder class [mscorlib]System.Text.StringBuilder::Append(char) + IL_0045: pop + IL_0046: ldloc.3 + IL_0047: ldc.i4.1 + IL_0048: add + IL_0049: stloc.3 + IL_004a: ldloc.3 + IL_004b: ldloc.2 + IL_004c: ldlen + IL_004d: conv.i4 + IL_004e: blt IL_002a + + IL_0053: ldloc.0 + IL_0054: ldc.i4.0 + IL_0055: ldloc.0 + IL_0056: callvirt instance int32 class [mscorlib]System.Text.StringBuilder::get_Length() + IL_005b: ldc.i4.1 + IL_005c: sub + IL_005d: callvirt instance string class [mscorlib]System.Text.StringBuilder::ToString(int32, int32) + IL_0062: ret + } // end of method ByteArray::ToString + + } // end of class Bless.Util.ByteArray } .namespace Bless.Util { - .class public auto ansi beforefieldinit IntervalTree`1<(class Bless.Util.IRange) T> - extends class Bless.Util.RedBlackTree`2 + .class public auto ansi beforefieldinit TempFile + extends [mscorlib]System.Object { - .field private class [mscorlib]System.Collections.Generic.List`1 searchResults - // method line 5 - .method public hidebysig specialname rtspecialname + // method line 4 + .method private hidebysig specialname rtspecialname instance default void '.ctor' () cil managed { - // Method begins at RVA 0x2a0e - // Code size 12 (0xc) + // Method begins at RVA 0x217b + // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void class Bless.Util.IntervalTree`1/ITNodeFactory::'.ctor'() - IL_0006: call instance void class Bless.Util.RedBlackTree`2::'.ctor'(class Bless.Util.RedBlackTree`2/INodeFactory) - IL_000b: ret - } // end of method IntervalTree`1::.ctor + IL_0001: call instance void object::'.ctor'() + IL_0006: ret + } // end of method TempFile::.ctor - // method line 6 - .method private hidebysig - instance default bool RangesOverlap (class Bless.Util.IRange r1, class Bless.Util.IRange r2) cil managed + // method line 5 + .method public static hidebysig + default string CreateName (string dir) cil managed { - // Method begins at RVA 0x2a1c - // Code size 110 (0x6e) - .maxstack 2 - IL_0000: ldarg.1 - IL_0001: callvirt instance int64 class Bless.Util.IRange::get_Start() - IL_0006: ldarg.2 - IL_0007: callvirt instance int64 class Bless.Util.IRange::get_Start() - IL_000c: blt IL_0024 - - IL_0011: ldarg.1 - IL_0012: callvirt instance int64 class Bless.Util.IRange::get_Start() - IL_0017: ldarg.2 - IL_0018: callvirt instance int64 class Bless.Util.IRange::get_End() - IL_001d: bgt IL_0024 + // Method begins at RVA 0x2184 + // Code size 132 (0x84) + .maxstack 4 + .locals init ( + string V_0, + class [mscorlib]System.Random V_1, + int32 V_2) + IL_0000: newobj instance void class [mscorlib]System.Random::'.ctor'() + IL_0005: stloc.1 + IL_0006: ldsfld string [mscorlib]System.String::Empty + IL_000b: stloc.0 + IL_000c: ldc.i4.0 + IL_000d: stloc.2 + IL_000e: br IL_0039 - IL_0022: ldc.i4.1 - IL_0023: ret - IL_0024: ldarg.1 - IL_0025: callvirt instance int64 class Bless.Util.IRange::get_End() - IL_002a: ldarg.2 - IL_002b: callvirt instance int64 class Bless.Util.IRange::get_Start() - IL_0030: blt IL_0048 + IL_0013: ldloc.0 + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 class [mscorlib]System.Random::Next() + IL_001a: ldc.i4.s 0x1a + IL_001c: rem + IL_001d: ldc.i4.s 0x61 + IL_001f: call int32 class [mscorlib]System.Convert::ToInt32(char) + IL_0024: add + IL_0025: call char class [mscorlib]System.Convert::ToChar(int32) + IL_002a: box [mscorlib]System.Char + IL_002f: call string string::Concat(object, object) + IL_0034: stloc.0 + IL_0035: ldloc.2 + IL_0036: ldc.i4.1 + IL_0037: add + IL_0038: stloc.2 + IL_0039: ldloc.2 + IL_003a: ldc.i4.8 + IL_003b: blt IL_0013 - IL_0035: ldarg.1 - IL_0036: callvirt instance int64 class Bless.Util.IRange::get_End() - IL_003b: ldarg.2 - IL_003c: callvirt instance int64 class Bless.Util.IRange::get_End() - IL_0041: bgt IL_0048 + IL_0040: ldc.i4.4 + IL_0041: newarr [mscorlib]System.Object + IL_0046: dup + IL_0047: ldc.i4.0 + IL_0048: ldarg.0 + IL_0049: stelem.ref + IL_004a: dup + IL_004b: ldc.i4.1 + IL_004c: ldsfld char [mscorlib]System.IO.Path::DirectorySeparatorChar + IL_0051: box [mscorlib]System.Char + IL_0056: stelem.ref + IL_0057: dup + IL_0058: ldc.i4.2 + IL_0059: ldloc.0 + IL_005a: stelem.ref + IL_005b: dup + IL_005c: ldc.i4.3 + IL_005d: ldstr ".bless" + IL_0062: stelem.ref + IL_0063: call string string::Concat(object[]) + IL_0068: call bool class [mscorlib]System.IO.File::Exists(string) + IL_006d: brtrue IL_0006 - IL_0046: ldc.i4.1 - IL_0047: ret - IL_0048: ldarg.1 - IL_0049: callvirt instance int64 class Bless.Util.IRange::get_Start() - IL_004e: ldarg.2 - IL_004f: callvirt instance int64 class Bless.Util.IRange::get_Start() - IL_0054: bgt IL_006c + IL_0072: ldarg.0 + IL_0073: ldloc.0 + IL_0074: ldstr ".bless" + IL_0079: call string string::Concat(string, string) + IL_007e: call string class [mscorlib]System.IO.Path::Combine(string, string) + IL_0083: ret + } // end of method TempFile::CreateName - IL_0059: ldarg.1 - IL_005a: callvirt instance int64 class Bless.Util.IRange::get_End() - IL_005f: ldarg.2 - IL_0060: callvirt instance int64 class Bless.Util.IRange::get_End() - IL_0065: blt IL_006c + } // end of class Bless.Util.TempFile +} - IL_006a: ldc.i4.1 - IL_006b: ret - IL_006c: ldc.i4.0 - IL_006d: ret - } // end of method IntervalTree`1::RangesOverlap +.namespace Bless.Util +{ + .class public auto ansi sealed ProgressAction + extends [mscorlib]System.Enum + { + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype Bless.Util.ProgressAction Show = int32(0x00000000) + .field public static literal valuetype Bless.Util.ProgressAction Hide = int32(0x00000001) + .field public static literal valuetype Bless.Util.ProgressAction Update = int32(0x00000002) + .field public static literal valuetype Bless.Util.ProgressAction Message = int32(0x00000003) + .field public static literal valuetype Bless.Util.ProgressAction Details = int32(0x00000004) + .field public static literal valuetype Bless.Util.ProgressAction Destroy = int32(0x00000005) + + } // end of class Bless.Util.ProgressAction +} + +.namespace Bless.Util +{ + .class public auto ansi sealed ProgressCallback + extends [mscorlib]System.MulticastDelegate + { + + // method line 6 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (object 'object', native int 'method') runtime managed + { + // Method begins at RVA 0x0 + // Disassembly of native methods is not supported + } // end of method ProgressCallback::.ctor // method line 7 - .method family virtual hidebysig - instance default void AddToValues (class Bless.Util.RedBlackTree`2/INode n, !T val) cil managed + .method public virtual hidebysig newslot + instance default bool Invoke (object o, valuetype Bless.Util.ProgressAction action) runtime managed { - // Method begins at RVA 0x2a96 - // Code size 49 (0x31) + // Method begins at RVA 0x0 + // Disassembly of native methods is not supported + } // end of method ProgressCallback::Invoke + + // method line 8 + .method public virtual hidebysig newslot + instance default class [mscorlib]System.IAsyncResult BeginInvoke (object o, valuetype Bless.Util.ProgressAction action, class [mscorlib]System.AsyncCallback callback, object 'object') runtime managed + { + // Method begins at RVA 0x0 + // Disassembly of native methods is not supported + } // end of method ProgressCallback::BeginInvoke + + // method line 9 + .method public virtual hidebysig newslot + instance default bool EndInvoke (class [mscorlib]System.IAsyncResult result) runtime managed + { + // Method begins at RVA 0x0 + // Disassembly of native methods is not supported + } // end of method ProgressCallback::EndInvoke + + } // end of class Bless.Util.ProgressCallback +} + +.namespace Bless.Util +{ + .class public auto ansi beforefieldinit RangeCollection + extends [mscorlib]System.Collections.ArrayList + { + + // method line 10 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' () cil managed + { + // Method begins at RVA 0x2214 + // Code size 19 (0x13) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: ldarg.2 - IL_0003: call instance void class Bless.Util.RedBlackTree`2::AddToValues(class Bless.Util.RedBlackTree`2/INode, !1) - IL_0008: ldarg.1 - IL_0009: isinst class Bless.Util.IntervalTree`1/ITNode - IL_000e: ldarg.1 - IL_000f: isinst class Bless.Util.IntervalTree`1/ITNode - IL_0014: callvirt instance int64 class Bless.Util.IntervalTree`1/ITNode::get_Max() - IL_0019: ldarga.s 2 - IL_001b: constrained. !0 - IL_0021: callvirt instance int64 class Bless.Util.IRange::get_End() - IL_0026: call int64 class [mscorlib]System.Math::Max(int64, int64) - IL_002b: callvirt instance void class Bless.Util.IntervalTree`1/ITNode::set_Max(int64) - IL_0030: ret - } // end of method IntervalTree`1::AddToValues + IL_0001: call instance void class [mscorlib]System.Collections.ArrayList::'.ctor'() + IL_0006: ldarg.0 + IL_0007: newobj instance void class Bless.Util.Range::'.ctor'() + IL_000c: callvirt instance int32 class [mscorlib]System.Collections.ArrayList::Add(object) + IL_0011: pop + IL_0012: ret + } // end of method RangeCollection::.ctor - // method line 8 - .method public hidebysig - instance default void Insert (!T r) cil managed + // method line 11 + .method public hidebysig specialname + instance default class Bless.Util.Range get_LastAdded () cil managed { - // Method begins at RVA 0x2ac8 - // Code size 21 (0x15) + // Method begins at RVA 0x2228 + // Code size 20 (0x14) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldarga.s 1 - IL_0003: constrained. !0 - IL_0009: callvirt instance int64 class Bless.Util.IRange::get_Start() - IL_000e: ldarg.1 - IL_000f: callvirt instance void class Bless.Util.RedBlackTree`2::Insert(!0, !1) - IL_0014: ret - } // end of method IntervalTree`1::Insert + IL_0001: ldarg.0 + IL_0002: callvirt instance int32 class [mscorlib]System.Collections.ArrayList::get_Count() + IL_0007: ldc.i4.1 + IL_0008: sub + IL_0009: callvirt instance object class [mscorlib]System.Collections.ArrayList::get_Item(int32) + IL_000e: castclass Bless.Util.Range + IL_0013: ret + } // end of method RangeCollection::get_LastAdded - // method line 9 + // method line 12 .method public hidebysig - instance default class [mscorlib]System.Collections.Generic.IList`1 SearchOverlap (class Bless.Util.IRange r) cil managed + instance default void UpdateRange (class Bless.Util.Range oldRange, class Bless.Util.Range newRange) cil managed { - // Method begins at RVA 0x2ae0 - // Code size 70 (0x46) + // Method begins at RVA 0x2240 + // Code size 24 (0x18) .maxstack 3 .locals init ( - object V_0, - bool V_1, - class [mscorlib]System.Collections.Generic.IList`1 V_2) + int32 V_0) IL_0000: ldarg.0 - IL_0001: ldfld object class Bless.Util.RedBlackTree`2::lockObj - IL_0006: stloc.0 - IL_0007: ldc.i4.0 - IL_0008: stloc.1 - .try { // 0 - IL_0009: ldloc.0 - IL_000a: ldloca.s 1 - IL_000c: call void class [mscorlib]System.Threading.Monitor::Enter(object, [out] bool&) - IL_0011: ldarg.0 - IL_0012: newobj instance void class [mscorlib]System.Collections.Generic.List`1::'.ctor'() - IL_0017: stfld class [mscorlib]System.Collections.Generic.List`1 class Bless.Util.IntervalTree`1::searchResults - IL_001c: ldarg.0 - IL_001d: ldarg.0 - IL_001e: ldfld class Bless.Util.RedBlackTree`2/INode class Bless.Util.RedBlackTree`2::root - IL_0023: isinst class Bless.Util.IntervalTree`1/ITNode - IL_0028: ldarg.1 - IL_0029: call instance void class Bless.Util.IntervalTree`1::SearchOverlap(class Bless.Util.IntervalTree`1/ITNode, class Bless.Util.IRange) - IL_002e: ldarg.0 - IL_002f: ldfld class [mscorlib]System.Collections.Generic.List`1 class Bless.Util.IntervalTree`1::searchResults - IL_0034: stloc.2 - IL_0035: leave IL_0044 + IL_0001: ldarg.1 + IL_0002: callvirt instance int32 class [mscorlib]System.Collections.ArrayList::IndexOf(object) + IL_0007: stloc.0 + IL_0008: ldarg.0 + IL_0009: ldloc.0 + IL_000a: callvirt instance void class [mscorlib]System.Collections.ArrayList::RemoveAt(int32) + IL_000f: ldarg.0 + IL_0010: ldloc.0 + IL_0011: ldarg.2 + IL_0012: callvirt instance void class [mscorlib]System.Collections.ArrayList::Insert(int32, object) + IL_0017: ret + } // end of method RangeCollection::UpdateRange - } // end .try 0 - finally { // 0 - IL_003a: ldloc.1 - IL_003b: brfalse.s IL_0043 - - IL_003d: ldloc.0 - IL_003e: call void class [mscorlib]System.Threading.Monitor::Exit(object) - IL_0043: endfinally - } // end handler 0 - IL_0044: ldloc.2 - IL_0045: ret - } // end of method IntervalTree`1::SearchOverlap - - // method line 10 - .method private hidebysig - instance default void SearchOverlap (class Bless.Util.IntervalTree`1/ITNode n, class Bless.Util.IRange r) cil managed - { - // Method begins at RVA 0x2b44 - // Code size 182 (0xb6) - .maxstack 3 - .locals init ( - !T V_0, - class [mscorlib]System.Collections.Generic.IEnumerator`1 V_1) - IL_0000: ldarg.1 - IL_0001: brfalse IL_00b5 - - IL_0006: ldarg.1 - IL_0007: callvirt instance int64 class Bless.Util.IntervalTree`1/ITNode::get_Max() - IL_000c: ldarg.2 - IL_000d: callvirt instance int64 class Bless.Util.IRange::get_Start() - IL_0012: blt IL_0087 - - IL_0017: ldarg.1 - IL_0018: callvirt instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::get_Left() - IL_001d: brfalse IL_0034 - - IL_0022: ldarg.0 - IL_0023: ldarg.1 - IL_0024: callvirt instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::get_Left() - IL_0029: isinst class Bless.Util.IntervalTree`1/ITNode - IL_002e: ldarg.2 - IL_002f: call instance void class Bless.Util.IntervalTree`1::SearchOverlap(class Bless.Util.IntervalTree`1/ITNode, class Bless.Util.IRange) - IL_0034: ldarg.1 - IL_0035: callvirt instance class [mscorlib]System.Collections.Generic.IList`1 class Bless.Util.IntervalTree`1/ITNode::get_Values() - IL_003a: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_003f: stloc.1 - .try { // 0 - IL_0040: br IL_006a - - IL_0045: ldloc.1 - IL_0046: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() - IL_004b: stloc.0 - IL_004c: ldarg.0 - IL_004d: ldloc.0 - IL_004e: box !0 - IL_0053: ldarg.2 - IL_0054: call instance bool class Bless.Util.IntervalTree`1::RangesOverlap(class Bless.Util.IRange, class Bless.Util.IRange) - IL_0059: brfalse IL_006a - - IL_005e: ldarg.0 - IL_005f: ldfld class [mscorlib]System.Collections.Generic.List`1 class Bless.Util.IntervalTree`1::searchResults - IL_0064: ldloc.0 - IL_0065: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) - IL_006a: ldloc.1 - IL_006b: callvirt instance bool class [mscorlib]System.Collections.IEnumerator::MoveNext() - IL_0070: brtrue IL_0045 - - IL_0075: leave IL_0087 - - } // end .try 0 - finally { // 0 - IL_007a: ldloc.1 - IL_007b: brfalse IL_0086 - - IL_0080: ldloc.1 - IL_0081: callvirt instance void class [mscorlib]System.IDisposable::Dispose() - IL_0086: endfinally - } // end handler 0 - IL_0087: ldarg.1 - IL_0088: callvirt instance int64 class Bless.Util.IntervalTree`1/ITNode::get_Key() - IL_008d: ldarg.2 - IL_008e: callvirt instance int64 class Bless.Util.IRange::get_End() - IL_0093: bgt IL_00b5 - - IL_0098: ldarg.1 - IL_0099: callvirt instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::get_Right() - IL_009e: brfalse IL_00b5 - - IL_00a3: ldarg.0 - IL_00a4: ldarg.1 - IL_00a5: callvirt instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::get_Right() - IL_00aa: isinst class Bless.Util.IntervalTree`1/ITNode - IL_00af: ldarg.2 - IL_00b0: call instance void class Bless.Util.IntervalTree`1::SearchOverlap(class Bless.Util.IntervalTree`1/ITNode, class Bless.Util.IRange) - IL_00b5: ret - } // end of method IntervalTree`1::SearchOverlap - - // method line 11 + // method line 13 .method public hidebysig - instance default void Delete (!T r) cil managed + instance default void Clear () cil managed { - // Method begins at RVA 0x2c18 - // Code size 81 (0x51) - .maxstack 2 - .locals init ( - class Bless.Util.IntervalTree`1/ITNode V_0) + // Method begins at RVA 0x2264 + // Code size 19 (0x13) + .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldarga.s 1 - IL_0003: constrained. !0 - IL_0009: callvirt instance int64 class Bless.Util.IRange::get_Start() - IL_000e: callvirt instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.RedBlackTree`2::SearchNode(!0) - IL_0013: isinst class Bless.Util.IntervalTree`1/ITNode - IL_0018: stloc.0 - IL_0019: ldloc.0 - IL_001a: brtrue IL_0020 - - IL_001f: ret - IL_0020: ldloc.0 - IL_0021: callvirt instance class [mscorlib]System.Collections.Generic.IList`1 class Bless.Util.IntervalTree`1/ITNode::get_Values() - IL_0026: ldarg.1 - IL_0027: callvirt instance bool class [mscorlib]System.Collections.Generic.ICollection`1::Remove(!0) - IL_002c: pop - IL_002d: ldloc.0 - IL_002e: callvirt instance class [mscorlib]System.Collections.Generic.IList`1 class Bless.Util.IntervalTree`1/ITNode::get_Values() - IL_0033: callvirt instance int32 class [mscorlib]System.Collections.Generic.ICollection`1::get_Count() - IL_0038: brtrue IL_0050 + IL_0001: call instance void class [mscorlib]System.Collections.ArrayList::Clear() + IL_0006: ldarg.0 + IL_0007: newobj instance void class Bless.Util.Range::'.ctor'() + IL_000c: callvirt instance int32 class [mscorlib]System.Collections.ArrayList::Add(object) + IL_0011: pop + IL_0012: ret + } // end of method RangeCollection::Clear - IL_003d: ldarg.0 - IL_003e: ldarga.s 1 - IL_0040: constrained. !0 - IL_0046: callvirt instance int64 class Bless.Util.IRange::get_Start() - IL_004b: callvirt instance void class Bless.Util.RedBlackTree`2::Delete(!0) - IL_0050: ret - } // end of method IntervalTree`1::Delete + .property instance class Bless.Util.Range LastAdded () + { + .get instance default class Bless.Util.Range Bless.Util.RangeCollection::get_LastAdded () + } + } // end of class Bless.Util.RangeCollection +} - .class nested family auto ansi beforefieldinit ITNode<(class Bless.Util.IRange) T> +.namespace Bless.Util +{ + .class public auto ansi sealed beforefieldinit ConfigureDefines extends [mscorlib]System.Object - implements class Bless.Util.RedBlackTree`2/INode { - .field private int64 max - .field private int64 key - .field private class [mscorlib]System.Collections.Generic.IList`1 values - .field private class Bless.Util.RedBlackTree`2/INode left - .field private class Bless.Util.RedBlackTree`2/INode right - .field private valuetype Bless.Util.RedBlackTree`2/Color color + { + .field public static literal string LOCALE_DIR = "/usr/share/locale/" + .field public static literal string PACKAGE = "bless" + .field public static literal string VERSION = "0.6.2" + .field public static literal string GETTEXT_PACKAGE = "bless" + .field public static literal string DATADIR = "/usr/share/bless/" - // method line 12 + // method line 14 .method public hidebysig specialname rtspecialname - instance default void '.ctor' (int64 key, !T val, valuetype Bless.Util.RedBlackTree`2/Color color) cil managed - { - // Method begins at RVA 0x2c75 - // Code size 63 (0x3f) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void object::'.ctor'() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld int64 class Bless.Util.IntervalTree`1/ITNode::key - IL_000d: ldarg.0 - IL_000e: newobj instance void class [mscorlib]System.Collections.Generic.List`1::'.ctor'() - IL_0013: stfld class [mscorlib]System.Collections.Generic.IList`1 class Bless.Util.IntervalTree`1/ITNode::values - IL_0018: ldarg.0 - IL_0019: ldfld class [mscorlib]System.Collections.Generic.IList`1 class Bless.Util.IntervalTree`1/ITNode::values - IL_001e: ldarg.2 - IL_001f: callvirt instance void class [mscorlib]System.Collections.Generic.ICollection`1::Add(!0) - IL_0024: ldarg.0 - IL_0025: ldarg.3 - IL_0026: stfld valuetype Bless.Util.RedBlackTree`2/Color class Bless.Util.IntervalTree`1/ITNode::color - IL_002b: ldarg.0 - IL_002c: ldarga.s 2 - IL_002e: constrained. !0 - IL_0034: callvirt instance int64 class Bless.Util.IRange::get_End() - IL_0039: stfld int64 class Bless.Util.IntervalTree`1/ITNode::max - IL_003e: ret - } // end of method ITNode::.ctor - - // method line 13 - .method public hidebysig specialname - instance default int64 get_Max () cil managed + instance default void '.ctor' () cil managed { - // Method begins at RVA 0x2cb5 + // Method begins at RVA 0x2278 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int64 class Bless.Util.IntervalTree`1/ITNode::max + IL_0001: call instance void object::'.ctor'() IL_0006: ret - } // end of method ITNode::get_Max + } // end of method ConfigureDefines::.ctor - // method line 14 - .method public hidebysig specialname - instance default void set_Max (int64 'value') cil managed - { - // Method begins at RVA 0x2cbd - // Code size 8 (0x8) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld int64 class Bless.Util.IntervalTree`1/ITNode::max - IL_0007: ret - } // end of method ITNode::set_Max + } // end of class Bless.Util.ConfigureDefines +} + + .class public auto ansi beforefieldinit Portable + extends [mscorlib]System.Object + { // method line 15 - .method public final virtual hidebysig newslot specialname - instance default int64 get_Key () cil managed + .method public hidebysig specialname rtspecialname + instance default void '.ctor' () cil managed { - // Method begins at RVA 0x2cc6 + // Method begins at RVA 0x2280 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int64 class Bless.Util.IntervalTree`1/ITNode::key + IL_0001: call instance void object::'.ctor'() IL_0006: ret - } // end of method ITNode::get_Key + } // end of method Portable::.ctor // method line 16 - .method public final virtual hidebysig newslot specialname - instance default void set_Key (int64 'value') cil managed + .method public static hidebysig + default int64 GetAvailableMemory () cil managed { - // Method begins at RVA 0x2cce - // Code size 8 (0x8) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld int64 class Bless.Util.IntervalTree`1/ITNode::key - IL_0007: ret - } // end of method ITNode::set_Key + // Method begins at RVA 0x2288 + // Code size 22 (0x16) + .maxstack 2 + .locals init ( + int64 V_0, + int64 V_1, + int64 V_2) + IL_0000: ldc.i4.s 0x56 + IL_0002: call int64 class [Mono.Posix]Mono.Unix.Native.Syscall::sysconf(valuetype [Mono.Posix]Mono.Unix.Native.SysconfName) + IL_0007: stloc.0 + IL_0008: ldc.i4.s 0x1e + IL_000a: call int64 class [Mono.Posix]Mono.Unix.Native.Syscall::sysconf(valuetype [Mono.Posix]Mono.Unix.Native.SysconfName) + IL_000f: stloc.1 + IL_0010: ldloc.0 + IL_0011: ldloc.1 + IL_0012: mul + IL_0013: stloc.2 + IL_0014: ldloc.2 + IL_0015: ret + } // end of method Portable::GetAvailableMemory // method line 17 - .method public final virtual hidebysig newslot specialname - instance default class [mscorlib]System.Collections.Generic.IList`1 get_Values () cil managed + .method public static hidebysig + default int64 GetAvailableDiskSpace (string path) cil managed { - // Method begins at RVA 0x2cd7 - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.Collections.Generic.IList`1 class Bless.Util.IntervalTree`1/ITNode::values - IL_0006: ret - } // end of method ITNode::get_Values + // Method begins at RVA 0x22ac + // Code size 35 (0x23) + .maxstack 2 + .locals init ( + valuetype [Mono.Posix]Mono.Unix.Native.Statvfs V_0, + int64 V_1) + IL_0000: ldloca.s 0 + IL_0002: initobj [Mono.Posix]Mono.Unix.Native.Statvfs + IL_0008: ldarg.0 + IL_0009: ldloca.s 0 + IL_000b: call int32 class [Mono.Posix]Mono.Unix.Native.Syscall::statvfs(string, [out] valuetype [Mono.Posix]Mono.Unix.Native.Statvfs&) + IL_0010: pop + IL_0011: ldloca.s 0 + IL_0013: ldfld unsigned int64 [Mono.Posix]Mono.Unix.Native.Statvfs::f_bavail + IL_0018: ldloca.s 0 + IL_001a: ldfld unsigned int64 [Mono.Posix]Mono.Unix.Native.Statvfs::f_bsize + IL_001f: mul + IL_0020: stloc.1 + IL_0021: ldloc.1 + IL_0022: ret + } // end of method Portable::GetAvailableDiskSpace + + } // end of class Portable + +.namespace Bless.Util +{ + .class public auto ansi abstract beforefieldinit ThreadedAsyncOperation + extends [mscorlib]System.Object + { + .field family bool cancelled + .field family class Bless.Util.ProgressCallback progressCallback + .field family class [mscorlib]System.AsyncCallback opFinishedCallback + .field family bool activateProgress + .field private class [mscorlib]System.Exception threadException + .field private valuetype Bless.Util.ThreadedAsyncOperation/OperationResult opResult + .field private bool useGLibIdle + .field private class [mscorlib]System.Threading.Timer showProgressTimer + .field private class [mscorlib]System.Threading.Timer progressTimer // method line 18 - .method public final virtual hidebysig newslot specialname - instance default void set_Values (class [mscorlib]System.Collections.Generic.IList`1 'value') cil managed + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (class Bless.Util.ProgressCallback pc, class [mscorlib]System.AsyncCallback ac, bool glibIdle) cil managed { - // Method begins at RVA 0x2cdf - // Code size 14 (0xe) - .maxstack 8 + // Method begins at RVA 0x22dc + // Code size 94 (0x5e) + .maxstack 5 IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Collections.Generic.IList`1 class Bless.Util.IntervalTree`1/ITNode::values - IL_0007: ldarg.0 - IL_0008: call instance void class Bless.Util.IntervalTree`1/ITNode::UpdateMax() - IL_000d: ret - } // end of method ITNode::set_Values + IL_0001: call instance void object::'.ctor'() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Bless.Util.ProgressCallback Bless.Util.ThreadedAsyncOperation::progressCallback + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [mscorlib]System.AsyncCallback Bless.Util.ThreadedAsyncOperation::opFinishedCallback + IL_0014: ldarg.0 + IL_0015: ldarg.3 + IL_0016: stfld bool Bless.Util.ThreadedAsyncOperation::useGLibIdle + IL_001b: ldarg.0 + IL_001c: ldc.i4.0 + IL_001d: stfld bool Bless.Util.ThreadedAsyncOperation::cancelled + IL_0022: ldarg.0 + IL_0023: ldc.i4.1 + IL_0024: stfld bool Bless.Util.ThreadedAsyncOperation::activateProgress + IL_0029: ldarg.0 + IL_002a: ldarg.0 + IL_002b: ldftn instance void class Bless.Util.ThreadedAsyncOperation::ShowProgressTimerExpired(object) + IL_0031: newobj instance void class [mscorlib]System.Threading.TimerCallback::'.ctor'(object, native int) + IL_0036: ldnull + IL_0037: ldc.i4.m1 + IL_0038: ldc.i4.m1 + IL_0039: newobj instance void class [mscorlib]System.Threading.Timer::'.ctor'(class [mscorlib]System.Threading.TimerCallback, object, int32, int32) + IL_003e: stfld class [mscorlib]System.Threading.Timer Bless.Util.ThreadedAsyncOperation::showProgressTimer + IL_0043: ldarg.0 + IL_0044: ldarg.0 + IL_0045: ldftn instance void class Bless.Util.ThreadedAsyncOperation::ProgressTimerExpired(object) + IL_004b: newobj instance void class [mscorlib]System.Threading.TimerCallback::'.ctor'(object, native int) + IL_0050: ldnull + IL_0051: ldc.i4.m1 + IL_0052: ldc.i4.m1 + IL_0053: newobj instance void class [mscorlib]System.Threading.Timer::'.ctor'(class [mscorlib]System.Threading.TimerCallback, object, int32, int32) + IL_0058: stfld class [mscorlib]System.Threading.Timer Bless.Util.ThreadedAsyncOperation::progressTimer + IL_005d: ret + } // end of method ThreadedAsyncOperation::.ctor // method line 19 - .method public final virtual hidebysig newslot specialname - instance default class Bless.Util.RedBlackTree`2/INode get_Left () cil managed + .method public hidebysig specialname + instance default valuetype Bless.Util.ThreadedAsyncOperation/OperationResult get_Result () cil managed { - // Method begins at RVA 0x2cee + // Method begins at RVA 0x2346 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::left + IL_0001: ldfld valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Util.ThreadedAsyncOperation::opResult IL_0006: ret - } // end of method ITNode::get_Left + } // end of method ThreadedAsyncOperation::get_Result // method line 20 - .method public final virtual hidebysig newslot specialname - instance default void set_Left (class Bless.Util.RedBlackTree`2/INode 'value') cil managed + .method public hidebysig specialname + instance default void set_Result (valuetype Bless.Util.ThreadedAsyncOperation/OperationResult 'value') cil managed { - // Method begins at RVA 0x2cf6 - // Code size 14 (0xe) + // Method begins at RVA 0x234e + // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::left - IL_0007: ldarg.0 - IL_0008: call instance void class Bless.Util.IntervalTree`1/ITNode::UpdateMax() - IL_000d: ret - } // end of method ITNode::set_Left + IL_0002: stfld valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Util.ThreadedAsyncOperation::opResult + IL_0007: ret + } // end of method ThreadedAsyncOperation::set_Result // method line 21 - .method public final virtual hidebysig newslot specialname - instance default class Bless.Util.RedBlackTree`2/INode get_Right () cil managed + .method public hidebysig specialname + instance default class [mscorlib]System.Exception get_ThreadException () cil managed { - // Method begins at RVA 0x2d05 + // Method begins at RVA 0x2357 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::right + IL_0001: ldfld class [mscorlib]System.Exception Bless.Util.ThreadedAsyncOperation::threadException IL_0006: ret - } // end of method ITNode::get_Right + } // end of method ThreadedAsyncOperation::get_ThreadException // method line 22 - .method public final virtual hidebysig newslot specialname - instance default void set_Right (class Bless.Util.RedBlackTree`2/INode 'value') cil managed + .method public hidebysig specialname + instance default void set_ThreadException (class [mscorlib]System.Exception 'value') cil managed { - // Method begins at RVA 0x2d0d - // Code size 14 (0xe) + // Method begins at RVA 0x235f + // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: stfld class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::right - IL_0007: ldarg.0 - IL_0008: call instance void class Bless.Util.IntervalTree`1/ITNode::UpdateMax() - IL_000d: ret - } // end of method ITNode::set_Right + IL_0002: stfld class [mscorlib]System.Exception Bless.Util.ThreadedAsyncOperation::threadException + IL_0007: ret + } // end of method ThreadedAsyncOperation::set_ThreadException // method line 23 - .method public final virtual hidebysig newslot specialname - instance default valuetype Bless.Util.RedBlackTree`2/Color get_Color () cil managed + .method family virtual hidebysig newslot abstract + instance default bool StartProgress () cil managed { - // Method begins at RVA 0x2d1c - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld valuetype Bless.Util.RedBlackTree`2/Color class Bless.Util.IntervalTree`1/ITNode::color - IL_0006: ret - } // end of method ITNode::get_Color + // Method begins at RVA 0x0 + } // end of method ThreadedAsyncOperation::StartProgress // method line 24 - .method public final virtual hidebysig newslot specialname - instance default void set_Color (valuetype Bless.Util.RedBlackTree`2/Color 'value') cil managed + .method family virtual hidebysig newslot abstract + instance default bool UpdateProgress () cil managed { - // Method begins at RVA 0x2d24 - // Code size 8 (0x8) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld valuetype Bless.Util.RedBlackTree`2/Color class Bless.Util.IntervalTree`1/ITNode::color - IL_0007: ret - } // end of method ITNode::set_Color + // Method begins at RVA 0x0 + } // end of method ThreadedAsyncOperation::UpdateProgress // method line 25 - .method private hidebysig - instance default void UpdateMax () cil managed + .method family virtual hidebysig newslot abstract + instance default bool EndProgress () cil managed { - // Method begins at RVA 0x2d30 - // Code size 152 (0x98) - .maxstack 2 - .locals init ( - int64 V_0, - !T V_1, - class [mscorlib]System.Collections.Generic.IEnumerator`1 V_2) - IL_0000: ldc.i4.m1 - IL_0001: conv.i8 - IL_0002: stloc.0 - IL_0003: ldarg.0 - IL_0004: call instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::get_Left() - IL_0009: brfalse IL_0025 + // Method begins at RVA 0x0 + } // end of method ThreadedAsyncOperation::EndProgress - IL_000e: ldloc.0 - IL_000f: ldarg.0 - IL_0010: call instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::get_Left() - IL_0015: isinst class Bless.Util.IntervalTree`1/ITNode - IL_001a: callvirt instance int64 class Bless.Util.IntervalTree`1/ITNode::get_Max() - IL_001f: call int64 class [mscorlib]System.Math::Max(int64, int64) - IL_0024: stloc.0 - IL_0025: ldarg.0 - IL_0026: call instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::get_Right() - IL_002b: brfalse IL_0047 + // method line 26 + .method family virtual hidebysig newslot abstract + instance default void DoOperation () cil managed + { + // Method begins at RVA 0x0 + } // end of method ThreadedAsyncOperation::DoOperation - IL_0030: ldloc.0 - IL_0031: ldarg.0 - IL_0032: call instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::get_Right() - IL_0037: isinst class Bless.Util.IntervalTree`1/ITNode - IL_003c: callvirt instance int64 class Bless.Util.IntervalTree`1/ITNode::get_Max() - IL_0041: call int64 class [mscorlib]System.Math::Max(int64, int64) - IL_0046: stloc.0 - IL_0047: ldarg.0 - IL_0048: call instance class [mscorlib]System.Collections.Generic.IList`1 class Bless.Util.IntervalTree`1/ITNode::get_Values() - IL_004d: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0052: stloc.2 - .try { // 0 - IL_0053: br IL_0073 + // method line 27 + .method family virtual hidebysig newslot abstract + instance default void EndOperation () cil managed + { + // Method begins at RVA 0x0 + } // end of method ThreadedAsyncOperation::EndOperation - IL_0058: ldloc.2 - IL_0059: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() - IL_005e: stloc.1 - IL_005f: ldloc.0 - IL_0060: ldloca.s 1 - IL_0062: constrained. !0 - IL_0068: callvirt instance int64 class Bless.Util.IRange::get_End() - IL_006d: call int64 class [mscorlib]System.Math::Max(int64, int64) - IL_0072: stloc.0 - IL_0073: ldloc.2 - IL_0074: callvirt instance bool class [mscorlib]System.Collections.IEnumerator::MoveNext() - IL_0079: brtrue IL_0058 + // method line 28 + .method private hidebysig + instance default void OperationFinished () cil managed + { + // Method begins at RVA 0x2368 + // Code size 49 (0x31) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Util.ProgressCallback Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0006: brfalse IL_0012 - IL_007e: leave IL_0090 + IL_000b: ldarg.0 + IL_000c: callvirt instance bool class Bless.Util.ThreadedAsyncOperation::EndProgress() + IL_0011: pop + IL_0012: ldarg.0 + IL_0013: ldfld class [mscorlib]System.AsyncCallback Bless.Util.ThreadedAsyncOperation::opFinishedCallback + IL_0018: brfalse IL_0030 - } // end .try 0 - finally { // 0 - IL_0083: ldloc.2 - IL_0084: brfalse IL_008f + IL_001d: ldarg.0 + IL_001e: ldfld class [mscorlib]System.AsyncCallback Bless.Util.ThreadedAsyncOperation::opFinishedCallback + IL_0023: ldarg.0 + IL_0024: ldnull + IL_0025: ldc.i4.1 + IL_0026: newobj instance void class Bless.Util.ThreadedAsyncResult::'.ctor'(object, class [mscorlib]System.Threading.WaitHandle, bool) + IL_002b: callvirt instance void class [mscorlib]System.AsyncCallback::Invoke(class [mscorlib]System.IAsyncResult) + IL_0030: ret + } // end of method ThreadedAsyncOperation::OperationFinished - IL_0089: ldloc.2 - IL_008a: callvirt instance void class [mscorlib]System.IDisposable::Dispose() - IL_008f: endfinally - } // end handler 0 - IL_0090: ldarg.0 - IL_0091: ldloc.0 - IL_0092: stfld int64 class Bless.Util.IntervalTree`1/ITNode::max - IL_0097: ret - } // end of method ITNode::UpdateMax - - .property instance int64 Max () - { - .get instance default int64 Bless.Util.IntervalTree`1/ITNode::get_Max () - .set instance default void Bless.Util.IntervalTree`1/ITNode::set_Max (int64 'value') - } - .property instance int64 Key () - { - .get instance default int64 Bless.Util.IntervalTree`1/ITNode::get_Key () - .set instance default void Bless.Util.IntervalTree`1/ITNode::set_Key (int64 'value') - } - .property instance class [mscorlib]System.Collections.Generic.IList`1 Values () - { - .get instance default class [mscorlib]System.Collections.Generic.IList`1 Bless.Util.IntervalTree`1/ITNode::get_Values () - .set instance default void Bless.Util.IntervalTree`1/ITNode::set_Values (class [mscorlib]System.Collections.Generic.IList`1 'value') - } - .property instance class Bless.Util.RedBlackTree`2/INode Left () - { - .get instance default class Bless.Util.RedBlackTree`2/INode Bless.Util.IntervalTree`1/ITNode::get_Left () - .set instance default void Bless.Util.IntervalTree`1/ITNode::set_Left (class Bless.Util.RedBlackTree`2/INode 'value') - } - .property instance class Bless.Util.RedBlackTree`2/INode Right () - { - .get instance default class Bless.Util.RedBlackTree`2/INode Bless.Util.IntervalTree`1/ITNode::get_Right () - .set instance default void Bless.Util.IntervalTree`1/ITNode::set_Right (class Bless.Util.RedBlackTree`2/INode 'value') - } - .property instance valuetype Bless.Util.RedBlackTree`2/Color Color () - { - .get instance default valuetype Bless.Util.RedBlackTree`2/Color Bless.Util.IntervalTree`1/ITNode::get_Color () - .set instance default void Bless.Util.IntervalTree`1/ITNode::set_Color (valuetype Bless.Util.RedBlackTree`2/Color 'value') - } - } // end of class ITNode - - .class nested family auto ansi beforefieldinit ITNodeFactory<(class Bless.Util.IRange) T> - extends [mscorlib]System.Object - implements class Bless.Util.RedBlackTree`2/INodeFactory { - - // method line 26 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed + // method line 29 + .method private hidebysig + instance default void ShowProgressTimerExpired (object o) cil managed { - // Method begins at RVA 0x2de4 - // Code size 7 (0x7) + // Method begins at RVA 0x239a + // Code size 54 (0x36) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void object::'.ctor'() - IL_0006: ret - } // end of method ITNodeFactory::.ctor - - // method line 27 - .method public final virtual hidebysig newslot - instance default class Bless.Util.RedBlackTree`2/INode CreateNode (int64 key, !T val, valuetype Bless.Util.RedBlackTree`2/Color color) cil managed - { - // Method begins at RVA 0x2dec - // Code size 9 (0x9) - .maxstack 8 - IL_0000: ldarg.1 - IL_0001: ldarg.2 - IL_0002: ldarg.3 - IL_0003: newobj instance void class Bless.Util.IntervalTree`1/ITNode::'.ctor'(int64, !0, valuetype Bless.Util.RedBlackTree`2/Color) - IL_0008: ret - } // end of method ITNodeFactory::CreateNode + IL_0001: ldfld class Bless.Util.ProgressCallback Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0006: brfalse IL_0035 - } // end of class ITNodeFactory + IL_000b: ldarg.0 + IL_000c: ldfld bool Bless.Util.ThreadedAsyncOperation::useGLibIdle + IL_0011: brfalse IL_002e - } // end of class Bless.Util.IntervalTree`1 -} + IL_0016: ldarg.0 + IL_0017: dup + IL_0018: ldvirtftn instance bool class Bless.Util.ThreadedAsyncOperation::StartProgress() + IL_001e: newobj instance void ['glib-sharp']GLib.IdleHandler::.ctor(object, native int) + IL_0023: call unsigned int32 ['glib-sharp']GLib.Idle::Add( member:>) + IL_0028: pop + IL_0029: br IL_0035 -.namespace Bless.Util -{ - .class public auto ansi beforefieldinit FileResourcePath - extends [mscorlib]System.Object - { - .field private static string dataPath + IL_002e: ldarg.0 + IL_002f: callvirt instance bool class Bless.Util.ThreadedAsyncOperation::StartProgress() + IL_0034: pop + IL_0035: ret + } // end of method ThreadedAsyncOperation::ShowProgressTimerExpired - // method line 28 - .method private hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed + // method line 30 + .method private hidebysig + instance default void ProgressTimerExpired (object o) cil managed { - // Method begins at RVA 0x2df6 - // Code size 7 (0x7) + // Method begins at RVA 0x23d1 + // Code size 58 (0x3a) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void object::'.ctor'() - IL_0006: ret - } // end of method FileResourcePath::.ctor - - // method line 29 - .method public static hidebysig - default string GetBinPath (string[] dirs) cil managed - { - .param [1] - .custom instance void class [mscorlib]System.ParamArrayAttribute::'.ctor'() = (01 00 00 00 ) // .... + IL_0001: ldfld class Bless.Util.ProgressCallback Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0006: brfalse IL_0039 - // Method begins at RVA 0x2e00 - // Code size 64 (0x40) - .maxstack 2 - .locals init ( - string V_0, - string V_1, - string V_2, - string V_3, - string[] V_4, - int32 V_5) - IL_0000: call class [mscorlib]System.Reflection.Assembly class [mscorlib]System.Reflection.Assembly::GetCallingAssembly() - IL_0005: callvirt instance string class [mscorlib]System.Reflection.Assembly::get_Location() - IL_000a: stloc.0 - IL_000b: ldloc.0 - IL_000c: call string class [mscorlib]System.IO.Path::GetDirectoryName(string) - IL_0011: stloc.1 - IL_0012: ldloc.1 - IL_0013: stloc.2 - IL_0014: ldarg.0 - IL_0015: stloc.s 4 - IL_0017: ldc.i4.0 - IL_0018: stloc.s 5 - IL_001a: br IL_0033 + IL_000b: ldarg.0 + IL_000c: ldfld bool Bless.Util.ThreadedAsyncOperation::useGLibIdle + IL_0011: brfalse IL_002d - IL_001f: ldloc.s 4 - IL_0021: ldloc.s 5 - IL_0023: ldelem.ref - IL_0024: stloc.3 - IL_0025: ldloc.2 - IL_0026: ldloc.3 - IL_0027: call string class [mscorlib]System.IO.Path::Combine(string, string) - IL_002c: stloc.2 - IL_002d: ldloc.s 5 - IL_002f: ldc.i4.1 - IL_0030: add - IL_0031: stloc.s 5 - IL_0033: ldloc.s 5 - IL_0035: ldloc.s 4 - IL_0037: ldlen - IL_0038: conv.i4 - IL_0039: blt IL_001f + IL_0016: ldarg.0 + IL_0017: ldftn instance bool class Bless.Util.ThreadedAsyncOperation::'m__0'() + IL_001d: newobj instance void ['glib-sharp']GLib.IdleHandler::.ctor(object, native int) + IL_0022: call unsigned int32 ['glib-sharp']GLib.Idle::Add( member:>) + IL_0027: pop + IL_0028: br IL_0039 - IL_003e: ldloc.2 - IL_003f: ret - } // end of method FileResourcePath::GetBinPath + IL_002d: ldarg.0 + IL_002e: ldarg.0 + IL_002f: callvirt instance bool class Bless.Util.ThreadedAsyncOperation::UpdateProgress() + IL_0034: stfld bool Bless.Util.ThreadedAsyncOperation::cancelled + IL_0039: ret + } // end of method ThreadedAsyncOperation::ProgressTimerExpired - // method line 30 - .method public static hidebysig - default string GetDataPath (string[] dirs) cil managed + // method line 31 + .method family hidebysig + instance default void ActivateProgressReport (bool activate) cil managed { - .param [1] - .custom instance void class [mscorlib]System.ParamArrayAttribute::'.ctor'() = (01 00 00 00 ) // .... - - // Method begins at RVA 0x2e4c - // Code size 200 (0xc8) - .maxstack 4 - .locals init ( - string V_0, - string V_1, - string V_2, - string[] V_3, - int32 V_4) - IL_0000: ldsfld string Bless.Util.FileResourcePath::dataPath - IL_0005: brtrue IL_0099 + // Method begins at RVA 0x240c + // Code size 84 (0x54) + .maxstack 3 + .try { // 0 + IL_0000: ldarg.1 + IL_0001: brfalse IL_002c - IL_000a: ldc.i4.2 - IL_000b: newarr [mscorlib]System.String - IL_0010: dup - IL_0011: ldc.i4.0 - IL_0012: ldstr ".." - IL_0017: stelem.ref - IL_0018: dup - IL_0019: ldc.i4.1 - IL_001a: ldstr "data" - IL_001f: stelem.ref - IL_0020: call string class Bless.Util.FileResourcePath::GetBinPath(string[]) - IL_0025: stloc.0 - IL_0026: ldloc.0 - IL_0027: call bool class [mscorlib]System.IO.Directory::Exists(string) - IL_002c: brfalse IL_0051 + IL_0006: ldarg.0 + IL_0007: ldfld class [mscorlib]System.Threading.Timer Bless.Util.ThreadedAsyncOperation::progressTimer + IL_000c: ldc.i4.0 + IL_000d: ldc.i4.s 0x32 + IL_000f: callvirt instance bool class [mscorlib]System.Threading.Timer::Change(int32, int32) + IL_0014: pop + IL_0015: ldarg.0 + IL_0016: ldfld class [mscorlib]System.Threading.Timer Bless.Util.ThreadedAsyncOperation::showProgressTimer + IL_001b: ldc.i4 500 + IL_0020: ldc.i4.0 + IL_0021: callvirt instance bool class [mscorlib]System.Threading.Timer::Change(int32, int32) + IL_0026: pop + IL_0027: br IL_0048 - IL_0031: ldloc.0 - IL_0032: ldstr "bless.glade" - IL_0037: call string class [mscorlib]System.IO.Path::Combine(string, string) - IL_003c: call bool class [mscorlib]System.IO.File::Exists(string) - IL_0041: brfalse IL_0051 + IL_002c: ldarg.0 + IL_002d: ldfld class [mscorlib]System.Threading.Timer Bless.Util.ThreadedAsyncOperation::progressTimer + IL_0032: ldc.i4.m1 + IL_0033: ldc.i4.m1 + IL_0034: callvirt instance bool class [mscorlib]System.Threading.Timer::Change(int32, int32) + IL_0039: pop + IL_003a: ldarg.0 + IL_003b: ldfld class [mscorlib]System.Threading.Timer Bless.Util.ThreadedAsyncOperation::showProgressTimer + IL_0040: ldc.i4.m1 + IL_0041: ldc.i4.m1 + IL_0042: callvirt instance bool class [mscorlib]System.Threading.Timer::Change(int32, int32) + IL_0047: pop + IL_0048: leave IL_0053 - IL_0046: ldloc.0 - IL_0047: stsfld string Bless.Util.FileResourcePath::dataPath - IL_004c: br IL_0099 + } // end .try 0 + catch class [mscorlib]System.ObjectDisposedException { // 0 + IL_004d: pop + IL_004e: leave IL_0053 - IL_0051: ldstr "/usr/share/bless/" - IL_0056: call bool class [mscorlib]System.IO.Directory::Exists(string) - IL_005b: brfalse IL_0088 + } // end handler 0 + IL_0053: ret + } // end of method ThreadedAsyncOperation::ActivateProgressReport - IL_0060: ldstr "/usr/share/bless/" - IL_0065: ldstr "bless.glade" - IL_006a: call string class [mscorlib]System.IO.Path::Combine(string, string) - IL_006f: call bool class [mscorlib]System.IO.File::Exists(string) - IL_0074: brfalse IL_0088 + // method line 32 + .method public hidebysig + instance default void OperationThread () cil managed + { + // Method begins at RVA 0x247c + // Code size 143 (0x8f) + .maxstack 2 + .locals init ( + class [mscorlib]System.Exception V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.0 + IL_0002: ldfld bool Bless.Util.ThreadedAsyncOperation::activateProgress + IL_0007: call instance void class Bless.Util.ThreadedAsyncOperation::ActivateProgressReport(bool) + .try { // 1 + .try { // 0 + IL_000c: ldarg.0 + IL_000d: callvirt instance void class Bless.Util.ThreadedAsyncOperation::DoOperation() + IL_0012: ldarg.0 + IL_0013: ldfld bool Bless.Util.ThreadedAsyncOperation::cancelled + IL_0018: brfalse IL_0029 - IL_0079: ldstr "/usr/share/bless/" - IL_007e: stsfld string Bless.Util.FileResourcePath::dataPath - IL_0083: br IL_0099 + IL_001d: ldarg.0 + IL_001e: ldc.i4.1 + IL_001f: stfld valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Util.ThreadedAsyncOperation::opResult + IL_0024: br IL_0030 - IL_0088: ldloc.0 - IL_0089: ldstr " or /usr/share/bless/" - IL_008e: call string string::Concat(string, string) - IL_0093: newobj instance void class [mscorlib]System.IO.DirectoryNotFoundException::'.ctor'(string) - IL_0098: throw - IL_0099: ldsfld string Bless.Util.FileResourcePath::dataPath - IL_009e: stloc.1 - IL_009f: ldarg.0 - IL_00a0: stloc.3 - IL_00a1: ldc.i4.0 - IL_00a2: stloc.s 4 - IL_00a4: br IL_00bc + IL_0029: ldarg.0 + IL_002a: ldc.i4.0 + IL_002b: stfld valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Util.ThreadedAsyncOperation::opResult + IL_0030: leave IL_008e - IL_00a9: ldloc.3 - IL_00aa: ldloc.s 4 - IL_00ac: ldelem.ref - IL_00ad: stloc.2 - IL_00ae: ldloc.1 - IL_00af: ldloc.2 - IL_00b0: call string class [mscorlib]System.IO.Path::Combine(string, string) - IL_00b5: stloc.1 - IL_00b6: ldloc.s 4 - IL_00b8: ldc.i4.1 - IL_00b9: add - IL_00ba: stloc.s 4 - IL_00bc: ldloc.s 4 - IL_00be: ldloc.3 - IL_00bf: ldlen - IL_00c0: conv.i4 - IL_00c1: blt IL_00a9 + } // end .try 0 + catch class [mscorlib]System.Exception { // 0 + IL_0035: stloc.0 + IL_0036: ldarg.0 + IL_0037: ldloc.0 + IL_0038: stfld class [mscorlib]System.Exception Bless.Util.ThreadedAsyncOperation::threadException + IL_003d: ldarg.0 + IL_003e: ldc.i4.2 + IL_003f: stfld valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Util.ThreadedAsyncOperation::opResult + IL_0044: leave IL_008e - IL_00c6: ldloc.1 - IL_00c7: ret - } // end of method FileResourcePath::GetDataPath + } // end handler 0 + } // end .try 1 + finally { // 1 + IL_0049: ldarg.0 + IL_004a: ldfld class [mscorlib]System.Threading.Timer Bless.Util.ThreadedAsyncOperation::progressTimer + IL_004f: callvirt instance void class [mscorlib]System.Threading.Timer::Dispose() + IL_0054: ldarg.0 + IL_0055: ldfld class [mscorlib]System.Threading.Timer Bless.Util.ThreadedAsyncOperation::showProgressTimer + IL_005a: callvirt instance void class [mscorlib]System.Threading.Timer::Dispose() + IL_005f: ldarg.0 + IL_0060: callvirt instance void class Bless.Util.ThreadedAsyncOperation::EndOperation() + IL_0065: ldarg.0 + IL_0066: ldfld bool Bless.Util.ThreadedAsyncOperation::useGLibIdle + IL_006b: brfalse IL_0087 - // method line 31 - .method public static hidebysig - default string GetUserPath (string[] dirs) cil managed - { - .param [1] - .custom instance void class [mscorlib]System.ParamArrayAttribute::'.ctor'() = (01 00 00 00 ) // .... + IL_0070: ldarg.0 + IL_0071: ldftn instance bool class Bless.Util.ThreadedAsyncOperation::'m__1'() + IL_0077: newobj instance void ['glib-sharp']GLib.IdleHandler::.ctor(object, native int) + IL_007c: call unsigned int32 ['glib-sharp']GLib.Idle::Add( member:>) + IL_0081: pop + IL_0082: br IL_008d - // Method begins at RVA 0x2f20 - // Code size 54 (0x36) - .maxstack 2 - .locals init ( - string V_0, - string V_1, - string[] V_2, - int32 V_3) - IL_0000: ldc.i4.s 0x1a - IL_0002: call string class [mscorlib]System.Environment::GetFolderPath(valuetype [mscorlib]System.Environment/SpecialFolder) - IL_0007: ldstr "bless" - IL_000c: call string class [mscorlib]System.IO.Path::Combine(string, string) - IL_0011: stloc.0 - IL_0012: ldarg.0 - IL_0013: stloc.2 - IL_0014: ldc.i4.0 - IL_0015: stloc.3 - IL_0016: br IL_002b + IL_0087: ldarg.0 + IL_0088: call instance void class Bless.Util.ThreadedAsyncOperation::OperationFinished() + IL_008d: endfinally + } // end handler 1 + IL_008e: ret + } // end of method ThreadedAsyncOperation::OperationThread - IL_001b: ldloc.2 - IL_001c: ldloc.3 - IL_001d: ldelem.ref - IL_001e: stloc.1 - IL_001f: ldloc.0 - IL_0020: ldloc.1 - IL_0021: call string class [mscorlib]System.IO.Path::Combine(string, string) - IL_0026: stloc.0 - IL_0027: ldloc.3 - IL_0028: ldc.i4.1 - IL_0029: add - IL_002a: stloc.3 - IL_002b: ldloc.3 - IL_002c: ldloc.2 - IL_002d: ldlen - IL_002e: conv.i4 - IL_002f: blt IL_001b + // method line 33 + .method private hidebysig + instance default bool 'm__0' () cil managed + { + .custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // .... - IL_0034: ldloc.0 - IL_0035: ret - } // end of method FileResourcePath::GetUserPath + // Method begins at RVA 0x2534 + // Code size 14 (0xe) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.0 + IL_0002: callvirt instance bool class Bless.Util.ThreadedAsyncOperation::UpdateProgress() + IL_0007: stfld bool Bless.Util.ThreadedAsyncOperation::cancelled + IL_000c: ldc.i4.0 + IL_000d: ret + } // end of method ThreadedAsyncOperation::m__0 - // method line 32 - .method private static hidebysig specialname rtspecialname - default void '.cctor' () cil managed + // method line 34 + .method private hidebysig + instance default bool 'm__1' () cil managed { - // Method begins at RVA 0x2f62 - // Code size 7 (0x7) + .custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // .... + + // Method begins at RVA 0x2543 + // Code size 8 (0x8) .maxstack 8 - IL_0000: ldnull - IL_0001: stsfld string Bless.Util.FileResourcePath::dataPath - IL_0006: ret - } // end of method FileResourcePath::.cctor + IL_0000: ldarg.0 + IL_0001: call instance void class Bless.Util.ThreadedAsyncOperation::OperationFinished() + IL_0006: ldc.i4.0 + IL_0007: ret + } // end of method ThreadedAsyncOperation::m__1 - } // end of class Bless.Util.FileResourcePath + .property instance valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Result () + { + .get instance default valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Util.ThreadedAsyncOperation::get_Result () + .set instance default void Bless.Util.ThreadedAsyncOperation::set_Result (valuetype Bless.Util.ThreadedAsyncOperation/OperationResult 'value') + } + .property instance class [mscorlib]System.Exception ThreadException () + { + .get instance default class [mscorlib]System.Exception Bless.Util.ThreadedAsyncOperation::get_ThreadException () + .set instance default void Bless.Util.ThreadedAsyncOperation::set_ThreadException (class [mscorlib]System.Exception 'value') + } + .class nested private auto ansi sealed Event + extends [mscorlib]System.Enum + { + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype Bless.Util.ThreadedAsyncOperation/Event ShowProgress = int32(0x00000000) + .field public static literal valuetype Bless.Util.ThreadedAsyncOperation/Event Finished = int32(0x00000001) + .field public static literal valuetype Bless.Util.ThreadedAsyncOperation/Event Exception = int32(0x00000002) + + } // end of class Event + + .class nested public auto ansi sealed OperationResult + extends [mscorlib]System.Enum + { + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Finished = int32(0x00000000) + .field public static literal valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Cancelled = int32(0x00000001) + .field public static literal valuetype Bless.Util.ThreadedAsyncOperation/OperationResult CaughtException = int32(0x00000002) + + } // end of class OperationResult + + } // end of class Bless.Util.ThreadedAsyncOperation } .namespace Bless.Util { - .class public auto ansi beforefieldinit Deque`1 + .class public auto ansi beforefieldinit ThreadedAsyncResult extends [mscorlib]System.Object - implements class [mscorlib]System.Collections.Generic.IEnumerable`1, [mscorlib]System.Collections.IEnumerable { - .field private class Bless.Util.List`1 list + implements [mscorlib]System.IAsyncResult { + .field private object asyncState + .field private class [mscorlib]System.Threading.WaitHandle asyncWaitHandle + .field private bool isCompleted - // method line 33 + // method line 35 .method public hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed + instance default void '.ctor' (object state, class [mscorlib]System.Threading.WaitHandle handle, bool complete) cil managed { - // Method begins at RVA 0x2f6a - // Code size 18 (0x12) + // Method begins at RVA 0x254c + // Code size 28 (0x1c) .maxstack 8 IL_0000: ldarg.0 IL_0001: call instance void object::'.ctor'() IL_0006: ldarg.0 - IL_0007: newobj instance void class Bless.Util.List`1::'.ctor'() - IL_000c: stfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0011: ret - } // end of method Deque`1::.ctor + IL_0007: ldarg.1 + IL_0008: stfld object Bless.Util.ThreadedAsyncResult::asyncState + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [mscorlib]System.Threading.WaitHandle Bless.Util.ThreadedAsyncResult::asyncWaitHandle + IL_0014: ldarg.0 + IL_0015: ldarg.3 + IL_0016: stfld bool Bless.Util.ThreadedAsyncResult::isCompleted + IL_001b: ret + } // end of method ThreadedAsyncResult::.ctor - // method line 34 - .method public hidebysig - instance default void AddFront (!T o) cil managed + // method line 36 + .method public final virtual hidebysig newslot specialname + instance default object get_AsyncState () cil managed { - // Method begins at RVA 0x2f7d - // Code size 25 (0x19) + // Method begins at RVA 0x2569 + // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0006: ldarg.0 - IL_0007: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_000c: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_First() - IL_0011: ldarg.1 - IL_0012: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::InsertBefore(class Bless.Util.List`1/Node, !0) - IL_0017: pop - IL_0018: ret - } // end of method Deque`1::AddFront - - // method line 35 - .method public hidebysig - instance default void AddEnd (!T o) cil managed - { - // Method begins at RVA 0x2f97 - // Code size 25 (0x19) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0006: ldarg.0 - IL_0007: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_000c: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_Last() - IL_0011: ldarg.1 - IL_0012: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::InsertAfter(class Bless.Util.List`1/Node, !0) - IL_0017: pop - IL_0018: ret - } // end of method Deque`1::AddEnd - - // method line 36 - .method public hidebysig - instance default !T RemoveFront () cil managed - { - // Method begins at RVA 0x2fb4 - // Code size 92 (0x5c) - .maxstack 2 - .locals init ( - !T V_0, - !T V_1) - IL_0000: ldloca.s 1 - IL_0002: initobj !0 - IL_0008: ldloc.1 - IL_0009: stloc.0 - IL_000a: ldarg.0 - IL_000b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0010: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_First() - IL_0015: brfalse IL_005a - - IL_001a: ldarg.0 - IL_001b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0020: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_First() - IL_0025: ldfld !0 class Bless.Util.List`1/Node::data - IL_002a: stloc.0 - IL_002b: ldarg.0 - IL_002c: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0031: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_First() - IL_0036: ldloca.s 1 - IL_0038: initobj !0 - IL_003e: ldloc.1 - IL_003f: stfld !0 class Bless.Util.List`1/Node::data - IL_0044: ldarg.0 - IL_0045: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_004a: ldarg.0 - IL_004b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0050: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_First() - IL_0055: callvirt instance void class Bless.Util.List`1::Remove(class Bless.Util.List`1/Node) - IL_005a: ldloc.0 - IL_005b: ret - } // end of method Deque`1::RemoveFront + IL_0001: ldfld object Bless.Util.ThreadedAsyncResult::asyncState + IL_0006: ret + } // end of method ThreadedAsyncResult::get_AsyncState // method line 37 - .method public hidebysig - instance default !T RemoveEnd () cil managed - { - // Method begins at RVA 0x301c - // Code size 92 (0x5c) - .maxstack 2 - .locals init ( - !T V_0, - !T V_1) - IL_0000: ldloca.s 1 - IL_0002: initobj !0 - IL_0008: ldloc.1 - IL_0009: stloc.0 - IL_000a: ldarg.0 - IL_000b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0010: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_Last() - IL_0015: brfalse IL_005a - - IL_001a: ldarg.0 - IL_001b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0020: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_Last() - IL_0025: ldfld !0 class Bless.Util.List`1/Node::data - IL_002a: stloc.0 - IL_002b: ldarg.0 - IL_002c: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0031: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_Last() - IL_0036: ldloca.s 1 - IL_0038: initobj !0 - IL_003e: ldloc.1 - IL_003f: stfld !0 class Bless.Util.List`1/Node::data - IL_0044: ldarg.0 - IL_0045: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_004a: ldarg.0 - IL_004b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0050: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_Last() - IL_0055: callvirt instance void class Bless.Util.List`1::Remove(class Bless.Util.List`1/Node) - IL_005a: ldloc.0 - IL_005b: ret - } // end of method Deque`1::RemoveEnd - - // method line 38 - .method public hidebysig - instance default !T PeekFront () cil managed - { - // Method begins at RVA 0x3084 - // Code size 45 (0x2d) - .maxstack 1 - .locals init ( - !T V_0, - !T V_1) - IL_0000: ldloca.s 1 - IL_0002: initobj !0 - IL_0008: ldloc.1 - IL_0009: stloc.0 - IL_000a: ldarg.0 - IL_000b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0010: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_First() - IL_0015: brfalse IL_002b - - IL_001a: ldarg.0 - IL_001b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0020: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_First() - IL_0025: ldfld !0 class Bless.Util.List`1/Node::data - IL_002a: stloc.0 - IL_002b: ldloc.0 - IL_002c: ret - } // end of method Deque`1::PeekFront - - // method line 39 - .method public hidebysig - instance default !T PeekEnd () cil managed - { - // Method begins at RVA 0x30c0 - // Code size 45 (0x2d) - .maxstack 1 - .locals init ( - !T V_0, - !T V_1) - IL_0000: ldloca.s 1 - IL_0002: initobj !0 - IL_0008: ldloc.1 - IL_0009: stloc.0 - IL_000a: ldarg.0 - IL_000b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0010: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_Last() - IL_0015: brfalse IL_002b - - IL_001a: ldarg.0 - IL_001b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0020: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_Last() - IL_0025: ldfld !0 class Bless.Util.List`1/Node::data - IL_002a: stloc.0 - IL_002b: ldloc.0 - IL_002c: ret - } // end of method Deque`1::PeekEnd - - // method line 40 - .method public hidebysig - instance default void Clear () cil managed - { - // Method begins at RVA 0x30f9 - // Code size 25 (0x19) - .maxstack 8 - IL_0000: br IL_000c - - IL_0005: ldarg.0 - IL_0006: call instance !0 class Bless.Util.Deque`1::RemoveFront() - IL_000b: pop - IL_000c: ldarg.0 - IL_000d: call instance int32 class Bless.Util.Deque`1::get_Count() - IL_0012: ldc.i4.0 - IL_0013: bgt IL_0005 - - IL_0018: ret - } // end of method Deque`1::Clear - - // method line 41 - .method public hidebysig specialname - instance default int32 get_Count () cil managed + .method public final virtual hidebysig newslot specialname + instance default class [mscorlib]System.Threading.WaitHandle get_AsyncWaitHandle () cil managed { - // Method begins at RVA 0x3113 - // Code size 12 (0xc) + // Method begins at RVA 0x2571 + // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0006: callvirt instance int32 class Bless.Util.List`1::get_Count() - IL_000b: ret - } // end of method Deque`1::get_Count + IL_0001: ldfld class [mscorlib]System.Threading.WaitHandle Bless.Util.ThreadedAsyncResult::asyncWaitHandle + IL_0006: ret + } // end of method ThreadedAsyncResult::get_AsyncWaitHandle - // method line 42 - .method public final virtual hidebysig newslot - instance default class [mscorlib]System.Collections.Generic.IEnumerator`1 GetEnumerator () cil managed + // method line 38 + .method public final virtual hidebysig newslot specialname + instance default bool get_CompletedSynchronously () cil managed { - // Method begins at RVA 0x3120 - // Code size 12 (0xc) + // Method begins at RVA 0x2579 + // Code size 2 (0x2) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list - IL_0006: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class Bless.Util.List`1::GetEnumerator() - IL_000b: ret - } // end of method Deque`1::GetEnumerator + IL_0000: ldc.i4.0 + IL_0001: ret + } // end of method ThreadedAsyncResult::get_CompletedSynchronously - // method line 43 - .method private final virtual hidebysig newslot - instance default class [mscorlib]System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator () cil managed + // method line 39 + .method public final virtual hidebysig newslot specialname + instance default bool get_IsCompleted () cil managed { - // Method begins at RVA 0x312d - .override Could not decode method override class [mscorlib]System.Collections.IEnumerable::GetEnumerator due to (null) + // Method begins at RVA 0x257c // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class Bless.Util.Deque`1::GetEnumerator() + IL_0001: ldfld bool Bless.Util.ThreadedAsyncResult::isCompleted IL_0006: ret - } // end of method Deque`1::System.Collections.IEnumerable.GetEnumerator + } // end of method ThreadedAsyncResult::get_IsCompleted - .property instance int32 Count () + .property instance object AsyncState () { - .get instance default int32 Bless.Util.Deque`1::get_Count () + .get instance default object Bless.Util.ThreadedAsyncResult::get_AsyncState () } - } // end of class Bless.Util.Deque`1 + .property instance class [mscorlib]System.Threading.WaitHandle AsyncWaitHandle () + { + .get instance default class [mscorlib]System.Threading.WaitHandle Bless.Util.ThreadedAsyncResult::get_AsyncWaitHandle () + } + .property instance bool CompletedSynchronously () + { + .get instance default bool Bless.Util.ThreadedAsyncResult::get_CompletedSynchronously () + } + .property instance bool IsCompleted () + { + .get instance default bool Bless.Util.ThreadedAsyncResult::get_IsCompleted () + } + } // end of class Bless.Util.ThreadedAsyncResult } .namespace Bless.Util { - .class public auto ansi beforefieldinit ByteArray + .class public auto ansi beforefieldinit FileResourcePath extends [mscorlib]System.Object { + .field private static string dataPath - // method line 44 + // method line 40 .method private hidebysig specialname rtspecialname instance default void '.ctor' () cil managed { - // Method begins at RVA 0x3135 + // Method begins at RVA 0x2584 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 IL_0001: call instance void object::'.ctor'() IL_0006: ret - } // end of method ByteArray::.ctor + } // end of method FileResourcePath::.ctor - // method line 45 + // method line 41 .method public static hidebysig - default unsigned int8[] FromString (string s, int32 baseNum) cil managed + default string GetBinPath (string[] dirs) cil managed { - // Method begins at RVA 0x3140 - // Code size 167 (0xa7) - .maxstack 5 - .locals init ( - int32 V_0, - int32 V_1, - class [mscorlib]System.Collections.Generic.List`1 V_2, - int32 V_3) - IL_0000: ldc.i4.0 - IL_0001: stloc.0 - IL_0002: ldarg.0 - IL_0003: callvirt instance int32 string::get_Length() - IL_0008: stloc.1 - IL_0009: newobj instance void class [mscorlib]System.Collections.Generic.List`1::'.ctor'() - IL_000e: stloc.2 - IL_000f: br IL_0018 + .param [1] + .custom instance void class [mscorlib]System.ParamArrayAttribute::'.ctor'() = (01 00 00 00 ) // .... - IL_0014: ldloc.0 - IL_0015: ldc.i4.1 - IL_0016: add - IL_0017: stloc.0 - IL_0018: ldloc.0 - IL_0019: ldloc.1 - IL_001a: bge IL_002d + // Method begins at RVA 0x258c + // Code size 64 (0x40) + .maxstack 2 + .locals init ( + string V_0, + string V_1, + string V_2, + string V_3, + string[] V_4, + int32 V_5) + IL_0000: call class [mscorlib]System.Reflection.Assembly class [mscorlib]System.Reflection.Assembly::GetCallingAssembly() + IL_0005: callvirt instance string class [mscorlib]System.Reflection.Assembly::get_Location() + IL_000a: stloc.0 + IL_000b: ldloc.0 + IL_000c: call string class [mscorlib]System.IO.Path::GetDirectoryName(string) + IL_0011: stloc.1 + IL_0012: ldloc.1 + IL_0013: stloc.2 + IL_0014: ldarg.0 + IL_0015: stloc.s 4 + IL_0017: ldc.i4.0 + IL_0018: stloc.s 5 + IL_001a: br IL_0033 - IL_001f: ldarg.0 - IL_0020: ldloc.0 - IL_0021: callvirt instance char string::get_Chars(int32) - IL_0026: ldc.i4.s 0x20 - IL_0028: beq IL_0014 + IL_001f: ldloc.s 4 + IL_0021: ldloc.s 5 + IL_0023: ldelem.ref + IL_0024: stloc.3 + IL_0025: ldloc.2 + IL_0026: ldloc.3 + IL_0027: call string class [mscorlib]System.IO.Path::Combine(string, string) + IL_002c: stloc.2 + IL_002d: ldloc.s 5 + IL_002f: ldc.i4.1 + IL_0030: add + IL_0031: stloc.s 5 + IL_0033: ldloc.s 5 + IL_0035: ldloc.s 4 + IL_0037: ldlen + IL_0038: conv.i4 + IL_0039: blt IL_001f - IL_002d: br IL_0099 + IL_003e: ldloc.2 + IL_003f: ret + } // end of method FileResourcePath::GetBinPath - IL_0032: ldc.i4.1 - IL_0033: stloc.3 - IL_0034: br IL_003d + // method line 42 + .method public static hidebysig + default string GetDataPath (string[] dirs) cil managed + { + .param [1] + .custom instance void class [mscorlib]System.ParamArrayAttribute::'.ctor'() = (01 00 00 00 ) // .... - IL_0039: ldloc.3 - IL_003a: ldc.i4.1 - IL_003b: add - IL_003c: stloc.3 - IL_003d: ldloc.0 - IL_003e: ldloc.3 - IL_003f: add - IL_0040: ldloc.1 - IL_0041: bge IL_0063 + // Method begins at RVA 0x25d8 + // Code size 200 (0xc8) + .maxstack 4 + .locals init ( + string V_0, + string V_1, + string V_2, + string[] V_3, + int32 V_4) + IL_0000: ldsfld string Bless.Util.FileResourcePath::dataPath + IL_0005: brtrue IL_0099 - IL_0046: ldarg.0 - IL_0047: ldloc.0 - IL_0048: ldloc.3 - IL_0049: add - IL_004a: callvirt instance char string::get_Chars(int32) - IL_004f: ldc.i4.s 0x20 - IL_0051: beq IL_0063 + IL_000a: ldc.i4.2 + IL_000b: newarr [mscorlib]System.String + IL_0010: dup + IL_0011: ldc.i4.0 + IL_0012: ldstr ".." + IL_0017: stelem.ref + IL_0018: dup + IL_0019: ldc.i4.1 + IL_001a: ldstr "data" + IL_001f: stelem.ref + IL_0020: call string class Bless.Util.FileResourcePath::GetBinPath(string[]) + IL_0025: stloc.0 + IL_0026: ldloc.0 + IL_0027: call bool class [mscorlib]System.IO.Directory::Exists(string) + IL_002c: brfalse IL_0051 - IL_0056: ldloc.3 - IL_0057: ldsfld int32[] Bless.Util.BaseConverter::DefaultMinDigits - IL_005c: ldarg.1 - IL_005d: ldelem.i4 - IL_005e: blt IL_0039 + IL_0031: ldloc.0 + IL_0032: ldstr "bless.glade" + IL_0037: call string class [mscorlib]System.IO.Path::Combine(string, string) + IL_003c: call bool class [mscorlib]System.IO.File::Exists(string) + IL_0041: brfalse IL_0051 - IL_0063: ldloc.2 - IL_0064: ldarg.0 - IL_0065: ldloc.0 - IL_0066: ldloc.0 - IL_0067: ldloc.3 - IL_0068: add - IL_0069: ldc.i4.1 - IL_006a: sub - IL_006b: ldarg.1 - IL_006c: call int64 class Bless.Util.BaseConverter::ConvertToNum(string, int32, int32, int32) - IL_0071: conv.u1 - IL_0072: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) - IL_0077: ldloc.0 - IL_0078: ldloc.3 - IL_0079: add - IL_007a: stloc.0 - IL_007b: br IL_0084 + IL_0046: ldloc.0 + IL_0047: stsfld string Bless.Util.FileResourcePath::dataPath + IL_004c: br IL_0099 - IL_0080: ldloc.0 - IL_0081: ldc.i4.1 - IL_0082: add - IL_0083: stloc.0 - IL_0084: ldloc.0 - IL_0085: ldloc.1 - IL_0086: bge IL_0099 + IL_0051: ldstr "/usr/share/bless/" + IL_0056: call bool class [mscorlib]System.IO.Directory::Exists(string) + IL_005b: brfalse IL_0088 - IL_008b: ldarg.0 - IL_008c: ldloc.0 - IL_008d: callvirt instance char string::get_Chars(int32) - IL_0092: ldc.i4.s 0x20 - IL_0094: beq IL_0080 + IL_0060: ldstr "/usr/share/bless/" + IL_0065: ldstr "bless.glade" + IL_006a: call string class [mscorlib]System.IO.Path::Combine(string, string) + IL_006f: call bool class [mscorlib]System.IO.File::Exists(string) + IL_0074: brfalse IL_0088 - IL_0099: ldloc.0 - IL_009a: ldloc.1 - IL_009b: blt IL_0032 + IL_0079: ldstr "/usr/share/bless/" + IL_007e: stsfld string Bless.Util.FileResourcePath::dataPath + IL_0083: br IL_0099 - IL_00a0: ldloc.2 - IL_00a1: callvirt instance !0[] class [mscorlib]System.Collections.Generic.List`1::ToArray() - IL_00a6: ret - } // end of method ByteArray::FromString + IL_0088: ldloc.0 + IL_0089: ldstr " or /usr/share/bless/" + IL_008e: call string string::Concat(string, string) + IL_0093: newobj instance void class [mscorlib]System.IO.DirectoryNotFoundException::'.ctor'(string) + IL_0098: throw + IL_0099: ldsfld string Bless.Util.FileResourcePath::dataPath + IL_009e: stloc.1 + IL_009f: ldarg.0 + IL_00a0: stloc.3 + IL_00a1: ldc.i4.0 + IL_00a2: stloc.s 4 + IL_00a4: br IL_00bc - // method line 46 + IL_00a9: ldloc.3 + IL_00aa: ldloc.s 4 + IL_00ac: ldelem.ref + IL_00ad: stloc.2 + IL_00ae: ldloc.1 + IL_00af: ldloc.2 + IL_00b0: call string class [mscorlib]System.IO.Path::Combine(string, string) + IL_00b5: stloc.1 + IL_00b6: ldloc.s 4 + IL_00b8: ldc.i4.1 + IL_00b9: add + IL_00ba: stloc.s 4 + IL_00bc: ldloc.s 4 + IL_00be: ldloc.3 + IL_00bf: ldlen + IL_00c0: conv.i4 + IL_00c1: blt IL_00a9 + + IL_00c6: ldloc.1 + IL_00c7: ret + } // end of method FileResourcePath::GetDataPath + + // method line 43 .method public static hidebysig - default string ToString (unsigned int8[] ba, int32 baseNum) cil managed + default string GetUserPath (string[] dirs) cil managed { - // Method begins at RVA 0x31f4 - // Code size 99 (0x63) - .maxstack 4 + .param [1] + .custom instance void class [mscorlib]System.ParamArrayAttribute::'.ctor'() = (01 00 00 00 ) // .... + + // Method begins at RVA 0x26ac + // Code size 54 (0x36) + .maxstack 2 .locals init ( - class [mscorlib]System.Text.StringBuilder V_0, - unsigned int8 V_1, - unsigned int8[] V_2, + string V_0, + string V_1, + string[] V_2, int32 V_3) - IL_0000: ldarg.0 - IL_0001: ldlen - IL_0002: conv.i4 - IL_0003: brtrue IL_000e - - IL_0008: ldsfld string [mscorlib]System.String::Empty - IL_000d: ret - IL_000e: ldarg.0 - IL_000f: ldlen - IL_0010: conv.i4 - IL_0011: ldsfld int32[] Bless.Util.BaseConverter::DefaultMinDigits - IL_0016: ldarg.1 - IL_0017: ldelem.i4 - IL_0018: ldc.i4.1 - IL_0019: add - IL_001a: mul - IL_001b: newobj instance void class [mscorlib]System.Text.StringBuilder::'.ctor'(int32) - IL_0020: stloc.0 - IL_0021: ldarg.0 - IL_0022: stloc.2 - IL_0023: ldc.i4.0 - IL_0024: stloc.3 - IL_0025: br IL_004a + IL_0000: ldc.i4.s 0x1a + IL_0002: call string class [mscorlib]System.Environment::GetFolderPath(valuetype [mscorlib]System.Environment/SpecialFolder) + IL_0007: ldstr "bless" + IL_000c: call string class [mscorlib]System.IO.Path::Combine(string, string) + IL_0011: stloc.0 + IL_0012: ldarg.0 + IL_0013: stloc.2 + IL_0014: ldc.i4.0 + IL_0015: stloc.3 + IL_0016: br IL_002b - IL_002a: ldloc.2 - IL_002b: ldloc.3 - IL_002c: ldelem.u1 - IL_002d: stloc.1 - IL_002e: ldloc.0 - IL_002f: ldloc.1 - IL_0030: conv.i8 - IL_0031: ldarg.1 - IL_0032: call string class Bless.Util.BaseConverter::ConvertToString(int64, int32) - IL_0037: callvirt instance class [mscorlib]System.Text.StringBuilder class [mscorlib]System.Text.StringBuilder::Append(string) - IL_003c: pop - IL_003d: ldloc.0 - IL_003e: ldc.i4.s 0x20 - IL_0040: callvirt instance class [mscorlib]System.Text.StringBuilder class [mscorlib]System.Text.StringBuilder::Append(char) - IL_0045: pop - IL_0046: ldloc.3 - IL_0047: ldc.i4.1 - IL_0048: add - IL_0049: stloc.3 - IL_004a: ldloc.3 - IL_004b: ldloc.2 - IL_004c: ldlen - IL_004d: conv.i4 - IL_004e: blt IL_002a - - IL_0053: ldloc.0 - IL_0054: ldc.i4.0 - IL_0055: ldloc.0 - IL_0056: callvirt instance int32 class [mscorlib]System.Text.StringBuilder::get_Length() - IL_005b: ldc.i4.1 - IL_005c: sub - IL_005d: callvirt instance string class [mscorlib]System.Text.StringBuilder::ToString(int32, int32) - IL_0062: ret - } // end of method ByteArray::ToString - - } // end of class Bless.Util.ByteArray -} - -.namespace Bless.Util -{ - .class interface public auto ansi abstract IRange - { - - // method line 47 - .method public virtual hidebysig newslot abstract specialname - instance default int64 get_Start () cil managed - { - // Method begins at RVA 0x0 - } // end of method IRange::get_Start - - // method line 48 - .method public virtual hidebysig newslot abstract specialname - instance default void set_Start (int64 'value') cil managed - { - // Method begins at RVA 0x0 - } // end of method IRange::set_Start - - // method line 49 - .method public virtual hidebysig newslot abstract specialname - instance default int64 get_End () cil managed - { - // Method begins at RVA 0x0 - } // end of method IRange::get_End - - // method line 50 - .method public virtual hidebysig newslot abstract specialname - instance default void set_End (int64 'value') cil managed - { - // Method begins at RVA 0x0 - } // end of method IRange::set_End - - // method line 51 - .method public virtual hidebysig newslot abstract specialname - instance default int64 get_Size () cil managed - { - // Method begins at RVA 0x0 - } // end of method IRange::get_Size + IL_001b: ldloc.2 + IL_001c: ldloc.3 + IL_001d: ldelem.ref + IL_001e: stloc.1 + IL_001f: ldloc.0 + IL_0020: ldloc.1 + IL_0021: call string class [mscorlib]System.IO.Path::Combine(string, string) + IL_0026: stloc.0 + IL_0027: ldloc.3 + IL_0028: ldc.i4.1 + IL_0029: add + IL_002a: stloc.3 + IL_002b: ldloc.3 + IL_002c: ldloc.2 + IL_002d: ldlen + IL_002e: conv.i4 + IL_002f: blt IL_001b - // method line 52 - .method public virtual hidebysig newslot abstract - instance default bool IsEmpty () cil managed - { - // Method begins at RVA 0x0 - } // end of method IRange::IsEmpty + IL_0034: ldloc.0 + IL_0035: ret + } // end of method FileResourcePath::GetUserPath - // method line 53 - .method public virtual hidebysig newslot abstract - instance default void Clear () cil managed + // method line 44 + .method private static hidebysig specialname rtspecialname + default void '.cctor' () cil managed { - // Method begins at RVA 0x0 - } // end of method IRange::Clear + // Method begins at RVA 0x26ee + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldnull + IL_0001: stsfld string Bless.Util.FileResourcePath::dataPath + IL_0006: ret + } // end of method FileResourcePath::.cctor - .property instance int64 Start () - { - .get instance default int64 Bless.Util.IRange::get_Start () - .set instance default void Bless.Util.IRange::set_Start (int64 'value') - } - .property instance int64 End () - { - .get instance default int64 Bless.Util.IRange::get_End () - .set instance default void Bless.Util.IRange::set_End (int64 'value') - } - .property instance int64 Size () - { - .get instance default int64 Bless.Util.IRange::get_Size () - } - } // end of class Bless.Util.IRange + } // end of class Bless.Util.FileResourcePath } .namespace Bless.Util { - .class public auto ansi beforefieldinit Range + .class public auto ansi beforefieldinit Deque`1 extends [mscorlib]System.Object - implements Bless.Util.IRange, class [mscorlib]System.IEquatable`1 { - .field family int64 start - .field family int64 end + implements class [mscorlib]System.Collections.Generic.IEnumerable`1, [mscorlib]System.Collections.IEnumerable { + .field private class Bless.Util.List`1 list - // method line 54 + // method line 45 .method public hidebysig specialname rtspecialname instance default void '.ctor' () cil managed { - // Method begins at RVA 0x3263 - // Code size 13 (0xd) + // Method begins at RVA 0x26f6 + // Code size 18 (0x12) .maxstack 8 IL_0000: ldarg.0 IL_0001: call instance void object::'.ctor'() IL_0006: ldarg.0 - IL_0007: call instance void class Bless.Util.Range::Clear() - IL_000c: ret - } // end of method Range::.ctor + IL_0007: newobj instance void class Bless.Util.List`1::'.ctor'() + IL_000c: stfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_0011: ret + } // end of method Deque`1::.ctor - // method line 55 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' (int64 s, int64 e) cil managed + // method line 46 + .method public hidebysig + instance default void AddFront (!T o) cil managed { - // Method begins at RVA 0x3271 - // Code size 21 (0x15) + // Method begins at RVA 0x2709 + // Code size 25 (0x19) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void object::'.ctor'() + IL_0001: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld int64 Bless.Util.Range::start - IL_000d: ldarg.0 - IL_000e: ldarg.2 - IL_000f: stfld int64 Bless.Util.Range::end - IL_0014: ret - } // end of method Range::.ctor + IL_0007: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_000c: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_First() + IL_0011: ldarg.1 + IL_0012: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::InsertBefore(class Bless.Util.List`1/Node, !0) + IL_0017: pop + IL_0018: ret + } // end of method Deque`1::AddFront - // method line 56 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' (class Bless.Util.IRange r) cil managed + // method line 47 + .method public hidebysig + instance default void AddEnd (!T o) cil managed { - // Method begins at RVA 0x3287 - // Code size 19 (0x13) + // Method begins at RVA 0x2723 + // Code size 25 (0x19) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: callvirt instance int64 class Bless.Util.IRange::get_Start() - IL_0007: ldarg.1 - IL_0008: callvirt instance int64 class Bless.Util.IRange::get_End() - IL_000d: call instance void class Bless.Util.Range::'.ctor'(int64, int64) - IL_0012: ret - } // end of method Range::.ctor + IL_0001: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_0006: ldarg.0 + IL_0007: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_000c: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_Last() + IL_0011: ldarg.1 + IL_0012: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::InsertAfter(class Bless.Util.List`1/Node, !0) + IL_0017: pop + IL_0018: ret + } // end of method Deque`1::AddEnd - // method line 57 - .method public final virtual hidebysig newslot specialname - instance default int64 get_Start () cil managed + // method line 48 + .method public hidebysig + instance default !T RemoveFront () cil managed { - // Method begins at RVA 0x329b - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int64 Bless.Util.Range::start - IL_0006: ret - } // end of method Range::get_Start + // Method begins at RVA 0x2740 + // Code size 92 (0x5c) + .maxstack 2 + .locals init ( + !T V_0, + !T V_1) + IL_0000: ldloca.s 1 + IL_0002: initobj !0 + IL_0008: ldloc.1 + IL_0009: stloc.0 + IL_000a: ldarg.0 + IL_000b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_0010: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_First() + IL_0015: brfalse IL_005a - // method line 58 - .method public final virtual hidebysig newslot specialname - instance default void set_Start (int64 'value') cil managed - { - // Method begins at RVA 0x32a3 - // Code size 8 (0x8) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld int64 Bless.Util.Range::start - IL_0007: ret - } // end of method Range::set_Start + IL_001a: ldarg.0 + IL_001b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_0020: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_First() + IL_0025: ldfld !0 class Bless.Util.List`1/Node::data + IL_002a: stloc.0 + IL_002b: ldarg.0 + IL_002c: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_0031: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_First() + IL_0036: ldloca.s 1 + IL_0038: initobj !0 + IL_003e: ldloc.1 + IL_003f: stfld !0 class Bless.Util.List`1/Node::data + IL_0044: ldarg.0 + IL_0045: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_004a: ldarg.0 + IL_004b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_0050: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_First() + IL_0055: callvirt instance void class Bless.Util.List`1::Remove(class Bless.Util.List`1/Node) + IL_005a: ldloc.0 + IL_005b: ret + } // end of method Deque`1::RemoveFront - // method line 59 - .method public final virtual hidebysig newslot specialname - instance default int64 get_End () cil managed + // method line 49 + .method public hidebysig + instance default !T RemoveEnd () cil managed { - // Method begins at RVA 0x32ac - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int64 Bless.Util.Range::end - IL_0006: ret - } // end of method Range::get_End - - // method line 60 - .method public final virtual hidebysig newslot specialname - instance default void set_End (int64 'value') cil managed - { - // Method begins at RVA 0x32b4 - // Code size 8 (0x8) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld int64 Bless.Util.Range::end - IL_0007: ret - } // end of method Range::set_End - - // method line 61 - .method public final virtual hidebysig newslot specialname - instance default int64 get_Size () cil managed - { - // Method begins at RVA 0x32c0 - // Code size 65 (0x41) + // Method begins at RVA 0x27a8 + // Code size 92 (0x5c) .maxstack 2 - IL_0000: ldarg.0 - IL_0001: call instance bool class Bless.Util.Range::IsEmpty() - IL_0006: brfalse IL_000e - - IL_000b: ldc.i4.0 - IL_000c: conv.i8 - IL_000d: ret - IL_000e: ldarg.0 - IL_000f: ldfld int64 Bless.Util.Range::end - IL_0014: ldarg.0 - IL_0015: ldfld int64 Bless.Util.Range::start - IL_001a: blt IL_0030 + .locals init ( + !T V_0, + !T V_1) + IL_0000: ldloca.s 1 + IL_0002: initobj !0 + IL_0008: ldloc.1 + IL_0009: stloc.0 + IL_000a: ldarg.0 + IL_000b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_0010: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_Last() + IL_0015: brfalse IL_005a - IL_001f: ldarg.0 - IL_0020: ldfld int64 Bless.Util.Range::end - IL_0025: ldarg.0 - IL_0026: ldfld int64 Bless.Util.Range::start - IL_002b: sub - IL_002c: ldc.i4.1 - IL_002d: conv.i8 - IL_002e: add - IL_002f: ret - IL_0030: ldarg.0 - IL_0031: ldfld int64 Bless.Util.Range::start - IL_0036: ldarg.0 - IL_0037: ldfld int64 Bless.Util.Range::end - IL_003c: sub - IL_003d: ldc.i4.1 - IL_003e: conv.i8 - IL_003f: add - IL_0040: ret - } // end of method Range::get_Size + IL_001a: ldarg.0 + IL_001b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_0020: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_Last() + IL_0025: ldfld !0 class Bless.Util.List`1/Node::data + IL_002a: stloc.0 + IL_002b: ldarg.0 + IL_002c: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_0031: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_Last() + IL_0036: ldloca.s 1 + IL_0038: initobj !0 + IL_003e: ldloc.1 + IL_003f: stfld !0 class Bless.Util.List`1/Node::data + IL_0044: ldarg.0 + IL_0045: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_004a: ldarg.0 + IL_004b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_0050: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_Last() + IL_0055: callvirt instance void class Bless.Util.List`1::Remove(class Bless.Util.List`1/Node) + IL_005a: ldloc.0 + IL_005b: ret + } // end of method Deque`1::RemoveEnd - // method line 62 - .method public final virtual hidebysig newslot - instance default bool Equals (class Bless.Util.Range r) cil managed + // method line 50 + .method public hidebysig + instance default !T PeekFront () cil managed { - // Method begins at RVA 0x3310 - // Code size 72 (0x48) - .maxstack 2 - IL_0000: ldarg.0 - IL_0001: ldfld int64 Bless.Util.Range::start - IL_0006: ldarg.1 - IL_0007: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_000c: bne.un IL_0022 - - IL_0011: ldarg.0 - IL_0012: ldfld int64 Bless.Util.Range::end - IL_0017: ldarg.1 - IL_0018: callvirt instance int64 class Bless.Util.Range::get_End() - IL_001d: beq IL_0046 - - IL_0022: ldarg.0 - IL_0023: ldfld int64 Bless.Util.Range::end - IL_0028: ldarg.1 - IL_0029: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_002e: bne.un IL_0043 + // Method begins at RVA 0x2810 + // Code size 45 (0x2d) + .maxstack 1 + .locals init ( + !T V_0, + !T V_1) + IL_0000: ldloca.s 1 + IL_0002: initobj !0 + IL_0008: ldloc.1 + IL_0009: stloc.0 + IL_000a: ldarg.0 + IL_000b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_0010: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_First() + IL_0015: brfalse IL_002b - IL_0033: ldarg.0 - IL_0034: ldfld int64 Bless.Util.Range::start - IL_0039: ldarg.1 - IL_003a: callvirt instance int64 class Bless.Util.Range::get_End() - IL_003f: ceq - IL_0041: br.s IL_0044 + IL_001a: ldarg.0 + IL_001b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_0020: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_First() + IL_0025: ldfld !0 class Bless.Util.List`1/Node::data + IL_002a: stloc.0 + IL_002b: ldloc.0 + IL_002c: ret + } // end of method Deque`1::PeekFront - IL_0043: ldc.i4.0 - IL_0044: br.s IL_0047 + // method line 51 + .method public hidebysig + instance default !T PeekEnd () cil managed + { + // Method begins at RVA 0x284c + // Code size 45 (0x2d) + .maxstack 1 + .locals init ( + !T V_0, + !T V_1) + IL_0000: ldloca.s 1 + IL_0002: initobj !0 + IL_0008: ldloc.1 + IL_0009: stloc.0 + IL_000a: ldarg.0 + IL_000b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_0010: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_Last() + IL_0015: brfalse IL_002b - IL_0046: ldc.i4.1 - IL_0047: ret - } // end of method Range::Equals + IL_001a: ldarg.0 + IL_001b: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_0020: callvirt instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_Last() + IL_0025: ldfld !0 class Bless.Util.List`1/Node::data + IL_002a: stloc.0 + IL_002b: ldloc.0 + IL_002c: ret + } // end of method Deque`1::PeekEnd - // method line 63 - .method public virtual hidebysig - instance default bool Equals (object obj) cil managed + // method line 52 + .method public hidebysig + instance default void Clear () cil managed { - // Method begins at RVA 0x3364 - // Code size 23 (0x17) - .maxstack 2 - .locals init ( - class Bless.Util.Range V_0) - IL_0000: ldarg.1 - IL_0001: isinst Bless.Util.Range - IL_0006: stloc.0 - IL_0007: ldloc.0 - IL_0008: brfalse IL_0015 + // Method begins at RVA 0x2885 + // Code size 25 (0x19) + .maxstack 8 + IL_0000: br IL_000c - IL_000d: ldarg.0 - IL_000e: ldloc.0 - IL_000f: call instance bool class Bless.Util.Range::Equals(class Bless.Util.Range) - IL_0014: ret - IL_0015: ldc.i4.0 - IL_0016: ret - } // end of method Range::Equals + IL_0005: ldarg.0 + IL_0006: call instance !0 class Bless.Util.Deque`1::RemoveFront() + IL_000b: pop + IL_000c: ldarg.0 + IL_000d: call instance int32 class Bless.Util.Deque`1::get_Count() + IL_0012: ldc.i4.0 + IL_0013: bgt IL_0005 - // method line 64 - .method public virtual hidebysig - instance default int32 GetHashCode () cil managed + IL_0018: ret + } // end of method Deque`1::Clear + + // method line 53 + .method public hidebysig specialname + instance default int32 get_Count () cil managed { - // Method begins at RVA 0x3387 - // Code size 36 (0x24) + // Method begins at RVA 0x289f + // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldflda int64 Bless.Util.Range::start - IL_0006: constrained. [mscorlib]System.Int64 - IL_000c: callvirt instance int32 object::GetHashCode() - IL_0011: ldarg.0 - IL_0012: ldflda int64 Bless.Util.Range::end - IL_0017: constrained. [mscorlib]System.Int64 - IL_001d: callvirt instance int32 object::GetHashCode() - IL_0022: xor - IL_0023: ret - } // end of method Range::GetHashCode + IL_0001: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_0006: callvirt instance int32 class Bless.Util.List`1::get_Count() + IL_000b: ret + } // end of method Deque`1::get_Count - // method line 65 + // method line 54 .method public final virtual hidebysig newslot - instance default void Clear () cil managed + instance default class [mscorlib]System.Collections.Generic.IEnumerator`1 GetEnumerator () cil managed { - // Method begins at RVA 0x33ac - // Code size 17 (0x11) + // Method begins at RVA 0x28ac + // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldc.i4.m1 - IL_0002: conv.i8 - IL_0003: stfld int64 Bless.Util.Range::start - IL_0008: ldarg.0 - IL_0009: ldc.i4.m1 - IL_000a: conv.i8 - IL_000b: stfld int64 Bless.Util.Range::end - IL_0010: ret - } // end of method Range::Clear + IL_0001: ldfld class Bless.Util.List`1 class Bless.Util.Deque`1::list + IL_0006: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class Bless.Util.List`1::GetEnumerator() + IL_000b: ret + } // end of method Deque`1::GetEnumerator - // method line 66 - .method public hidebysig - instance default bool Contains (int64 n) cil managed + // method line 55 + .method private final virtual hidebysig newslot + instance default class [mscorlib]System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator () cil managed { - // Method begins at RVA 0x33c0 - // Code size 73 (0x49) - .maxstack 2 + // Method begins at RVA 0x28b9 + .override Could not decode method override class [mscorlib]System.Collections.IEnumerable::GetEnumerator due to (null) + // Code size 7 (0x7) + .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int64 Bless.Util.Range::start - IL_0006: ldarg.0 - IL_0007: ldfld int64 Bless.Util.Range::end - IL_000c: bge IL_002d - - IL_0011: ldarg.1 - IL_0012: ldarg.0 - IL_0013: ldfld int64 Bless.Util.Range::start - IL_0018: blt IL_002b - - IL_001d: ldarg.1 - IL_001e: ldarg.0 - IL_001f: ldfld int64 Bless.Util.Range::end - IL_0024: cgt - IL_0026: ldc.i4.0 - IL_0027: ceq - IL_0029: br.s IL_002c + IL_0001: call instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class Bless.Util.Deque`1::GetEnumerator() + IL_0006: ret + } // end of method Deque`1::System.Collections.IEnumerable.GetEnumerator - IL_002b: ldc.i4.0 - IL_002c: ret - IL_002d: ldarg.1 - IL_002e: ldarg.0 - IL_002f: ldfld int64 Bless.Util.Range::start - IL_0034: bgt IL_0047 + .property instance int32 Count () + { + .get instance default int32 Bless.Util.Deque`1::get_Count () + } + } // end of class Bless.Util.Deque`1 +} - IL_0039: ldarg.1 - IL_003a: ldarg.0 - IL_003b: ldfld int64 Bless.Util.Range::end - IL_0040: clt - IL_0042: ldc.i4.0 - IL_0043: ceq - IL_0045: br.s IL_0048 +.namespace Bless.Util +{ + .class interface public auto ansi abstract IRange + { - IL_0047: ldc.i4.0 - IL_0048: ret - } // end of method Range::Contains + // method line 56 + .method public virtual hidebysig newslot abstract specialname + instance default int64 get_Start () cil managed + { + // Method begins at RVA 0x0 + } // end of method IRange::get_Start - // method line 67 - .method public hidebysig - instance default void Intersect (class Bless.Util.Range sel) cil managed + // method line 57 + .method public virtual hidebysig newslot abstract specialname + instance default void set_Start (int64 'value') cil managed { - // Method begins at RVA 0x3418 - // Code size 155 (0x9b) - .maxstack 2 - IL_0000: ldarg.1 - IL_0001: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_0006: ldarg.0 - IL_0007: ldfld int64 Bless.Util.Range::start - IL_000c: blt IL_0050 + // Method begins at RVA 0x0 + } // end of method IRange::set_Start - IL_0011: ldarg.1 - IL_0012: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_0017: ldarg.0 - IL_0018: ldfld int64 Bless.Util.Range::end - IL_001d: bgt IL_0050 + // method line 58 + .method public virtual hidebysig newslot abstract specialname + instance default int64 get_End () cil managed + { + // Method begins at RVA 0x0 + } // end of method IRange::get_End - IL_0022: ldarg.0 - IL_0023: ldarg.1 - IL_0024: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_0029: stfld int64 Bless.Util.Range::start - IL_002e: ldarg.1 - IL_002f: callvirt instance int64 class Bless.Util.Range::get_End() - IL_0034: ldarg.0 - IL_0035: ldfld int64 Bless.Util.Range::end - IL_003a: bge IL_004b + // method line 59 + .method public virtual hidebysig newslot abstract specialname + instance default void set_End (int64 'value') cil managed + { + // Method begins at RVA 0x0 + } // end of method IRange::set_End - IL_003f: ldarg.0 - IL_0040: ldarg.1 - IL_0041: callvirt instance int64 class Bless.Util.Range::get_End() - IL_0046: stfld int64 Bless.Util.Range::end - IL_004b: br IL_009a + // method line 60 + .method public virtual hidebysig newslot abstract specialname + instance default int64 get_Size () cil managed + { + // Method begins at RVA 0x0 + } // end of method IRange::get_Size - IL_0050: ldarg.1 - IL_0051: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_0056: ldarg.0 - IL_0057: ldfld int64 Bless.Util.Range::start - IL_005c: bge IL_0094 + // method line 61 + .method public virtual hidebysig newslot abstract + instance default bool IsEmpty () cil managed + { + // Method begins at RVA 0x0 + } // end of method IRange::IsEmpty - IL_0061: ldarg.1 - IL_0062: callvirt instance int64 class Bless.Util.Range::get_End() - IL_0067: ldarg.0 - IL_0068: ldfld int64 Bless.Util.Range::start - IL_006d: blt IL_0094 + // method line 62 + .method public virtual hidebysig newslot abstract + instance default void Clear () cil managed + { + // Method begins at RVA 0x0 + } // end of method IRange::Clear - IL_0072: ldarg.1 - IL_0073: callvirt instance int64 class Bless.Util.Range::get_End() - IL_0078: ldarg.0 - IL_0079: ldfld int64 Bless.Util.Range::end - IL_007e: bge IL_008f + .property instance int64 Start () + { + .get instance default int64 Bless.Util.IRange::get_Start () + .set instance default void Bless.Util.IRange::set_Start (int64 'value') + } + .property instance int64 End () + { + .get instance default int64 Bless.Util.IRange::get_End () + .set instance default void Bless.Util.IRange::set_End (int64 'value') + } + .property instance int64 Size () + { + .get instance default int64 Bless.Util.IRange::get_Size () + } + } // end of class Bless.Util.IRange +} - IL_0083: ldarg.0 - IL_0084: ldarg.1 - IL_0085: callvirt instance int64 class Bless.Util.Range::get_End() - IL_008a: stfld int64 Bless.Util.Range::end - IL_008f: br IL_009a +.namespace Bless.Util +{ + .class public auto ansi beforefieldinit Range + extends [mscorlib]System.Object + implements Bless.Util.IRange, class [mscorlib]System.IEquatable`1 { + .field family int64 start + .field family int64 end - IL_0094: ldarg.0 - IL_0095: call instance void class Bless.Util.Range::Clear() - IL_009a: ret - } // end of method Range::Intersect + // method line 63 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' () cil managed + { + // Method begins at RVA 0x28c1 + // Code size 13 (0xd) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void object::'.ctor'() + IL_0006: ldarg.0 + IL_0007: call instance void class Bless.Util.Range::Clear() + IL_000c: ret + } // end of method Range::.ctor - // method line 68 - .method public hidebysig - instance default void Difference (class Bless.Util.Range r, class Bless.Util.Range r1) cil managed + // method line 64 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (int64 s, int64 e) cil managed { - // Method begins at RVA 0x34c0 - // Code size 208 (0xd0) - .maxstack 3 - IL_0000: ldarg.1 - IL_0001: callvirt instance int64 class Bless.Util.Range::get_Start() + // Method begins at RVA 0x28cf + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void object::'.ctor'() IL_0006: ldarg.0 - IL_0007: ldfld int64 Bless.Util.Range::start - IL_000c: ble IL_007c + IL_0007: ldarg.1 + IL_0008: stfld int64 Bless.Util.Range::start + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld int64 Bless.Util.Range::end + IL_0014: ret + } // end of method Range::.ctor - IL_0011: ldarg.1 - IL_0012: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_0017: ldarg.0 - IL_0018: ldfld int64 Bless.Util.Range::end - IL_001d: bgt IL_007c + // method line 65 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (class Bless.Util.IRange r) cil managed + { + // Method begins at RVA 0x28e5 + // Code size 19 (0x13) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: callvirt instance int64 class Bless.Util.IRange::get_Start() + IL_0007: ldarg.1 + IL_0008: callvirt instance int64 class Bless.Util.IRange::get_End() + IL_000d: call instance void class Bless.Util.Range::'.ctor'(int64, int64) + IL_0012: ret + } // end of method Range::.ctor - IL_0022: ldarg.1 - IL_0023: callvirt instance int64 class Bless.Util.Range::get_End() - IL_0028: ldarg.0 - IL_0029: ldfld int64 Bless.Util.Range::end - IL_002e: blt IL_004d + // method line 66 + .method public final virtual hidebysig newslot specialname + instance default int64 get_Start () cil managed + { + // Method begins at RVA 0x28f9 + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int64 Bless.Util.Range::start + IL_0006: ret + } // end of method Range::get_Start - IL_0033: ldarg.0 - IL_0034: ldarg.1 - IL_0035: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_003a: ldc.i4.1 - IL_003b: conv.i8 - IL_003c: sub - IL_003d: stfld int64 Bless.Util.Range::end - IL_0042: ldarg.2 - IL_0043: callvirt instance void class Bless.Util.Range::Clear() - IL_0048: br IL_0077 + // method line 67 + .method public final virtual hidebysig newslot specialname + instance default void set_Start (int64 'value') cil managed + { + // Method begins at RVA 0x2901 + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int64 Bless.Util.Range::start + IL_0007: ret + } // end of method Range::set_Start - IL_004d: ldarg.2 - IL_004e: ldarg.1 - IL_004f: callvirt instance int64 class Bless.Util.Range::get_End() - IL_0054: ldc.i4.1 - IL_0055: conv.i8 - IL_0056: add - IL_0057: callvirt instance void class Bless.Util.Range::set_Start(int64) - IL_005c: ldarg.2 - IL_005d: ldarg.0 - IL_005e: ldfld int64 Bless.Util.Range::end - IL_0063: callvirt instance void class Bless.Util.Range::set_End(int64) - IL_0068: ldarg.0 - IL_0069: ldarg.1 - IL_006a: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_006f: ldc.i4.1 - IL_0070: conv.i8 - IL_0071: sub - IL_0072: stfld int64 Bless.Util.Range::end - IL_0077: br IL_00cf - - IL_007c: ldarg.1 - IL_007d: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_0082: ldarg.0 - IL_0083: ldfld int64 Bless.Util.Range::start - IL_0088: bgt IL_00cf + // method line 68 + .method public final virtual hidebysig newslot specialname + instance default int64 get_End () cil managed + { + // Method begins at RVA 0x290a + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int64 Bless.Util.Range::end + IL_0006: ret + } // end of method Range::get_End - IL_008d: ldarg.1 - IL_008e: callvirt instance int64 class Bless.Util.Range::get_End() - IL_0093: ldarg.0 - IL_0094: ldfld int64 Bless.Util.Range::start - IL_0099: blt IL_00cf + // method line 69 + .method public final virtual hidebysig newslot specialname + instance default void set_End (int64 'value') cil managed + { + // Method begins at RVA 0x2912 + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int64 Bless.Util.Range::end + IL_0007: ret + } // end of method Range::set_End - IL_009e: ldarg.2 - IL_009f: callvirt instance void class Bless.Util.Range::Clear() - IL_00a4: ldarg.1 - IL_00a5: callvirt instance int64 class Bless.Util.Range::get_End() - IL_00aa: ldarg.0 - IL_00ab: ldfld int64 Bless.Util.Range::end - IL_00b0: bge IL_00c9 + // method line 70 + .method public final virtual hidebysig newslot specialname + instance default int64 get_Size () cil managed + { + // Method begins at RVA 0x291c + // Code size 65 (0x41) + .maxstack 2 + IL_0000: ldarg.0 + IL_0001: call instance bool class Bless.Util.Range::IsEmpty() + IL_0006: brfalse IL_000e - IL_00b5: ldarg.0 - IL_00b6: ldarg.1 - IL_00b7: callvirt instance int64 class Bless.Util.Range::get_End() - IL_00bc: ldc.i4.1 - IL_00bd: conv.i8 - IL_00be: add - IL_00bf: stfld int64 Bless.Util.Range::start - IL_00c4: br IL_00cf + IL_000b: ldc.i4.0 + IL_000c: conv.i8 + IL_000d: ret + IL_000e: ldarg.0 + IL_000f: ldfld int64 Bless.Util.Range::end + IL_0014: ldarg.0 + IL_0015: ldfld int64 Bless.Util.Range::start + IL_001a: blt IL_0030 - IL_00c9: ldarg.0 - IL_00ca: call instance void class Bless.Util.Range::Clear() - IL_00cf: ret - } // end of method Range::Difference + IL_001f: ldarg.0 + IL_0020: ldfld int64 Bless.Util.Range::end + IL_0025: ldarg.0 + IL_0026: ldfld int64 Bless.Util.Range::start + IL_002b: sub + IL_002c: ldc.i4.1 + IL_002d: conv.i8 + IL_002e: add + IL_002f: ret + IL_0030: ldarg.0 + IL_0031: ldfld int64 Bless.Util.Range::start + IL_0036: ldarg.0 + IL_0037: ldfld int64 Bless.Util.Range::end + IL_003c: sub + IL_003d: ldc.i4.1 + IL_003e: conv.i8 + IL_003f: add + IL_0040: ret + } // end of method Range::get_Size - // method line 69 + // method line 71 .method public final virtual hidebysig newslot - instance default bool IsEmpty () cil managed + instance default bool Equals (class Bless.Util.Range r) cil managed { - // Method begins at RVA 0x359c - // Code size 27 (0x1b) - .maxstack 8 + // Method begins at RVA 0x296c + // Code size 72 (0x48) + .maxstack 2 IL_0000: ldarg.0 IL_0001: ldfld int64 Bless.Util.Range::start - IL_0006: ldc.i4.m1 - IL_0007: conv.i8 - IL_0008: bne.un IL_0019 + IL_0006: ldarg.1 + IL_0007: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_000c: bne.un IL_0022 - IL_000d: ldarg.0 - IL_000e: ldfld int64 Bless.Util.Range::end - IL_0013: ldc.i4.m1 - IL_0014: conv.i8 - IL_0015: ceq - IL_0017: br.s IL_001a + IL_0011: ldarg.0 + IL_0012: ldfld int64 Bless.Util.Range::end + IL_0017: ldarg.1 + IL_0018: callvirt instance int64 class Bless.Util.Range::get_End() + IL_001d: beq IL_0046 - IL_0019: ldc.i4.0 - IL_001a: ret - } // end of method Range::IsEmpty + IL_0022: ldarg.0 + IL_0023: ldfld int64 Bless.Util.Range::end + IL_0028: ldarg.1 + IL_0029: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_002e: bne.un IL_0043 - // method line 70 - .method public static hidebysig - default void SplitAtomic (class Bless.Util.Range[] results, class Bless.Util.Range r, class Bless.Util.Range s) cil managed + IL_0033: ldarg.0 + IL_0034: ldfld int64 Bless.Util.Range::start + IL_0039: ldarg.1 + IL_003a: callvirt instance int64 class Bless.Util.Range::get_End() + IL_003f: ceq + IL_0041: br.s IL_0044 + + IL_0043: ldc.i4.0 + IL_0044: br.s IL_0047 + + IL_0046: ldc.i4.1 + IL_0047: ret + } // end of method Range::Equals + + // method line 72 + .method public virtual hidebysig + instance default bool Equals (object obj) cil managed { - // Method begins at RVA 0x35b8 - // Code size 486 (0x1e6) - .maxstack 3 + // Method begins at RVA 0x29c0 + // Code size 23 (0x17) + .maxstack 2 .locals init ( - class Bless.Util.Range V_0, - class Bless.Util.Range[] V_1, - int32 V_2) + class Bless.Util.Range V_0) IL_0000: ldarg.1 - IL_0001: ldarg.2 - IL_0002: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_0007: callvirt instance bool class Bless.Util.Range::Contains(int64) - IL_000c: brfalse IL_008e - - IL_0011: ldarg.0 - IL_0012: ldc.i4.0 - IL_0013: ldelem.ref - IL_0014: ldarg.1 - IL_0015: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_001a: callvirt instance void class Bless.Util.Range::set_Start(int64) - IL_001f: ldarg.0 - IL_0020: ldc.i4.0 - IL_0021: ldelem.ref - IL_0022: ldarg.2 - IL_0023: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_0028: ldc.i4.1 - IL_0029: conv.i8 - IL_002a: sub - IL_002b: callvirt instance void class Bless.Util.Range::set_End(int64) - IL_0030: ldarg.0 - IL_0031: ldc.i4.1 - IL_0032: ldelem.ref - IL_0033: ldarg.2 - IL_0034: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_0039: callvirt instance void class Bless.Util.Range::set_Start(int64) - IL_003e: ldarg.0 - IL_003f: ldc.i4.1 - IL_0040: ldelem.ref - IL_0041: ldarg.2 - IL_0042: callvirt instance int64 class Bless.Util.Range::get_End() - IL_0047: callvirt instance void class Bless.Util.Range::set_End(int64) - IL_004c: ldarg.1 - IL_004d: ldarg.2 - IL_004e: callvirt instance int64 class Bless.Util.Range::get_End() - IL_0053: callvirt instance bool class Bless.Util.Range::Contains(int64) - IL_0058: brfalse IL_0081 - - IL_005d: ldarg.0 - IL_005e: ldc.i4.2 - IL_005f: ldelem.ref - IL_0060: ldarg.2 - IL_0061: callvirt instance int64 class Bless.Util.Range::get_End() - IL_0066: ldc.i4.1 - IL_0067: conv.i8 - IL_0068: add - IL_0069: callvirt instance void class Bless.Util.Range::set_Start(int64) - IL_006e: ldarg.0 - IL_006f: ldc.i4.2 - IL_0070: ldelem.ref - IL_0071: ldarg.1 - IL_0072: callvirt instance int64 class Bless.Util.Range::get_End() - IL_0077: callvirt instance void class Bless.Util.Range::set_End(int64) - IL_007c: br IL_0089 + IL_0001: isinst Bless.Util.Range + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse IL_0015 - IL_0081: ldarg.0 - IL_0082: ldc.i4.2 - IL_0083: ldelem.ref - IL_0084: callvirt instance void class Bless.Util.Range::Clear() - IL_0089: br IL_01b4 + IL_000d: ldarg.0 + IL_000e: ldloc.0 + IL_000f: call instance bool class Bless.Util.Range::Equals(class Bless.Util.Range) + IL_0014: ret + IL_0015: ldc.i4.0 + IL_0016: ret + } // end of method Range::Equals - IL_008e: ldarg.1 - IL_008f: ldarg.2 - IL_0090: callvirt instance int64 class Bless.Util.Range::get_End() - IL_0095: callvirt instance bool class Bless.Util.Range::Contains(int64) - IL_009a: brfalse IL_00e7 + // method line 73 + .method public virtual hidebysig + instance default int32 GetHashCode () cil managed + { + // Method begins at RVA 0x29e3 + // Code size 36 (0x24) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldflda int64 Bless.Util.Range::start + IL_0006: constrained. [mscorlib]System.Int64 + IL_000c: callvirt instance int32 object::GetHashCode() + IL_0011: ldarg.0 + IL_0012: ldflda int64 Bless.Util.Range::end + IL_0017: constrained. [mscorlib]System.Int64 + IL_001d: callvirt instance int32 object::GetHashCode() + IL_0022: xor + IL_0023: ret + } // end of method Range::GetHashCode - IL_009f: ldarg.0 - IL_00a0: ldc.i4.0 - IL_00a1: ldelem.ref - IL_00a2: callvirt instance void class Bless.Util.Range::Clear() - IL_00a7: ldarg.0 - IL_00a8: ldc.i4.1 - IL_00a9: ldelem.ref - IL_00aa: ldarg.2 - IL_00ab: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_00b0: callvirt instance void class Bless.Util.Range::set_Start(int64) - IL_00b5: ldarg.0 - IL_00b6: ldc.i4.1 - IL_00b7: ldelem.ref - IL_00b8: ldarg.2 - IL_00b9: callvirt instance int64 class Bless.Util.Range::get_End() - IL_00be: callvirt instance void class Bless.Util.Range::set_End(int64) - IL_00c3: ldarg.0 - IL_00c4: ldc.i4.2 - IL_00c5: ldelem.ref - IL_00c6: ldarg.2 - IL_00c7: callvirt instance int64 class Bless.Util.Range::get_End() - IL_00cc: ldc.i4.1 - IL_00cd: conv.i8 - IL_00ce: add - IL_00cf: callvirt instance void class Bless.Util.Range::set_Start(int64) - IL_00d4: ldarg.0 - IL_00d5: ldc.i4.2 - IL_00d6: ldelem.ref - IL_00d7: ldarg.1 - IL_00d8: callvirt instance int64 class Bless.Util.Range::get_End() - IL_00dd: callvirt instance void class Bless.Util.Range::set_End(int64) - IL_00e2: br IL_01b4 - - IL_00e7: ldarg.2 - IL_00e8: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_00ed: ldarg.1 - IL_00ee: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_00f3: bge IL_013a - - IL_00f8: ldarg.2 - IL_00f9: callvirt instance int64 class Bless.Util.Range::get_End() - IL_00fe: ldarg.1 - IL_00ff: callvirt instance int64 class Bless.Util.Range::get_End() - IL_0104: ble IL_013a - - IL_0109: ldarg.0 - IL_010a: ldc.i4.0 - IL_010b: ldelem.ref - IL_010c: callvirt instance void class Bless.Util.Range::Clear() - IL_0111: ldarg.0 - IL_0112: ldc.i4.1 - IL_0113: ldelem.ref - IL_0114: ldarg.2 - IL_0115: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_011a: callvirt instance void class Bless.Util.Range::set_Start(int64) - IL_011f: ldarg.0 - IL_0120: ldc.i4.1 - IL_0121: ldelem.ref - IL_0122: ldarg.2 - IL_0123: callvirt instance int64 class Bless.Util.Range::get_End() - IL_0128: callvirt instance void class Bless.Util.Range::set_End(int64) - IL_012d: ldarg.0 - IL_012e: ldc.i4.2 - IL_012f: ldelem.ref - IL_0130: callvirt instance void class Bless.Util.Range::Clear() - IL_0135: br IL_01b4 + // method line 74 + .method public final virtual hidebysig newslot + instance default void Clear () cil managed + { + // Method begins at RVA 0x2a08 + // Code size 17 (0x11) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.m1 + IL_0002: conv.i8 + IL_0003: stfld int64 Bless.Util.Range::start + IL_0008: ldarg.0 + IL_0009: ldc.i4.m1 + IL_000a: conv.i8 + IL_000b: stfld int64 Bless.Util.Range::end + IL_0010: ret + } // end of method Range::Clear - IL_013a: ldarg.1 - IL_013b: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_0140: ldarg.2 - IL_0141: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_0146: bge IL_0174 + // method line 75 + .method public hidebysig + instance default bool Contains (int64 n) cil managed + { + // Method begins at RVA 0x2a1c + // Code size 73 (0x49) + .maxstack 2 + IL_0000: ldarg.0 + IL_0001: ldfld int64 Bless.Util.Range::start + IL_0006: ldarg.0 + IL_0007: ldfld int64 Bless.Util.Range::end + IL_000c: bge IL_002d - IL_014b: ldarg.0 - IL_014c: ldc.i4.0 - IL_014d: ldelem.ref - IL_014e: ldarg.1 - IL_014f: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_0154: callvirt instance void class Bless.Util.Range::set_Start(int64) - IL_0159: ldarg.0 - IL_015a: ldc.i4.0 - IL_015b: ldelem.ref - IL_015c: ldarg.1 - IL_015d: callvirt instance int64 class Bless.Util.Range::get_End() - IL_0162: callvirt instance void class Bless.Util.Range::set_End(int64) - IL_0167: ldarg.0 - IL_0168: ldc.i4.2 - IL_0169: ldelem.ref - IL_016a: callvirt instance void class Bless.Util.Range::Clear() - IL_016f: br IL_0198 + IL_0011: ldarg.1 + IL_0012: ldarg.0 + IL_0013: ldfld int64 Bless.Util.Range::start + IL_0018: blt IL_002b - IL_0174: ldarg.0 - IL_0175: ldc.i4.2 - IL_0176: ldelem.ref - IL_0177: ldarg.1 - IL_0178: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_017d: callvirt instance void class Bless.Util.Range::set_Start(int64) - IL_0182: ldarg.0 - IL_0183: ldc.i4.2 - IL_0184: ldelem.ref - IL_0185: ldarg.1 - IL_0186: callvirt instance int64 class Bless.Util.Range::get_End() - IL_018b: callvirt instance void class Bless.Util.Range::set_End(int64) - IL_0190: ldarg.0 - IL_0191: ldc.i4.1 - IL_0192: ldelem.ref - IL_0193: callvirt instance void class Bless.Util.Range::Clear() - IL_0198: ldarg.0 - IL_0199: ldc.i4.1 - IL_019a: ldelem.ref - IL_019b: ldarg.2 - IL_019c: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_01a1: callvirt instance void class Bless.Util.Range::set_Start(int64) - IL_01a6: ldarg.0 - IL_01a7: ldc.i4.1 - IL_01a8: ldelem.ref - IL_01a9: ldarg.2 - IL_01aa: callvirt instance int64 class Bless.Util.Range::get_End() - IL_01af: callvirt instance void class Bless.Util.Range::set_End(int64) - IL_01b4: ldarg.0 - IL_01b5: stloc.1 - IL_01b6: ldc.i4.0 - IL_01b7: stloc.2 - IL_01b8: br IL_01dc + IL_001d: ldarg.1 + IL_001e: ldarg.0 + IL_001f: ldfld int64 Bless.Util.Range::end + IL_0024: cgt + IL_0026: ldc.i4.0 + IL_0027: ceq + IL_0029: br.s IL_002c - IL_01bd: ldloc.1 - IL_01be: ldloc.2 - IL_01bf: ldelem.ref - IL_01c0: stloc.0 - IL_01c1: ldloc.0 - IL_01c2: callvirt instance int64 class Bless.Util.Range::get_Start() - IL_01c7: ldloc.0 - IL_01c8: callvirt instance int64 class Bless.Util.Range::get_End() - IL_01cd: ble IL_01d8 + IL_002b: ldc.i4.0 + IL_002c: ret + IL_002d: ldarg.1 + IL_002e: ldarg.0 + IL_002f: ldfld int64 Bless.Util.Range::start + IL_0034: bgt IL_0047 - IL_01d2: ldloc.0 - IL_01d3: callvirt instance void class Bless.Util.Range::Clear() - IL_01d8: ldloc.2 - IL_01d9: ldc.i4.1 - IL_01da: add - IL_01db: stloc.2 - IL_01dc: ldloc.2 - IL_01dd: ldloc.1 - IL_01de: ldlen - IL_01df: conv.i4 - IL_01e0: blt IL_01bd + IL_0039: ldarg.1 + IL_003a: ldarg.0 + IL_003b: ldfld int64 Bless.Util.Range::end + IL_0040: clt + IL_0042: ldc.i4.0 + IL_0043: ceq + IL_0045: br.s IL_0048 - IL_01e5: ret - } // end of method Range::SplitAtomic + IL_0047: ldc.i4.0 + IL_0048: ret + } // end of method Range::Contains - // method line 71 + // method line 76 .method public hidebysig - instance default bool Overlaps (class Bless.Util.IRange r) cil managed + instance default void Intersect (class Bless.Util.Range sel) cil managed { - // Method begins at RVA 0x37ac - // Code size 110 (0x6e) + // Method begins at RVA 0x2a74 + // Code size 155 (0x9b) .maxstack 2 IL_0000: ldarg.1 - IL_0001: callvirt instance int64 class Bless.Util.IRange::get_Start() + IL_0001: callvirt instance int64 class Bless.Util.Range::get_Start() IL_0006: ldarg.0 - IL_0007: call instance int64 class Bless.Util.Range::get_Start() - IL_000c: blt IL_0024 + IL_0007: ldfld int64 Bless.Util.Range::start + IL_000c: blt IL_0050 IL_0011: ldarg.1 - IL_0012: callvirt instance int64 class Bless.Util.IRange::get_Start() + IL_0012: callvirt instance int64 class Bless.Util.Range::get_Start() IL_0017: ldarg.0 - IL_0018: call instance int64 class Bless.Util.Range::get_End() - IL_001d: bgt IL_0024 + IL_0018: ldfld int64 Bless.Util.Range::end + IL_001d: bgt IL_0050 - IL_0022: ldc.i4.1 - IL_0023: ret - IL_0024: ldarg.1 - IL_0025: callvirt instance int64 class Bless.Util.IRange::get_End() - IL_002a: ldarg.0 - IL_002b: call instance int64 class Bless.Util.Range::get_Start() - IL_0030: blt IL_0048 + IL_0022: ldarg.0 + IL_0023: ldarg.1 + IL_0024: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_0029: stfld int64 Bless.Util.Range::start + IL_002e: ldarg.1 + IL_002f: callvirt instance int64 class Bless.Util.Range::get_End() + IL_0034: ldarg.0 + IL_0035: ldfld int64 Bless.Util.Range::end + IL_003a: bge IL_004b - IL_0035: ldarg.1 - IL_0036: callvirt instance int64 class Bless.Util.IRange::get_End() - IL_003b: ldarg.0 - IL_003c: call instance int64 class Bless.Util.Range::get_End() - IL_0041: bgt IL_0048 + IL_003f: ldarg.0 + IL_0040: ldarg.1 + IL_0041: callvirt instance int64 class Bless.Util.Range::get_End() + IL_0046: stfld int64 Bless.Util.Range::end + IL_004b: br IL_009a - IL_0046: ldc.i4.1 - IL_0047: ret - IL_0048: ldarg.1 - IL_0049: callvirt instance int64 class Bless.Util.IRange::get_Start() - IL_004e: ldarg.0 - IL_004f: call instance int64 class Bless.Util.Range::get_Start() - IL_0054: bgt IL_006c + IL_0050: ldarg.1 + IL_0051: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_0056: ldarg.0 + IL_0057: ldfld int64 Bless.Util.Range::start + IL_005c: bge IL_0094 - IL_0059: ldarg.1 - IL_005a: callvirt instance int64 class Bless.Util.IRange::get_End() - IL_005f: ldarg.0 - IL_0060: call instance int64 class Bless.Util.Range::get_End() - IL_0065: blt IL_006c + IL_0061: ldarg.1 + IL_0062: callvirt instance int64 class Bless.Util.Range::get_End() + IL_0067: ldarg.0 + IL_0068: ldfld int64 Bless.Util.Range::start + IL_006d: blt IL_0094 - IL_006a: ldc.i4.1 - IL_006b: ret - IL_006c: ldc.i4.0 - IL_006d: ret - } // end of method Range::Overlaps + IL_0072: ldarg.1 + IL_0073: callvirt instance int64 class Bless.Util.Range::get_End() + IL_0078: ldarg.0 + IL_0079: ldfld int64 Bless.Util.Range::end + IL_007e: bge IL_008f - // method line 72 + IL_0083: ldarg.0 + IL_0084: ldarg.1 + IL_0085: callvirt instance int64 class Bless.Util.Range::get_End() + IL_008a: stfld int64 Bless.Util.Range::end + IL_008f: br IL_009a + + IL_0094: ldarg.0 + IL_0095: call instance void class Bless.Util.Range::Clear() + IL_009a: ret + } // end of method Range::Intersect + + // method line 77 .method public hidebysig - instance default void Sort () cil managed + instance default void Difference (class Bless.Util.Range r, class Bless.Util.Range r1) cil managed { - // Method begins at RVA 0x3828 - // Code size 44 (0x2c) - .maxstack 2 - .locals init ( - int64 V_0) - IL_0000: ldarg.0 - IL_0001: ldfld int64 Bless.Util.Range::end + // Method begins at RVA 0x2b1c + // Code size 208 (0xd0) + .maxstack 3 + IL_0000: ldarg.1 + IL_0001: callvirt instance int64 class Bless.Util.Range::get_Start() IL_0006: ldarg.0 IL_0007: ldfld int64 Bless.Util.Range::start - IL_000c: bge IL_002b + IL_000c: ble IL_007c - IL_0011: ldarg.0 - IL_0012: ldfld int64 Bless.Util.Range::start - IL_0017: stloc.0 - IL_0018: ldarg.0 - IL_0019: ldarg.0 - IL_001a: ldfld int64 Bless.Util.Range::end - IL_001f: stfld int64 Bless.Util.Range::start - IL_0024: ldarg.0 - IL_0025: ldloc.0 - IL_0026: stfld int64 Bless.Util.Range::end - IL_002b: ret - } // end of method Range::Sort + IL_0011: ldarg.1 + IL_0012: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_0017: ldarg.0 + IL_0018: ldfld int64 Bless.Util.Range::end + IL_001d: bgt IL_007c - // method line 73 - .method public virtual hidebysig - instance default string ToString () cil managed - { - // Method begins at RVA 0x3860 - // Code size 33 (0x21) - .maxstack 8 - IL_0000: ldstr "{0} -> {1}" - IL_0005: ldarg.0 - IL_0006: ldfld int64 Bless.Util.Range::start - IL_000b: box [mscorlib]System.Int64 - IL_0010: ldarg.0 - IL_0011: ldfld int64 Bless.Util.Range::end - IL_0016: box [mscorlib]System.Int64 - IL_001b: call string string::Format(string, object, object) - IL_0020: ret - } // end of method Range::ToString + IL_0022: ldarg.1 + IL_0023: callvirt instance int64 class Bless.Util.Range::get_End() + IL_0028: ldarg.0 + IL_0029: ldfld int64 Bless.Util.Range::end + IL_002e: blt IL_004d - .property instance int64 Start () - { - .get instance default int64 Bless.Util.Range::get_Start () - .set instance default void Bless.Util.Range::set_Start (int64 'value') - } - .property instance int64 End () - { - .get instance default int64 Bless.Util.Range::get_End () - .set instance default void Bless.Util.Range::set_End (int64 'value') - } - .property instance int64 Size () - { - .get instance default int64 Bless.Util.Range::get_Size () - } - } // end of class Bless.Util.Range -} + IL_0033: ldarg.0 + IL_0034: ldarg.1 + IL_0035: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_003a: ldc.i4.1 + IL_003b: conv.i8 + IL_003c: sub + IL_003d: stfld int64 Bless.Util.Range::end + IL_0042: ldarg.2 + IL_0043: callvirt instance void class Bless.Util.Range::Clear() + IL_0048: br IL_0077 -.namespace Bless.Util -{ - .class public auto ansi beforefieldinit List`1 - extends [mscorlib]System.Object - implements class [mscorlib]System.Collections.Generic.IEnumerable`1, [mscorlib]System.Collections.IEnumerable { - .custom instance void class [mscorlib]System.Reflection.DefaultMemberAttribute::'.ctor'(string) = (01 00 04 49 74 65 6D 00 00 ) // ...Item.. + IL_004d: ldarg.2 + IL_004e: ldarg.1 + IL_004f: callvirt instance int64 class Bless.Util.Range::get_End() + IL_0054: ldc.i4.1 + IL_0055: conv.i8 + IL_0056: add + IL_0057: callvirt instance void class Bless.Util.Range::set_Start(int64) + IL_005c: ldarg.2 + IL_005d: ldarg.0 + IL_005e: ldfld int64 Bless.Util.Range::end + IL_0063: callvirt instance void class Bless.Util.Range::set_End(int64) + IL_0068: ldarg.0 + IL_0069: ldarg.1 + IL_006a: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_006f: ldc.i4.1 + IL_0070: conv.i8 + IL_0071: sub + IL_0072: stfld int64 Bless.Util.Range::end + IL_0077: br IL_00cf - .field private class Bless.Util.List`1/Node m_first - .field private class Bless.Util.List`1/Node m_last - .field private int32 m_count + IL_007c: ldarg.1 + IL_007d: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_0082: ldarg.0 + IL_0083: ldfld int64 Bless.Util.Range::start + IL_0088: bgt IL_00cf - // method line 74 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed - { - // Method begins at RVA 0x3882 - // Code size 21 (0x15) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void object::'.ctor'() - IL_0006: ldarg.0 - IL_0007: ldnull - IL_0008: stfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first - IL_000d: ldarg.0 - IL_000e: ldnull - IL_000f: stfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last - IL_0014: ret - } // end of method List`1::.ctor + IL_008d: ldarg.1 + IL_008e: callvirt instance int64 class Bless.Util.Range::get_End() + IL_0093: ldarg.0 + IL_0094: ldfld int64 Bless.Util.Range::start + IL_0099: blt IL_00cf - // method line 75 - .method private hidebysig - instance default class Bless.Util.List`1/Node AddFirst (!T o) cil managed - { - // Method begins at RVA 0x3898 - // Code size 47 (0x2f) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: ldnull - IL_0003: ldnull - IL_0004: newobj instance void class Bless.Util.List`1/Node::'.ctor'(!0, class Bless.Util.List`1/Node, class Bless.Util.List`1/Node) - IL_0009: stfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first - IL_000e: ldarg.0 - IL_000f: ldarg.0 - IL_0010: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first - IL_0015: stfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last - IL_001a: ldarg.0 - IL_001b: dup - IL_001c: ldfld int32 class Bless.Util.List`1::m_count - IL_0021: ldc.i4.1 - IL_0022: add - IL_0023: stfld int32 class Bless.Util.List`1::m_count - IL_0028: ldarg.0 - IL_0029: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first - IL_002e: ret - } // end of method List`1::AddFirst + IL_009e: ldarg.2 + IL_009f: callvirt instance void class Bless.Util.Range::Clear() + IL_00a4: ldarg.1 + IL_00a5: callvirt instance int64 class Bless.Util.Range::get_End() + IL_00aa: ldarg.0 + IL_00ab: ldfld int64 Bless.Util.Range::end + IL_00b0: bge IL_00c9 - // method line 76 - .method public hidebysig - instance default class Bless.Util.List`1/Node Append (!T o) cil managed + IL_00b5: ldarg.0 + IL_00b6: ldarg.1 + IL_00b7: callvirt instance int64 class Bless.Util.Range::get_End() + IL_00bc: ldc.i4.1 + IL_00bd: conv.i8 + IL_00be: add + IL_00bf: stfld int64 Bless.Util.Range::start + IL_00c4: br IL_00cf + + IL_00c9: ldarg.0 + IL_00ca: call instance void class Bless.Util.Range::Clear() + IL_00cf: ret + } // end of method Range::Difference + + // method line 78 + .method public final virtual hidebysig newslot + instance default bool IsEmpty () cil managed { - // Method begins at RVA 0x38c8 - // Code size 14 (0xe) + // Method begins at RVA 0x2bf8 + // Code size 27 (0x1b) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldarg.0 - IL_0002: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last - IL_0007: ldarg.1 - IL_0008: call instance class Bless.Util.List`1/Node class Bless.Util.List`1::InsertAfter(class Bless.Util.List`1/Node, !0) - IL_000d: ret - } // end of method List`1::Append + IL_0001: ldfld int64 Bless.Util.Range::start + IL_0006: ldc.i4.m1 + IL_0007: conv.i8 + IL_0008: bne.un IL_0019 - // method line 77 - .method public hidebysig - instance default class Bless.Util.List`1/Node InsertBefore (class Bless.Util.List`1/Node n, !T o) cil managed + IL_000d: ldarg.0 + IL_000e: ldfld int64 Bless.Util.Range::end + IL_0013: ldc.i4.m1 + IL_0014: conv.i8 + IL_0015: ceq + IL_0017: br.s IL_001a + + IL_0019: ldc.i4.0 + IL_001a: ret + } // end of method Range::IsEmpty + + // method line 79 + .method public static hidebysig + default void SplitAtomic (class Bless.Util.Range[] results, class Bless.Util.Range r, class Bless.Util.Range s) cil managed { - // Method begins at RVA 0x38d8 - // Code size 103 (0x67) + // Method begins at RVA 0x2c14 + // Code size 486 (0x1e6) .maxstack 3 .locals init ( - class Bless.Util.List`1/Node V_0) - IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last - IL_0006: brtrue IL_0013 - - IL_000b: ldarg.0 - IL_000c: ldarg.2 - IL_000d: call instance class Bless.Util.List`1/Node class Bless.Util.List`1::AddFirst(!0) - IL_0012: ret - IL_0013: ldarg.2 - IL_0014: ldarg.1 - IL_0015: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev - IL_001a: ldarg.1 - IL_001b: newobj instance void class Bless.Util.List`1/Node::'.ctor'(!0, class Bless.Util.List`1/Node, class Bless.Util.List`1/Node) - IL_0020: stloc.0 - IL_0021: ldarg.1 - IL_0022: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev - IL_0027: brfalse IL_0038 - - IL_002c: ldarg.1 - IL_002d: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev - IL_0032: ldloc.0 - IL_0033: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next - IL_0038: ldarg.1 - IL_0039: ldloc.0 - IL_003a: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev - IL_003f: ldarg.1 - IL_0040: ldarg.0 - IL_0041: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first - IL_0046: call bool object::ReferenceEquals(object, object) - IL_004b: brfalse IL_0057 - - IL_0050: ldarg.0 - IL_0051: ldloc.0 - IL_0052: stfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first - IL_0057: ldarg.0 - IL_0058: dup - IL_0059: ldfld int32 class Bless.Util.List`1::m_count - IL_005e: ldc.i4.1 - IL_005f: add - IL_0060: stfld int32 class Bless.Util.List`1::m_count - IL_0065: ldloc.0 - IL_0066: ret - } // end of method List`1::InsertBefore - - // method line 78 - .method public hidebysig - instance default class Bless.Util.List`1/Node InsertAfter (class Bless.Util.List`1/Node n, !T o) cil managed - { - // Method begins at RVA 0x394c - // Code size 103 (0x67) - .maxstack 3 - .locals init ( - class Bless.Util.List`1/Node V_0) - IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last - IL_0006: brtrue IL_0013 - - IL_000b: ldarg.0 - IL_000c: ldarg.2 - IL_000d: call instance class Bless.Util.List`1/Node class Bless.Util.List`1::AddFirst(!0) - IL_0012: ret - IL_0013: ldarg.2 - IL_0014: ldarg.1 - IL_0015: ldarg.1 - IL_0016: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next - IL_001b: newobj instance void class Bless.Util.List`1/Node::'.ctor'(!0, class Bless.Util.List`1/Node, class Bless.Util.List`1/Node) - IL_0020: stloc.0 - IL_0021: ldarg.1 - IL_0022: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next - IL_0027: brfalse IL_0038 - - IL_002c: ldarg.1 - IL_002d: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next - IL_0032: ldloc.0 - IL_0033: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev - IL_0038: ldarg.1 - IL_0039: ldloc.0 - IL_003a: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next - IL_003f: ldarg.1 - IL_0040: ldarg.0 - IL_0041: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last - IL_0046: call bool object::ReferenceEquals(object, object) - IL_004b: brfalse IL_0057 - - IL_0050: ldarg.0 - IL_0051: ldloc.0 - IL_0052: stfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last - IL_0057: ldarg.0 - IL_0058: dup - IL_0059: ldfld int32 class Bless.Util.List`1::m_count - IL_005e: ldc.i4.1 - IL_005f: add - IL_0060: stfld int32 class Bless.Util.List`1::m_count - IL_0065: ldloc.0 - IL_0066: ret - } // end of method List`1::InsertAfter - - // method line 79 - .method public hidebysig - instance default void Remove (class Bless.Util.List`1/Node n) cil managed - { - // Method begins at RVA 0x39c0 - // Code size 143 (0x8f) - .maxstack 3 - IL_0000: ldarg.1 - IL_0001: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev - IL_0006: brfalse IL_001c - - IL_000b: ldarg.1 - IL_000c: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev - IL_0011: ldarg.1 - IL_0012: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next - IL_0017: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next - IL_001c: ldarg.1 - IL_001d: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next - IL_0022: brfalse IL_0038 - - IL_0027: ldarg.1 - IL_0028: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next - IL_002d: ldarg.1 - IL_002e: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev - IL_0033: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev - IL_0038: ldarg.1 - IL_0039: ldarg.0 - IL_003a: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first - IL_003f: call bool object::ReferenceEquals(object, object) - IL_0044: brfalse IL_0055 - - IL_0049: ldarg.0 - IL_004a: ldarg.1 - IL_004b: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next - IL_0050: stfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first - IL_0055: ldarg.1 - IL_0056: ldarg.0 - IL_0057: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last - IL_005c: call bool object::ReferenceEquals(object, object) - IL_0061: brfalse IL_0072 - - IL_0066: ldarg.0 - IL_0067: ldarg.1 - IL_0068: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev - IL_006d: stfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last - IL_0072: ldarg.1 - IL_0073: ldnull - IL_0074: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next - IL_0079: ldarg.1 - IL_007a: ldnull - IL_007b: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev - IL_0080: ldarg.0 - IL_0081: dup - IL_0082: ldfld int32 class Bless.Util.List`1::m_count - IL_0087: ldc.i4.1 - IL_0088: sub - IL_0089: stfld int32 class Bless.Util.List`1::m_count - IL_008e: ret - } // end of method List`1::Remove - - // method line 80 - .method public hidebysig specialname - instance default !T get_Item (int32 index) cil managed - { - // Method begins at RVA 0x3a5c - // Code size 61 (0x3d) - .maxstack 2 - .locals init ( - !T V_0, - class Bless.Util.List`1/Node V_1, + class Bless.Util.Range V_0, + class Bless.Util.Range[] V_1, int32 V_2) IL_0000: ldarg.1 - IL_0001: ldarg.0 - IL_0002: ldfld int32 class Bless.Util.List`1::m_count - IL_0007: ble IL_0016 - - IL_000c: ldloca.s 0 - IL_000e: initobj !0 - IL_0014: ldloc.0 - IL_0015: ret - IL_0016: ldarg.0 - IL_0017: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first - IL_001c: stloc.1 - IL_001d: ldc.i4.0 - IL_001e: stloc.2 - IL_001f: br IL_002f - - IL_0024: ldloc.1 - IL_0025: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next - IL_002a: stloc.1 - IL_002b: ldloc.2 - IL_002c: ldc.i4.1 - IL_002d: add - IL_002e: stloc.2 - IL_002f: ldloc.2 - IL_0030: ldarg.1 - IL_0031: blt IL_0024 - - IL_0036: ldloc.1 - IL_0037: ldfld !0 class Bless.Util.List`1/Node::data - IL_003c: ret - } // end of method List`1::get_Item - - // method line 81 - .method public final virtual hidebysig newslot - instance default class [mscorlib]System.Collections.Generic.IEnumerator`1 GetEnumerator () cil managed - { - .custom instance void class [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::'.ctor'() = (01 00 00 00 ) // .... - - // Method begins at RVA 0x3aa8 - // Code size 15 (0xf) - .maxstack 2 - .locals init ( - class Bless.Util.List`1/'c__Iterator0' V_0) - IL_0000: newobj instance void class Bless.Util.List`1/'c__Iterator0'::'.ctor'() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: ldarg.0 - IL_0008: stfld class Bless.Util.List`1 class Bless.Util.List`1/'c__Iterator0'::$this - IL_000d: ldloc.0 - IL_000e: ret - } // end of method List`1::GetEnumerator - - // method line 82 - .method private final virtual hidebysig newslot - instance default class [mscorlib]System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator () cil managed - { - // Method begins at RVA 0x3ac3 - .override Could not decode method override class [mscorlib]System.Collections.IEnumerable::GetEnumerator due to (null) - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class Bless.Util.List`1::GetEnumerator() - IL_0006: ret - } // end of method List`1::System.Collections.IEnumerable.GetEnumerator - - // method line 83 - .method public hidebysig - instance default void Display () cil managed - { - // Method begins at RVA 0x3acc - // Code size 52 (0x34) - .maxstack 2 - .locals init ( - class Bless.Util.List`1/Node V_0) - IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first - IL_0006: stloc.0 - IL_0007: br IL_0028 - - IL_000c: ldstr "{0}<=>" - IL_0011: ldloc.0 - IL_0012: ldfld !0 class Bless.Util.List`1/Node::data - IL_0017: box !0 - IL_001c: call void class [mscorlib]System.Console::Write(string, object) - IL_0021: ldloc.0 - IL_0022: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next - IL_0027: stloc.0 - IL_0028: ldloc.0 - IL_0029: brtrue IL_000c - - IL_002e: call void class [mscorlib]System.Console::WriteLine() - IL_0033: ret - } // end of method List`1::Display - - // method line 84 - .method public hidebysig specialname - instance default class Bless.Util.List`1/Node get_First () cil managed - { - // Method begins at RVA 0x3b0c - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first - IL_0006: ret - } // end of method List`1::get_First - - // method line 85 - .method public hidebysig specialname - instance default class Bless.Util.List`1/Node get_Last () cil managed - { - // Method begins at RVA 0x3b14 - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last - IL_0006: ret - } // end of method List`1::get_Last + IL_0001: ldarg.2 + IL_0002: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_0007: callvirt instance bool class Bless.Util.Range::Contains(int64) + IL_000c: brfalse IL_008e - // method line 86 - .method public hidebysig specialname - instance default int32 get_Count () cil managed - { - // Method begins at RVA 0x3b1c - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 class Bless.Util.List`1::m_count - IL_0006: ret - } // end of method List`1::get_Count + IL_0011: ldarg.0 + IL_0012: ldc.i4.0 + IL_0013: ldelem.ref + IL_0014: ldarg.1 + IL_0015: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_001a: callvirt instance void class Bless.Util.Range::set_Start(int64) + IL_001f: ldarg.0 + IL_0020: ldc.i4.0 + IL_0021: ldelem.ref + IL_0022: ldarg.2 + IL_0023: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_0028: ldc.i4.1 + IL_0029: conv.i8 + IL_002a: sub + IL_002b: callvirt instance void class Bless.Util.Range::set_End(int64) + IL_0030: ldarg.0 + IL_0031: ldc.i4.1 + IL_0032: ldelem.ref + IL_0033: ldarg.2 + IL_0034: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_0039: callvirt instance void class Bless.Util.Range::set_Start(int64) + IL_003e: ldarg.0 + IL_003f: ldc.i4.1 + IL_0040: ldelem.ref + IL_0041: ldarg.2 + IL_0042: callvirt instance int64 class Bless.Util.Range::get_End() + IL_0047: callvirt instance void class Bless.Util.Range::set_End(int64) + IL_004c: ldarg.1 + IL_004d: ldarg.2 + IL_004e: callvirt instance int64 class Bless.Util.Range::get_End() + IL_0053: callvirt instance bool class Bless.Util.Range::Contains(int64) + IL_0058: brfalse IL_0081 - .property instance !T Item (int32) - { - .get instance default !0 Bless.Util.List`1::get_Item (int32 index) - } - .property instance class Bless.Util.List`1/Node First () - { - .get instance default class Bless.Util.List`1/Node Bless.Util.List`1::get_First () - } - .property instance class Bless.Util.List`1/Node Last () - { - .get instance default class Bless.Util.List`1/Node Bless.Util.List`1::get_Last () - } - .property instance int32 Count () - { - .get instance default int32 Bless.Util.List`1::get_Count () - } - .class nested public auto ansi beforefieldinit Node - extends [mscorlib]System.Object - { - .field public !0 data - .field public class Bless.Util.List`1/Node next - .field public class Bless.Util.List`1/Node prev + IL_005d: ldarg.0 + IL_005e: ldc.i4.2 + IL_005f: ldelem.ref + IL_0060: ldarg.2 + IL_0061: callvirt instance int64 class Bless.Util.Range::get_End() + IL_0066: ldc.i4.1 + IL_0067: conv.i8 + IL_0068: add + IL_0069: callvirt instance void class Bless.Util.Range::set_Start(int64) + IL_006e: ldarg.0 + IL_006f: ldc.i4.2 + IL_0070: ldelem.ref + IL_0071: ldarg.1 + IL_0072: callvirt instance int64 class Bless.Util.Range::get_End() + IL_0077: callvirt instance void class Bless.Util.Range::set_End(int64) + IL_007c: br IL_0089 - // method line 87 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' (!T d, class Bless.Util.List`1/Node p, class Bless.Util.List`1/Node n) cil managed - { - // Method begins at RVA 0x3b24 - // Code size 28 (0x1c) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void object::'.ctor'() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld !0 class Bless.Util.List`1/Node::data - IL_000d: ldarg.0 - IL_000e: ldarg.2 - IL_000f: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev - IL_0014: ldarg.0 - IL_0015: ldarg.3 - IL_0016: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next - IL_001b: ret - } // end of method Node::.ctor + IL_0081: ldarg.0 + IL_0082: ldc.i4.2 + IL_0083: ldelem.ref + IL_0084: callvirt instance void class Bless.Util.Range::Clear() + IL_0089: br IL_01b4 - } // end of class Node + IL_008e: ldarg.1 + IL_008f: ldarg.2 + IL_0090: callvirt instance int64 class Bless.Util.Range::get_End() + IL_0095: callvirt instance bool class Bless.Util.Range::Contains(int64) + IL_009a: brfalse IL_00e7 - .class nested private auto ansi sealed beforefieldinit 'c__Iterator0' - extends [mscorlib]System.Object - implements [mscorlib]System.Collections.IEnumerator, [mscorlib]System.IDisposable, class [mscorlib]System.Collections.Generic.IEnumerator`1 { - .custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // .... + IL_009f: ldarg.0 + IL_00a0: ldc.i4.0 + IL_00a1: ldelem.ref + IL_00a2: callvirt instance void class Bless.Util.Range::Clear() + IL_00a7: ldarg.0 + IL_00a8: ldc.i4.1 + IL_00a9: ldelem.ref + IL_00aa: ldarg.2 + IL_00ab: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_00b0: callvirt instance void class Bless.Util.Range::set_Start(int64) + IL_00b5: ldarg.0 + IL_00b6: ldc.i4.1 + IL_00b7: ldelem.ref + IL_00b8: ldarg.2 + IL_00b9: callvirt instance int64 class Bless.Util.Range::get_End() + IL_00be: callvirt instance void class Bless.Util.Range::set_End(int64) + IL_00c3: ldarg.0 + IL_00c4: ldc.i4.2 + IL_00c5: ldelem.ref + IL_00c6: ldarg.2 + IL_00c7: callvirt instance int64 class Bless.Util.Range::get_End() + IL_00cc: ldc.i4.1 + IL_00cd: conv.i8 + IL_00ce: add + IL_00cf: callvirt instance void class Bless.Util.Range::set_Start(int64) + IL_00d4: ldarg.0 + IL_00d5: ldc.i4.2 + IL_00d6: ldelem.ref + IL_00d7: ldarg.1 + IL_00d8: callvirt instance int64 class Bless.Util.Range::get_End() + IL_00dd: callvirt instance void class Bless.Util.Range::set_End(int64) + IL_00e2: br IL_01b4 - .field assembly class Bless.Util.List`1/Node '__0' - .field assembly class Bless.Util.List`1 $this - .field assembly !0 $current - .field assembly bool $disposing - .field assembly int32 $PC + IL_00e7: ldarg.2 + IL_00e8: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_00ed: ldarg.1 + IL_00ee: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_00f3: bge IL_013a - // method line 176 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed - { - .custom instance void class [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::'.ctor'() = (01 00 00 00 ) // .... + IL_00f8: ldarg.2 + IL_00f9: callvirt instance int64 class Bless.Util.Range::get_End() + IL_00fe: ldarg.1 + IL_00ff: callvirt instance int64 class Bless.Util.Range::get_End() + IL_0104: ble IL_013a - // Method begins at RVA 0x3b41 - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void object::'.ctor'() - IL_0006: ret - } // end of method c__Iterator0::.ctor + IL_0109: ldarg.0 + IL_010a: ldc.i4.0 + IL_010b: ldelem.ref + IL_010c: callvirt instance void class Bless.Util.Range::Clear() + IL_0111: ldarg.0 + IL_0112: ldc.i4.1 + IL_0113: ldelem.ref + IL_0114: ldarg.2 + IL_0115: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_011a: callvirt instance void class Bless.Util.Range::set_Start(int64) + IL_011f: ldarg.0 + IL_0120: ldc.i4.1 + IL_0121: ldelem.ref + IL_0122: ldarg.2 + IL_0123: callvirt instance int64 class Bless.Util.Range::get_End() + IL_0128: callvirt instance void class Bless.Util.Range::set_End(int64) + IL_012d: ldarg.0 + IL_012e: ldc.i4.2 + IL_012f: ldelem.ref + IL_0130: callvirt instance void class Bless.Util.Range::Clear() + IL_0135: br IL_01b4 - // method line 177 - .method public final virtual hidebysig newslot - instance default bool MoveNext () cil managed - { - // Method begins at RVA 0x3b4c - // Code size 131 (0x83) - .maxstack 2 - .locals init ( - unsigned int32 V_0) - IL_0000: ldarg.0 - IL_0001: ldfld int32 class Bless.Util.List`1/'c__Iterator0'::$PC - IL_0006: stloc.0 - IL_0007: ldarg.0 - IL_0008: ldc.i4.m1 - IL_0009: stfld int32 class Bless.Util.List`1/'c__Iterator0'::$PC - IL_000e: ldloc.0 - IL_000f: switch ( - IL_0021, - IL_005c) - IL_001c: br IL_007f + IL_013a: ldarg.1 + IL_013b: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_0140: ldarg.2 + IL_0141: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_0146: bge IL_0174 - IL_0021: ldarg.0 - IL_0022: ldarg.0 - IL_0023: ldfld class Bless.Util.List`1 class Bless.Util.List`1/'c__Iterator0'::$this - IL_0028: call instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_First() - IL_002d: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/'c__Iterator0'::'__0' - IL_0032: br IL_006d + IL_014b: ldarg.0 + IL_014c: ldc.i4.0 + IL_014d: ldelem.ref + IL_014e: ldarg.1 + IL_014f: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_0154: callvirt instance void class Bless.Util.Range::set_Start(int64) + IL_0159: ldarg.0 + IL_015a: ldc.i4.0 + IL_015b: ldelem.ref + IL_015c: ldarg.1 + IL_015d: callvirt instance int64 class Bless.Util.Range::get_End() + IL_0162: callvirt instance void class Bless.Util.Range::set_End(int64) + IL_0167: ldarg.0 + IL_0168: ldc.i4.2 + IL_0169: ldelem.ref + IL_016a: callvirt instance void class Bless.Util.Range::Clear() + IL_016f: br IL_0198 - IL_0037: ldarg.0 - IL_0038: ldarg.0 - IL_0039: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/'c__Iterator0'::'__0' - IL_003e: ldfld !0 class Bless.Util.List`1/Node::data - IL_0043: stfld !0 class Bless.Util.List`1/'c__Iterator0'::$current - IL_0048: ldarg.0 - IL_0049: ldfld bool class Bless.Util.List`1/'c__Iterator0'::$disposing - IL_004e: brtrue.s IL_0057 + IL_0174: ldarg.0 + IL_0175: ldc.i4.2 + IL_0176: ldelem.ref + IL_0177: ldarg.1 + IL_0178: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_017d: callvirt instance void class Bless.Util.Range::set_Start(int64) + IL_0182: ldarg.0 + IL_0183: ldc.i4.2 + IL_0184: ldelem.ref + IL_0185: ldarg.1 + IL_0186: callvirt instance int64 class Bless.Util.Range::get_End() + IL_018b: callvirt instance void class Bless.Util.Range::set_End(int64) + IL_0190: ldarg.0 + IL_0191: ldc.i4.1 + IL_0192: ldelem.ref + IL_0193: callvirt instance void class Bless.Util.Range::Clear() + IL_0198: ldarg.0 + IL_0199: ldc.i4.1 + IL_019a: ldelem.ref + IL_019b: ldarg.2 + IL_019c: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_01a1: callvirt instance void class Bless.Util.Range::set_Start(int64) + IL_01a6: ldarg.0 + IL_01a7: ldc.i4.1 + IL_01a8: ldelem.ref + IL_01a9: ldarg.2 + IL_01aa: callvirt instance int64 class Bless.Util.Range::get_End() + IL_01af: callvirt instance void class Bless.Util.Range::set_End(int64) + IL_01b4: ldarg.0 + IL_01b5: stloc.1 + IL_01b6: ldc.i4.0 + IL_01b7: stloc.2 + IL_01b8: br IL_01dc - IL_0050: ldarg.0 - IL_0051: ldc.i4.1 - IL_0052: stfld int32 class Bless.Util.List`1/'c__Iterator0'::$PC - IL_0057: br IL_0081 + IL_01bd: ldloc.1 + IL_01be: ldloc.2 + IL_01bf: ldelem.ref + IL_01c0: stloc.0 + IL_01c1: ldloc.0 + IL_01c2: callvirt instance int64 class Bless.Util.Range::get_Start() + IL_01c7: ldloc.0 + IL_01c8: callvirt instance int64 class Bless.Util.Range::get_End() + IL_01cd: ble IL_01d8 - IL_005c: ldarg.0 - IL_005d: ldarg.0 - IL_005e: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/'c__Iterator0'::'__0' - IL_0063: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next - IL_0068: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/'c__Iterator0'::'__0' - IL_006d: ldarg.0 - IL_006e: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/'c__Iterator0'::'__0' - IL_0073: brtrue IL_0037 + IL_01d2: ldloc.0 + IL_01d3: callvirt instance void class Bless.Util.Range::Clear() + IL_01d8: ldloc.2 + IL_01d9: ldc.i4.1 + IL_01da: add + IL_01db: stloc.2 + IL_01dc: ldloc.2 + IL_01dd: ldloc.1 + IL_01de: ldlen + IL_01df: conv.i4 + IL_01e0: blt IL_01bd - IL_0078: ldarg.0 - IL_0079: ldc.i4.m1 - IL_007a: stfld int32 class Bless.Util.List`1/'c__Iterator0'::$PC - IL_007f: ldc.i4.0 - IL_0080: ret - IL_0081: ldc.i4.1 - IL_0082: ret - } // end of method c__Iterator0::MoveNext + IL_01e5: ret + } // end of method Range::SplitAtomic - // method line 178 - .method private final virtual hidebysig newslot specialname - instance default !T 'System.Collections.Generic.IEnumerator.get_Current' () cil managed + // method line 80 + .method public hidebysig + instance default bool Overlaps (class Bless.Util.IRange r) cil managed { - .custom instance void class [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::'.ctor'() = (01 00 00 00 ) // .... + // Method begins at RVA 0x2e08 + // Code size 110 (0x6e) + .maxstack 2 + IL_0000: ldarg.1 + IL_0001: callvirt instance int64 class Bless.Util.IRange::get_Start() + IL_0006: ldarg.0 + IL_0007: call instance int64 class Bless.Util.Range::get_Start() + IL_000c: blt IL_0024 - // Method begins at RVA 0x3bdb - .override method instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld !0 class Bless.Util.List`1/'c__Iterator0'::$current - IL_0006: ret - } // end of method c__Iterator0::System.Collections.Generic.IEnumerator.get_Current + IL_0011: ldarg.1 + IL_0012: callvirt instance int64 class Bless.Util.IRange::get_Start() + IL_0017: ldarg.0 + IL_0018: call instance int64 class Bless.Util.Range::get_End() + IL_001d: bgt IL_0024 + + IL_0022: ldc.i4.1 + IL_0023: ret + IL_0024: ldarg.1 + IL_0025: callvirt instance int64 class Bless.Util.IRange::get_End() + IL_002a: ldarg.0 + IL_002b: call instance int64 class Bless.Util.Range::get_Start() + IL_0030: blt IL_0048 + + IL_0035: ldarg.1 + IL_0036: callvirt instance int64 class Bless.Util.IRange::get_End() + IL_003b: ldarg.0 + IL_003c: call instance int64 class Bless.Util.Range::get_End() + IL_0041: bgt IL_0048 - // method line 179 - .method private final virtual hidebysig newslot specialname - instance default object System.Collections.IEnumerator.get_Current () cil managed - { - .custom instance void class [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::'.ctor'() = (01 00 00 00 ) // .... + IL_0046: ldc.i4.1 + IL_0047: ret + IL_0048: ldarg.1 + IL_0049: callvirt instance int64 class Bless.Util.IRange::get_Start() + IL_004e: ldarg.0 + IL_004f: call instance int64 class Bless.Util.Range::get_Start() + IL_0054: bgt IL_006c - // Method begins at RVA 0x3be3 - .override Could not decode method override class [mscorlib]System.Collections.IEnumerator::get_Current due to (null) - // Code size 12 (0xc) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld !0 class Bless.Util.List`1/'c__Iterator0'::$current - IL_0006: box !0 - IL_000b: ret - } // end of method c__Iterator0::System.Collections.IEnumerator.get_Current + IL_0059: ldarg.1 + IL_005a: callvirt instance int64 class Bless.Util.IRange::get_End() + IL_005f: ldarg.0 + IL_0060: call instance int64 class Bless.Util.Range::get_End() + IL_0065: blt IL_006c - // method line 180 - .method public final virtual hidebysig newslot - instance default void Dispose () cil managed - { - .custom instance void class [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::'.ctor'() = (01 00 00 00 ) // .... + IL_006a: ldc.i4.1 + IL_006b: ret + IL_006c: ldc.i4.0 + IL_006d: ret + } // end of method Range::Overlaps - // Method begins at RVA 0x3bf0 - // Code size 15 (0xf) - .maxstack 8 + // method line 81 + .method public hidebysig + instance default void Sort () cil managed + { + // Method begins at RVA 0x2e84 + // Code size 44 (0x2c) + .maxstack 2 + .locals init ( + int64 V_0) IL_0000: ldarg.0 - IL_0001: ldc.i4.1 - IL_0002: stfld bool class Bless.Util.List`1/'c__Iterator0'::$disposing - IL_0007: ldarg.0 - IL_0008: ldc.i4.m1 - IL_0009: stfld int32 class Bless.Util.List`1/'c__Iterator0'::$PC - IL_000e: ret - } // end of method c__Iterator0::Dispose + IL_0001: ldfld int64 Bless.Util.Range::end + IL_0006: ldarg.0 + IL_0007: ldfld int64 Bless.Util.Range::start + IL_000c: bge IL_002b - // method line 181 - .method public final virtual hidebysig newslot - instance default void Reset () cil managed - { - .custom instance void class [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::'.ctor'() = (01 00 00 00 ) // .... + IL_0011: ldarg.0 + IL_0012: ldfld int64 Bless.Util.Range::start + IL_0017: stloc.0 + IL_0018: ldarg.0 + IL_0019: ldarg.0 + IL_001a: ldfld int64 Bless.Util.Range::end + IL_001f: stfld int64 Bless.Util.Range::start + IL_0024: ldarg.0 + IL_0025: ldloc.0 + IL_0026: stfld int64 Bless.Util.Range::end + IL_002b: ret + } // end of method Range::Sort - // Method begins at RVA 0x3c00 - // Code size 6 (0x6) + // method line 82 + .method public virtual hidebysig + instance default string ToString () cil managed + { + // Method begins at RVA 0x2ebc + // Code size 33 (0x21) .maxstack 8 - IL_0000: newobj instance void class [mscorlib]System.NotSupportedException::'.ctor'() - IL_0005: throw - } // end of method c__Iterator0::Reset + IL_0000: ldstr "{0} -> {1}" + IL_0005: ldarg.0 + IL_0006: ldfld int64 Bless.Util.Range::start + IL_000b: box [mscorlib]System.Int64 + IL_0010: ldarg.0 + IL_0011: ldfld int64 Bless.Util.Range::end + IL_0016: box [mscorlib]System.Int64 + IL_001b: call string string::Format(string, object, object) + IL_0020: ret + } // end of method Range::ToString - .property instance !T 'System.Collections.Generic.IEnumerator.Current' () + .property instance int64 Start () { - .get instance default !0 Bless.Util.List`1/'c__Iterator0'::'System.Collections.Generic.IEnumerator.get_Current' () + .get instance default int64 Bless.Util.Range::get_Start () + .set instance default void Bless.Util.Range::set_Start (int64 'value') } - .property instance object System.Collections.IEnumerator.Current () + .property instance int64 End () { - .get instance default object Bless.Util.List`1/'c__Iterator0'::System.Collections.IEnumerator.get_Current () + .get instance default int64 Bless.Util.Range::get_End () + .set instance default void Bless.Util.Range::set_End (int64 'value') } - } // end of class c__Iterator0 - - } // end of class Bless.Util.List`1 + .property instance int64 Size () + { + .get instance default int64 Bless.Util.Range::get_Size () + } + } // end of class Bless.Util.Range } .namespace Bless.Util @@ -2868,11 +2447,11 @@ .field family object lockObj .field private class [mscorlib]System.Collections.Generic.IList`1 tmpValues - // method line 88 + // method line 83 .method public hidebysig specialname rtspecialname instance default void '.ctor' () cil managed { - // Method begins at RVA 0x2050 + // Method begins at RVA 0x2ede // Code size 29 (0x1d) .maxstack 8 IL_0000: ldarg.0 @@ -2886,11 +2465,11 @@ IL_001c: ret } // end of method RedBlackTree`2::.ctor - // method line 89 + // method line 84 .method family hidebysig specialname rtspecialname instance default void '.ctor' (class Bless.Util.RedBlackTree`2/INodeFactory nf) cil managed { - // Method begins at RVA 0x206e + // Method begins at RVA 0x2efc // Code size 25 (0x19) .maxstack 8 IL_0000: ldarg.0 @@ -2904,11 +2483,11 @@ IL_0018: ret } // end of method RedBlackTree`2::.ctor - // method line 90 + // method line 85 .method private hidebysig instance default bool IsRed (class Bless.Util.RedBlackTree`2/INode n) cil managed { - // Method begins at RVA 0x2088 + // Method begins at RVA 0x2f16 // Code size 18 (0x12) .maxstack 8 IL_0000: ldarg.1 @@ -2923,11 +2502,11 @@ IL_0011: ret } // end of method RedBlackTree`2::IsRed - // method line 91 + // method line 86 .method family virtual hidebysig newslot instance default class Bless.Util.RedBlackTree`2/INode RotL (class Bless.Util.RedBlackTree`2/INode h) cil managed { - // Method begins at RVA 0x209c + // Method begins at RVA 0x2f2c // Code size 28 (0x1c) .maxstack 2 .locals init ( @@ -2946,11 +2525,11 @@ IL_001b: ret } // end of method RedBlackTree`2::RotL - // method line 92 + // method line 87 .method family virtual hidebysig newslot instance default class Bless.Util.RedBlackTree`2/INode RotR (class Bless.Util.RedBlackTree`2/INode h) cil managed { - // Method begins at RVA 0x20c4 + // Method begins at RVA 0x2f54 // Code size 28 (0x1c) .maxstack 2 .locals init ( @@ -2969,11 +2548,11 @@ IL_001b: ret } // end of method RedBlackTree`2::RotR - // method line 93 + // method line 88 .method family virtual hidebysig newslot instance default class Bless.Util.RedBlackTree`2/INode SplitFourNode (class Bless.Util.RedBlackTree`2/INode h) cil managed { - // Method begins at RVA 0x20ec + // Method begins at RVA 0x2f7c // Code size 22 (0x16) .maxstack 2 .locals init ( @@ -2990,11 +2569,11 @@ IL_0015: ret } // end of method RedBlackTree`2::SplitFourNode - // method line 94 + // method line 89 .method family virtual hidebysig newslot instance default class Bless.Util.RedBlackTree`2/INode LeanLeft (class Bless.Util.RedBlackTree`2/INode h) cil managed { - // Method begins at RVA 0x2110 + // Method begins at RVA 0x2fa0 // Code size 39 (0x27) .maxstack 2 .locals init ( @@ -3016,11 +2595,11 @@ IL_0026: ret } // end of method RedBlackTree`2::LeanLeft - // method line 95 + // method line 90 .method family virtual hidebysig newslot instance default class Bless.Util.RedBlackTree`2/INode LeanRight (class Bless.Util.RedBlackTree`2/INode h) cil managed { - // Method begins at RVA 0x2144 + // Method begins at RVA 0x2fd4 // Code size 39 (0x27) .maxstack 2 .locals init ( @@ -3042,11 +2621,11 @@ IL_0026: ret } // end of method RedBlackTree`2::LeanRight - // method line 96 + // method line 91 .method family hidebysig instance default class Bless.Util.RedBlackTree`2/INode MoveRedLeft (class Bless.Util.RedBlackTree`2/INode h) cil managed { - // Method begins at RVA 0x2178 + // Method begins at RVA 0x3008 // Code size 87 (0x57) .maxstack 3 IL_0000: ldarg.1 @@ -3083,11 +2662,11 @@ IL_0056: ret } // end of method RedBlackTree`2::MoveRedLeft - // method line 97 + // method line 92 .method family hidebysig instance default class Bless.Util.RedBlackTree`2/INode MoveRedRight (class Bless.Util.RedBlackTree`2/INode h) cil managed { - // Method begins at RVA 0x21dc + // Method begins at RVA 0x306c // Code size 88 (0x58) .maxstack 2 IL_0000: ldarg.1 @@ -3125,11 +2704,11 @@ IL_0057: ret } // end of method RedBlackTree`2::MoveRedRight - // method line 98 + // method line 93 .method private hidebysig instance default class Bless.Util.RedBlackTree`2/INode DeleteMin (class Bless.Util.RedBlackTree`2/INode h) cil managed { - // Method begins at RVA 0x2240 + // Method begins at RVA 0x30d0 // Code size 107 (0x6b) .maxstack 3 IL_0000: ldarg.1 @@ -3175,11 +2754,11 @@ IL_006a: ret } // end of method RedBlackTree`2::DeleteMin - // method line 99 + // method line 94 .method private hidebysig instance default class Bless.Util.RedBlackTree`2/INode FindMinNode (class Bless.Util.RedBlackTree`2/INode h) cil managed { - // Method begins at RVA 0x22b7 + // Method begins at RVA 0x3147 // Code size 26 (0x1a) .maxstack 8 IL_0000: br IL_000d @@ -3195,11 +2774,11 @@ IL_0019: ret } // end of method RedBlackTree`2::FindMinNode - // method line 100 + // method line 95 .method family virtual hidebysig newslot instance default void AddToValues (class Bless.Util.RedBlackTree`2/INode n, !V val) cil managed { - // Method begins at RVA 0x22d2 + // Method begins at RVA 0x3162 // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.1 @@ -3209,11 +2788,11 @@ IL_000c: ret } // end of method RedBlackTree`2::AddToValues - // method line 101 + // method line 96 .method private hidebysig instance default class Bless.Util.RedBlackTree`2/INode Insert (class Bless.Util.RedBlackTree`2/INode h, !K key, !V val) cil managed { - // Method begins at RVA 0x22e0 + // Method begins at RVA 0x3170 // Code size 188 (0xbc) .maxstack 5 .locals init ( @@ -3296,11 +2875,11 @@ IL_00bb: ret } // end of method RedBlackTree`2::Insert - // method line 102 + // method line 97 .method public virtual hidebysig newslot instance default void Insert (!K key, !V val) cil managed { - // Method begins at RVA 0x23a8 + // Method begins at RVA 0x3238 // Code size 65 (0x41) .maxstack 5 .locals init ( @@ -3341,11 +2920,11 @@ IL_0040: ret } // end of method RedBlackTree`2::Insert - // method line 103 + // method line 98 .method family virtual hidebysig newslot instance default class Bless.Util.RedBlackTree`2/INode SearchNode (!K key) cil managed { - // Method begins at RVA 0x2408 + // Method begins at RVA 0x3298 // Code size 81 (0x51) .maxstack 2 .locals init ( @@ -3390,11 +2969,11 @@ IL_0050: ret } // end of method RedBlackTree`2::SearchNode - // method line 104 + // method line 99 .method public virtual hidebysig newslot instance default class [mscorlib]System.Collections.Generic.IList`1 Search (!K key) cil managed { - // Method begins at RVA 0x2468 + // Method begins at RVA 0x32f8 // Code size 67 (0x43) .maxstack 2 .locals init ( @@ -3441,11 +3020,11 @@ IL_0042: ret } // end of method RedBlackTree`2::Search - // method line 105 + // method line 100 .method private hidebysig instance default class Bless.Util.RedBlackTree`2/INode Delete (class Bless.Util.RedBlackTree`2/INode h, !K key) cil managed { - // Method begins at RVA 0x24c8 + // Method begins at RVA 0x3358 // Code size 353 (0x161) .maxstack 4 .locals init ( @@ -3589,11 +3168,11 @@ IL_0160: ret } // end of method RedBlackTree`2::Delete - // method line 106 + // method line 101 .method public virtual hidebysig newslot instance default void Delete (!K key) cil managed { - // Method begins at RVA 0x2638 + // Method begins at RVA 0x34c8 // Code size 75 (0x4b) .maxstack 4 .locals init ( @@ -3637,11 +3216,11 @@ IL_004a: ret } // end of method RedBlackTree`2::Delete - // method line 107 + // method line 102 .method public hidebysig instance default void DumpToDot (string filename, string title) cil managed { - // Method begins at RVA 0x26a0 + // Method begins at RVA 0x3530 // Code size 105 (0x69) .maxstack 3 .locals init ( @@ -3696,11 +3275,11 @@ IL_0068: ret } // end of method RedBlackTree`2::DumpToDot - // method line 108 + // method line 103 .method public hidebysig instance default void Clear () cil managed { - // Method begins at RVA 0x2728 + // Method begins at RVA 0x35b8 // Code size 40 (0x28) .maxstack 2 .locals init ( @@ -3732,11 +3311,11 @@ IL_0027: ret } // end of method RedBlackTree`2::Clear - // method line 109 + // method line 104 .method public hidebysig instance default class [mscorlib]System.Collections.Generic.IList`1 GetValues () cil managed { - // Method begins at RVA 0x276c + // Method begins at RVA 0x35fc // Code size 73 (0x49) .maxstack 2 .locals init ( @@ -3783,11 +3362,11 @@ IL_0048: ret } // end of method RedBlackTree`2::GetValues - // method line 110 + // method line 105 .method private hidebysig instance default void GetValues (class Bless.Util.RedBlackTree`2/INode x) cil managed { - // Method begins at RVA 0x27d4 + // Method begins at RVA 0x3664 // Code size 97 (0x61) .maxstack 2 .locals init ( @@ -3837,11 +3416,11 @@ IL_0060: ret } // end of method RedBlackTree`2::GetValues - // method line 111 + // method line 106 .method private hidebysig instance default void DumpToDotInternal (class Bless.Util.RedBlackTree`2/INode h, class [mscorlib]System.Text.StringBuilder sb) cil managed { - // Method begins at RVA 0x2854 + // Method begins at RVA 0x36e4 // Code size 282 (0x11a) .maxstack 5 .locals init ( @@ -3970,70 +3549,70 @@ .class interface nested family auto ansi abstract INode<(class [mscorlib]System.IComparable`1) K,V> { - // method line 112 + // method line 107 .method public virtual hidebysig newslot abstract specialname instance default !K get_Key () cil managed { // Method begins at RVA 0x0 } // end of method INode::get_Key - // method line 113 + // method line 108 .method public virtual hidebysig newslot abstract specialname instance default void set_Key (!K 'value') cil managed { // Method begins at RVA 0x0 } // end of method INode::set_Key - // method line 114 + // method line 109 .method public virtual hidebysig newslot abstract specialname instance default class [mscorlib]System.Collections.Generic.IList`1 get_Values () cil managed { // Method begins at RVA 0x0 } // end of method INode::get_Values - // method line 115 + // method line 110 .method public virtual hidebysig newslot abstract specialname instance default void set_Values (class [mscorlib]System.Collections.Generic.IList`1 'value') cil managed { // Method begins at RVA 0x0 } // end of method INode::set_Values - // method line 116 + // method line 111 .method public virtual hidebysig newslot abstract specialname instance default class Bless.Util.RedBlackTree`2/INode get_Left () cil managed { // Method begins at RVA 0x0 } // end of method INode::get_Left - // method line 117 + // method line 112 .method public virtual hidebysig newslot abstract specialname instance default void set_Left (class Bless.Util.RedBlackTree`2/INode 'value') cil managed { // Method begins at RVA 0x0 } // end of method INode::set_Left - // method line 118 + // method line 113 .method public virtual hidebysig newslot abstract specialname instance default class Bless.Util.RedBlackTree`2/INode get_Right () cil managed { // Method begins at RVA 0x0 } // end of method INode::get_Right - // method line 119 + // method line 114 .method public virtual hidebysig newslot abstract specialname instance default void set_Right (class Bless.Util.RedBlackTree`2/INode 'value') cil managed { // Method begins at RVA 0x0 } // end of method INode::set_Right - // method line 120 + // method line 115 .method public virtual hidebysig newslot abstract specialname instance default valuetype Bless.Util.RedBlackTree`2/Color get_Color () cil managed { // Method begins at RVA 0x0 } // end of method INode::get_Color - // method line 121 + // method line 116 .method public virtual hidebysig newslot abstract specialname instance default void set_Color (valuetype Bless.Util.RedBlackTree`2/Color 'value') cil managed { @@ -4070,7 +3649,7 @@ .class interface nested family auto ansi abstract INodeFactory<(class [mscorlib]System.IComparable`1) K,V> { - // method line 122 + // method line 117 .method public virtual hidebysig newslot abstract instance default class Bless.Util.RedBlackTree`2/INode CreateNode (!K key, !V val, valuetype Bless.Util.RedBlackTree`2/Color color) cil managed { @@ -4083,11 +3662,11 @@ extends [mscorlib]System.Object implements class Bless.Util.RedBlackTree`2/INodeFactory { - // method line 123 + // method line 118 .method public hidebysig specialname rtspecialname instance default void '.ctor' () cil managed { - // Method begins at RVA 0x297a + // Method begins at RVA 0x380a // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4095,11 +3674,11 @@ IL_0006: ret } // end of method NodeFactory::.ctor - // method line 124 + // method line 119 .method public final virtual hidebysig newslot instance default class Bless.Util.RedBlackTree`2/INode CreateNode (!K key, !V val, valuetype Bless.Util.RedBlackTree`2/Color color) cil managed { - // Method begins at RVA 0x2982 + // Method begins at RVA 0x3812 // Code size 9 (0x9) .maxstack 8 IL_0000: ldarg.1 @@ -4120,11 +3699,11 @@ .field private class Bless.Util.RedBlackTree`2/INode right .field private valuetype Bless.Util.RedBlackTree`2/Color color - // method line 125 + // method line 120 .method public hidebysig specialname rtspecialname instance default void '.ctor' (!K key, !V val, valuetype Bless.Util.RedBlackTree`2/Color color) cil managed { - // Method begins at RVA 0x298c + // Method begins at RVA 0x381c // Code size 44 (0x2c) .maxstack 8 IL_0000: ldarg.0 @@ -4145,11 +3724,11 @@ IL_002b: ret } // end of method Node::.ctor - // method line 126 + // method line 121 .method public final virtual hidebysig newslot specialname instance default !K get_Key () cil managed { - // Method begins at RVA 0x29b9 + // Method begins at RVA 0x3849 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4157,11 +3736,11 @@ IL_0006: ret } // end of method Node::get_Key - // method line 127 + // method line 122 .method public final virtual hidebysig newslot specialname instance default void set_Key (!K 'value') cil managed { - // Method begins at RVA 0x29c1 + // Method begins at RVA 0x3851 // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 @@ -4170,11 +3749,11 @@ IL_0007: ret } // end of method Node::set_Key - // method line 128 + // method line 123 .method public final virtual hidebysig newslot specialname instance default class [mscorlib]System.Collections.Generic.IList`1 get_Values () cil managed { - // Method begins at RVA 0x29ca + // Method begins at RVA 0x385a // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4182,11 +3761,11 @@ IL_0006: ret } // end of method Node::get_Values - // method line 129 + // method line 124 .method public final virtual hidebysig newslot specialname instance default void set_Values (class [mscorlib]System.Collections.Generic.IList`1 'value') cil managed { - // Method begins at RVA 0x29d2 + // Method begins at RVA 0x3862 // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 @@ -4195,11 +3774,11 @@ IL_0007: ret } // end of method Node::set_Values - // method line 130 + // method line 125 .method public final virtual hidebysig newslot specialname instance default class Bless.Util.RedBlackTree`2/INode get_Left () cil managed { - // Method begins at RVA 0x29db + // Method begins at RVA 0x386b // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4207,11 +3786,11 @@ IL_0006: ret } // end of method Node::get_Left - // method line 131 + // method line 126 .method public final virtual hidebysig newslot specialname instance default void set_Left (class Bless.Util.RedBlackTree`2/INode 'value') cil managed { - // Method begins at RVA 0x29e3 + // Method begins at RVA 0x3873 // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 @@ -4220,11 +3799,11 @@ IL_0007: ret } // end of method Node::set_Left - // method line 132 + // method line 127 .method public final virtual hidebysig newslot specialname instance default class Bless.Util.RedBlackTree`2/INode get_Right () cil managed { - // Method begins at RVA 0x29ec + // Method begins at RVA 0x387c // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4232,11 +3811,11 @@ IL_0006: ret } // end of method Node::get_Right - // method line 133 + // method line 128 .method public final virtual hidebysig newslot specialname instance default void set_Right (class Bless.Util.RedBlackTree`2/INode 'value') cil managed { - // Method begins at RVA 0x29f4 + // Method begins at RVA 0x3884 // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 @@ -4245,11 +3824,11 @@ IL_0007: ret } // end of method Node::set_Right - // method line 134 + // method line 129 .method public final virtual hidebysig newslot specialname instance default valuetype Bless.Util.RedBlackTree`2/Color get_Color () cil managed { - // Method begins at RVA 0x29fd + // Method begins at RVA 0x388d // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4257,11 +3836,11 @@ IL_0006: ret } // end of method Node::get_Color - // method line 135 + // method line 130 .method public final virtual hidebysig newslot specialname instance default void set_Color (valuetype Bless.Util.RedBlackTree`2/Color 'value') cil managed { - // Method begins at RVA 0x2a05 + // Method begins at RVA 0x3895 // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 @@ -4278,52 +3857,26 @@ .property instance class [mscorlib]System.Collections.Generic.IList`1 Values () { .get instance default class [mscorlib]System.Collections.Generic.IList`1 Bless.Util.RedBlackTree`2/Node::get_Values () - .set instance default void Bless.Util.RedBlackTree`2/Node::set_Values (class [mscorlib]System.Collections.Generic.IList`1 'value') - } - .property instance class Bless.Util.RedBlackTree`2/INode Left () - { - .get instance default class Bless.Util.RedBlackTree`2/INode Bless.Util.RedBlackTree`2/Node::get_Left () - .set instance default void Bless.Util.RedBlackTree`2/Node::set_Left (class Bless.Util.RedBlackTree`2/INode 'value') - } - .property instance class Bless.Util.RedBlackTree`2/INode Right () - { - .get instance default class Bless.Util.RedBlackTree`2/INode Bless.Util.RedBlackTree`2/Node::get_Right () - .set instance default void Bless.Util.RedBlackTree`2/Node::set_Right (class Bless.Util.RedBlackTree`2/INode 'value') - } - .property instance valuetype Bless.Util.RedBlackTree`2/Color Color () - { - .get instance default valuetype Bless.Util.RedBlackTree`2/Color Bless.Util.RedBlackTree`2/Node::get_Color () - .set instance default void Bless.Util.RedBlackTree`2/Node::set_Color (valuetype Bless.Util.RedBlackTree`2/Color 'value') - } - } // end of class Node - - } // end of class Bless.Util.RedBlackTree`2 -} - -.namespace Bless.Util -{ - .class public auto ansi sealed beforefieldinit ConfigureDefines - extends [mscorlib]System.Object - { - .field public static literal string LOCALE_DIR = "/usr/share/locale/" - .field public static literal string PACKAGE = "bless" - .field public static literal string VERSION = "0.6.2" - .field public static literal string GETTEXT_PACKAGE = "bless" - .field public static literal string DATADIR = "/usr/share/bless/" - - // method line 136 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed - { - // Method begins at RVA 0x3c07 - // Code size 7 (0x7) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void object::'.ctor'() - IL_0006: ret - } // end of method ConfigureDefines::.ctor + .set instance default void Bless.Util.RedBlackTree`2/Node::set_Values (class [mscorlib]System.Collections.Generic.IList`1 'value') + } + .property instance class Bless.Util.RedBlackTree`2/INode Left () + { + .get instance default class Bless.Util.RedBlackTree`2/INode Bless.Util.RedBlackTree`2/Node::get_Left () + .set instance default void Bless.Util.RedBlackTree`2/Node::set_Left (class Bless.Util.RedBlackTree`2/INode 'value') + } + .property instance class Bless.Util.RedBlackTree`2/INode Right () + { + .get instance default class Bless.Util.RedBlackTree`2/INode Bless.Util.RedBlackTree`2/Node::get_Right () + .set instance default void Bless.Util.RedBlackTree`2/Node::set_Right (class Bless.Util.RedBlackTree`2/INode 'value') + } + .property instance valuetype Bless.Util.RedBlackTree`2/Color Color () + { + .get instance default valuetype Bless.Util.RedBlackTree`2/Color Bless.Util.RedBlackTree`2/Node::get_Color () + .set instance default void Bless.Util.RedBlackTree`2/Node::set_Color (valuetype Bless.Util.RedBlackTree`2/Color 'value') + } + } // end of class Node - } // end of class Bless.Util.ConfigureDefines + } // end of class Bless.Util.RedBlackTree`2 } .namespace Bless.Util @@ -4333,11 +3886,11 @@ { .field public static int32[] DefaultMinDigits - // method line 137 + // method line 131 .method private hidebysig specialname rtspecialname instance default void '.ctor' () cil managed { - // Method begins at RVA 0x3c0f + // Method begins at RVA 0x389e // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -4345,11 +3898,11 @@ IL_0006: ret } // end of method BaseConverter::.ctor - // method line 138 + // method line 132 .method public static hidebysig default string ConvertToString (int64 num, int32 b) cil managed { - // Method begins at RVA 0x3c17 + // Method begins at RVA 0x38a6 // Code size 11 (0xb) .maxstack 8 IL_0000: ldarg.0 @@ -4361,11 +3914,11 @@ IL_000a: ret } // end of method BaseConverter::ConvertToString - // method line 139 + // method line 133 .method public static hidebysig default string ConvertToString (int64 num, int32 b, bool prependPrefix, bool lowercase, int32 minDigits) cil managed { - // Method begins at RVA 0x3c24 + // Method begins at RVA 0x38b4 // Code size 221 (0xdd) .maxstack 4 .locals init ( @@ -4435,1032 +3988,1479 @@ IL_0065: conv.i8 IL_0066: bgt IL_002e - IL_006b: ldarg.s 4 - IL_006d: brtrue IL_007b + IL_006b: ldarg.s 4 + IL_006d: brtrue IL_007b + + IL_0072: ldsfld int32[] Bless.Util.BaseConverter::DefaultMinDigits + IL_0077: ldarg.1 + IL_0078: ldelem.i4 + IL_0079: starg.s 4 + IL_007b: br IL_008a + + IL_0080: ldloc.0 + IL_0081: ldc.i4.0 + IL_0082: ldc.i4.s 0x30 + IL_0084: callvirt instance class [mscorlib]System.Text.StringBuilder class [mscorlib]System.Text.StringBuilder::Insert(int32, char) + IL_0089: pop + IL_008a: ldloc.0 + IL_008b: callvirt instance int32 class [mscorlib]System.Text.StringBuilder::get_Length() + IL_0090: ldarg.s 4 + IL_0092: blt IL_0080 + + IL_0097: ldarg.2 + IL_0098: brfalse IL_00d6 + + IL_009d: ldarg.1 + IL_009e: ldc.i4.s 0x10 + IL_00a0: bne.un IL_00b7 + + IL_00a5: ldloc.0 + IL_00a6: ldc.i4.0 + IL_00a7: ldstr "0x" + IL_00ac: callvirt instance class [mscorlib]System.Text.StringBuilder class [mscorlib]System.Text.StringBuilder::Insert(int32, string) + IL_00b1: pop + IL_00b2: br IL_00d6 + + IL_00b7: ldarg.1 + IL_00b8: ldc.i4.8 + IL_00b9: bne.un IL_00d6 + + IL_00be: ldloc.0 + IL_00bf: ldc.i4.0 + IL_00c0: callvirt instance char class [mscorlib]System.Text.StringBuilder::get_Chars(int32) + IL_00c5: ldc.i4.s 0x30 + IL_00c7: beq IL_00d6 + + IL_00cc: ldloc.0 + IL_00cd: ldc.i4.0 + IL_00ce: ldc.i4.s 0x30 + IL_00d0: callvirt instance class [mscorlib]System.Text.StringBuilder class [mscorlib]System.Text.StringBuilder::Insert(int32, char) + IL_00d5: pop + IL_00d6: ldloc.0 + IL_00d7: callvirt instance string object::ToString() + IL_00dc: ret + } // end of method BaseConverter::ConvertToString + + // method line 134 + .method private static hidebysig + default int32 CharToInt (char c, int32 b) cil managed + { + // Method begins at RVA 0x39a0 + // Code size 109 (0x6d) + .maxstack 3 + .locals init ( + int32 V_0) + IL_0000: ldc.i4.m1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldc.i4.s 0x30 + IL_0005: blt IL_001c + + IL_000a: ldarg.0 + IL_000b: ldc.i4.s 0x39 + IL_000d: bgt IL_001c + + IL_0012: ldarg.0 + IL_0013: ldc.i4.s 0x30 + IL_0015: sub + IL_0016: stloc.0 + IL_0017: br IL_003c + + IL_001c: ldarg.0 + IL_001d: call char char::ToLower(char) + IL_0022: starg.s 0 + IL_0024: ldarg.0 + IL_0025: ldc.i4.s 0x61 + IL_0027: blt IL_003c + + IL_002c: ldarg.0 + IL_002d: ldc.i4.s 0x66 + IL_002f: bgt IL_003c + + IL_0034: ldarg.0 + IL_0035: ldc.i4.s 0x61 + IL_0037: sub + IL_0038: ldc.i4.s 0x0a + IL_003a: add + IL_003b: stloc.0 + IL_003c: ldloc.0 + IL_003d: ldarg.1 + IL_003e: bge IL_004a + + IL_0043: ldloc.0 + IL_0044: ldc.i4.m1 + IL_0045: bne.un IL_006b + + IL_004a: ldstr "Character '{0}' is not valid in a number of base {1}." + IL_004f: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) + IL_0054: ldarg.0 + IL_0055: box [mscorlib]System.Char + IL_005a: ldarg.1 + IL_005b: box [mscorlib]System.Int32 + IL_0060: call string string::Format(string, object, object) + IL_0065: newobj instance void class [mscorlib]System.FormatException::'.ctor'(string) + IL_006a: throw + IL_006b: ldloc.0 + IL_006c: ret + } // end of method BaseConverter::CharToInt + + // method line 135 + .method public static hidebysig + default int64 ConvertToNum (string s, int32 startIndex, int32 endIndex, int32 b) cil managed + { + // Method begins at RVA 0x3a1c + // Code size 43 (0x2b) + .maxstack 3 + .locals init ( + int64 V_0, + int32 V_1) + IL_0000: ldc.i4.0 + IL_0001: conv.i8 + IL_0002: stloc.0 + IL_0003: ldarg.1 + IL_0004: stloc.1 + IL_0005: br IL_0022 + + IL_000a: ldarg.3 + IL_000b: conv.i8 + IL_000c: ldloc.0 + IL_000d: mul + IL_000e: ldarg.0 + IL_000f: ldloc.1 + IL_0010: callvirt instance char string::get_Chars(int32) + IL_0015: ldarg.3 + IL_0016: call int32 class Bless.Util.BaseConverter::CharToInt(char, int32) + IL_001b: conv.i8 + IL_001c: add + IL_001d: stloc.0 + IL_001e: ldloc.1 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.1 + IL_0022: ldloc.1 + IL_0023: ldarg.2 + IL_0024: ble IL_000a + + IL_0029: ldloc.0 + IL_002a: ret + } // end of method BaseConverter::ConvertToNum + + // method line 136 + .method public static hidebysig + default int64 ConvertToNum (string s, int32 b) cil managed + { + // Method begins at RVA 0x3a53 + // Code size 17 (0x11) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: ldarg.0 + IL_0003: callvirt instance int32 string::get_Length() + IL_0008: ldc.i4.1 + IL_0009: sub + IL_000a: ldarg.1 + IL_000b: call int64 class Bless.Util.BaseConverter::ConvertToNum(string, int32, int32, int32) + IL_0010: ret + } // end of method BaseConverter::ConvertToNum + + // method line 137 + .method public static hidebysig + default int64 Parse (string s) cil managed + { + // Method begins at RVA 0x3a68 + // Code size 135 (0x87) + .maxstack 4 + .locals init ( + string V_0, + int32 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: callvirt instance string string::Trim() + IL_0006: stloc.0 + IL_0007: ldc.i4.0 + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: callvirt instance int32 string::get_Length() + IL_000f: stloc.2 + IL_0010: ldloc.2 + IL_0011: brtrue IL_0026 + + IL_0016: ldstr "The string to parse is empty." + IL_001b: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) + IL_0020: newobj instance void class [mscorlib]System.FormatException::'.ctor'(string) + IL_0025: throw + IL_0026: ldloc.1 + IL_0027: ldc.i4.1 + IL_0028: add + IL_0029: ldloc.2 + IL_002a: bge IL_0061 + + IL_002f: ldloc.0 + IL_0030: ldloc.1 + IL_0031: callvirt instance char string::get_Chars(int32) + IL_0036: ldc.i4.s 0x30 + IL_0038: bne.un IL_0061 + + IL_003d: ldloc.0 + IL_003e: ldloc.1 + IL_003f: ldc.i4.1 + IL_0040: add + IL_0041: callvirt instance char string::get_Chars(int32) + IL_0046: ldc.i4.s 0x78 + IL_0048: bne.un IL_0061 + + IL_004d: ldloc.0 + IL_004e: ldloc.1 + IL_004f: ldc.i4.2 + IL_0050: add + IL_0051: ldloc.0 + IL_0052: callvirt instance int32 string::get_Length() + IL_0057: ldc.i4.1 + IL_0058: sub + IL_0059: ldc.i4.s 0x10 + IL_005b: call int64 class Bless.Util.BaseConverter::ConvertToNum(string, int32, int32, int32) + IL_0060: ret + IL_0061: ldloc.1 + IL_0062: ldloc.2 + IL_0063: bge IL_007e + + IL_0068: ldloc.0 + IL_0069: ldloc.1 + IL_006a: callvirt instance char string::get_Chars(int32) + IL_006f: ldc.i4.s 0x30 + IL_0071: bne.un IL_007e - IL_0072: ldsfld int32[] Bless.Util.BaseConverter::DefaultMinDigits - IL_0077: ldarg.1 - IL_0078: ldelem.i4 - IL_0079: starg.s 4 - IL_007b: br IL_008a + IL_0076: ldloc.0 + IL_0077: ldc.i4.8 + IL_0078: call int64 class Bless.Util.BaseConverter::ConvertToNum(string, int32) + IL_007d: ret + IL_007e: ldloc.0 + IL_007f: ldc.i4.s 0x0a + IL_0081: call int64 class Bless.Util.BaseConverter::ConvertToNum(string, int32) + IL_0086: ret + } // end of method BaseConverter::Parse - IL_0080: ldloc.0 - IL_0081: ldc.i4.0 - IL_0082: ldc.i4.s 0x30 - IL_0084: callvirt instance class [mscorlib]System.Text.StringBuilder class [mscorlib]System.Text.StringBuilder::Insert(int32, char) - IL_0089: pop - IL_008a: ldloc.0 - IL_008b: callvirt instance int32 class [mscorlib]System.Text.StringBuilder::get_Length() - IL_0090: ldarg.s 4 - IL_0092: blt IL_0080 + // method line 138 + .method private static hidebysig specialname rtspecialname + default void '.cctor' () cil managed + { + // Method begins at RVA 0x3afb + // Code size 24 (0x18) + .maxstack 8 + IL_0000: ldc.i4.s 0x11 + IL_0002: newarr [mscorlib]System.Int32 + IL_0007: dup + IL_0008: ldtoken field valuetype ''/'$ArrayType=68' ''::'$field-D442AC57A7E324FE61ED421E827DE44EBE129B07' + IL_000d: call void class [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(class [mscorlib]System.Array, valuetype [mscorlib]System.RuntimeFieldHandle) + IL_0012: stsfld int32[] Bless.Util.BaseConverter::DefaultMinDigits + IL_0017: ret + } // end of method BaseConverter::.cctor - IL_0097: ldarg.2 - IL_0098: brfalse IL_00d6 + } // end of class Bless.Util.BaseConverter +} - IL_009d: ldarg.1 - IL_009e: ldc.i4.s 0x10 - IL_00a0: bne.un IL_00b7 +.namespace Bless.Util +{ + .class public auto ansi beforefieldinit List`1 + extends [mscorlib]System.Object + implements class [mscorlib]System.Collections.Generic.IEnumerable`1, [mscorlib]System.Collections.IEnumerable { + .custom instance void class [mscorlib]System.Reflection.DefaultMemberAttribute::'.ctor'(string) = (01 00 04 49 74 65 6D 00 00 ) // ...Item.. - IL_00a5: ldloc.0 - IL_00a6: ldc.i4.0 - IL_00a7: ldstr "0x" - IL_00ac: callvirt instance class [mscorlib]System.Text.StringBuilder class [mscorlib]System.Text.StringBuilder::Insert(int32, string) - IL_00b1: pop - IL_00b2: br IL_00d6 + .field private class Bless.Util.List`1/Node m_first + .field private class Bless.Util.List`1/Node m_last + .field private int32 m_count - IL_00b7: ldarg.1 - IL_00b8: ldc.i4.8 - IL_00b9: bne.un IL_00d6 + // method line 139 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' () cil managed + { + // Method begins at RVA 0x3b14 + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void object::'.ctor'() + IL_0006: ldarg.0 + IL_0007: ldnull + IL_0008: stfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first + IL_000d: ldarg.0 + IL_000e: ldnull + IL_000f: stfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last + IL_0014: ret + } // end of method List`1::.ctor - IL_00be: ldloc.0 - IL_00bf: ldc.i4.0 - IL_00c0: callvirt instance char class [mscorlib]System.Text.StringBuilder::get_Chars(int32) - IL_00c5: ldc.i4.s 0x30 - IL_00c7: beq IL_00d6 + // method line 140 + .method private hidebysig + instance default class Bless.Util.List`1/Node AddFirst (!T o) cil managed + { + // Method begins at RVA 0x3b2a + // Code size 47 (0x2f) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldnull + IL_0003: ldnull + IL_0004: newobj instance void class Bless.Util.List`1/Node::'.ctor'(!0, class Bless.Util.List`1/Node, class Bless.Util.List`1/Node) + IL_0009: stfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first + IL_000e: ldarg.0 + IL_000f: ldarg.0 + IL_0010: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first + IL_0015: stfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last + IL_001a: ldarg.0 + IL_001b: dup + IL_001c: ldfld int32 class Bless.Util.List`1::m_count + IL_0021: ldc.i4.1 + IL_0022: add + IL_0023: stfld int32 class Bless.Util.List`1::m_count + IL_0028: ldarg.0 + IL_0029: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first + IL_002e: ret + } // end of method List`1::AddFirst - IL_00cc: ldloc.0 - IL_00cd: ldc.i4.0 - IL_00ce: ldc.i4.s 0x30 - IL_00d0: callvirt instance class [mscorlib]System.Text.StringBuilder class [mscorlib]System.Text.StringBuilder::Insert(int32, char) - IL_00d5: pop - IL_00d6: ldloc.0 - IL_00d7: callvirt instance string object::ToString() - IL_00dc: ret - } // end of method BaseConverter::ConvertToString + // method line 141 + .method public hidebysig + instance default class Bless.Util.List`1/Node Append (!T o) cil managed + { + // Method begins at RVA 0x3b5a + // Code size 14 (0xe) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.0 + IL_0002: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last + IL_0007: ldarg.1 + IL_0008: call instance class Bless.Util.List`1/Node class Bless.Util.List`1::InsertAfter(class Bless.Util.List`1/Node, !0) + IL_000d: ret + } // end of method List`1::Append - // method line 140 - .method private static hidebysig - default int32 CharToInt (char c, int32 b) cil managed + // method line 142 + .method public hidebysig + instance default class Bless.Util.List`1/Node InsertBefore (class Bless.Util.List`1/Node n, !T o) cil managed { - // Method begins at RVA 0x3d10 - // Code size 109 (0x6d) + // Method begins at RVA 0x3b6c + // Code size 103 (0x67) .maxstack 3 .locals init ( - int32 V_0) - IL_0000: ldc.i4.m1 - IL_0001: stloc.0 - IL_0002: ldarg.0 - IL_0003: ldc.i4.s 0x30 - IL_0005: blt IL_001c + class Bless.Util.List`1/Node V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last + IL_0006: brtrue IL_0013 - IL_000a: ldarg.0 - IL_000b: ldc.i4.s 0x39 - IL_000d: bgt IL_001c + IL_000b: ldarg.0 + IL_000c: ldarg.2 + IL_000d: call instance class Bless.Util.List`1/Node class Bless.Util.List`1::AddFirst(!0) + IL_0012: ret + IL_0013: ldarg.2 + IL_0014: ldarg.1 + IL_0015: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev + IL_001a: ldarg.1 + IL_001b: newobj instance void class Bless.Util.List`1/Node::'.ctor'(!0, class Bless.Util.List`1/Node, class Bless.Util.List`1/Node) + IL_0020: stloc.0 + IL_0021: ldarg.1 + IL_0022: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev + IL_0027: brfalse IL_0038 - IL_0012: ldarg.0 - IL_0013: ldc.i4.s 0x30 - IL_0015: sub - IL_0016: stloc.0 - IL_0017: br IL_003c + IL_002c: ldarg.1 + IL_002d: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev + IL_0032: ldloc.0 + IL_0033: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next + IL_0038: ldarg.1 + IL_0039: ldloc.0 + IL_003a: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev + IL_003f: ldarg.1 + IL_0040: ldarg.0 + IL_0041: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first + IL_0046: call bool object::ReferenceEquals(object, object) + IL_004b: brfalse IL_0057 - IL_001c: ldarg.0 - IL_001d: call char char::ToLower(char) - IL_0022: starg.s 0 - IL_0024: ldarg.0 - IL_0025: ldc.i4.s 0x61 - IL_0027: blt IL_003c + IL_0050: ldarg.0 + IL_0051: ldloc.0 + IL_0052: stfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first + IL_0057: ldarg.0 + IL_0058: dup + IL_0059: ldfld int32 class Bless.Util.List`1::m_count + IL_005e: ldc.i4.1 + IL_005f: add + IL_0060: stfld int32 class Bless.Util.List`1::m_count + IL_0065: ldloc.0 + IL_0066: ret + } // end of method List`1::InsertBefore - IL_002c: ldarg.0 - IL_002d: ldc.i4.s 0x66 - IL_002f: bgt IL_003c + // method line 143 + .method public hidebysig + instance default class Bless.Util.List`1/Node InsertAfter (class Bless.Util.List`1/Node n, !T o) cil managed + { + // Method begins at RVA 0x3be0 + // Code size 103 (0x67) + .maxstack 3 + .locals init ( + class Bless.Util.List`1/Node V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last + IL_0006: brtrue IL_0013 - IL_0034: ldarg.0 - IL_0035: ldc.i4.s 0x61 - IL_0037: sub - IL_0038: ldc.i4.s 0x0a - IL_003a: add - IL_003b: stloc.0 - IL_003c: ldloc.0 - IL_003d: ldarg.1 - IL_003e: bge IL_004a + IL_000b: ldarg.0 + IL_000c: ldarg.2 + IL_000d: call instance class Bless.Util.List`1/Node class Bless.Util.List`1::AddFirst(!0) + IL_0012: ret + IL_0013: ldarg.2 + IL_0014: ldarg.1 + IL_0015: ldarg.1 + IL_0016: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next + IL_001b: newobj instance void class Bless.Util.List`1/Node::'.ctor'(!0, class Bless.Util.List`1/Node, class Bless.Util.List`1/Node) + IL_0020: stloc.0 + IL_0021: ldarg.1 + IL_0022: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next + IL_0027: brfalse IL_0038 - IL_0043: ldloc.0 - IL_0044: ldc.i4.m1 - IL_0045: bne.un IL_006b + IL_002c: ldarg.1 + IL_002d: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next + IL_0032: ldloc.0 + IL_0033: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev + IL_0038: ldarg.1 + IL_0039: ldloc.0 + IL_003a: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next + IL_003f: ldarg.1 + IL_0040: ldarg.0 + IL_0041: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last + IL_0046: call bool object::ReferenceEquals(object, object) + IL_004b: brfalse IL_0057 - IL_004a: ldstr "Character '{0}' is not valid in a number of base {1}." - IL_004f: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) - IL_0054: ldarg.0 - IL_0055: box [mscorlib]System.Char - IL_005a: ldarg.1 - IL_005b: box [mscorlib]System.Int32 - IL_0060: call string string::Format(string, object, object) - IL_0065: newobj instance void class [mscorlib]System.FormatException::'.ctor'(string) - IL_006a: throw - IL_006b: ldloc.0 - IL_006c: ret - } // end of method BaseConverter::CharToInt + IL_0050: ldarg.0 + IL_0051: ldloc.0 + IL_0052: stfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last + IL_0057: ldarg.0 + IL_0058: dup + IL_0059: ldfld int32 class Bless.Util.List`1::m_count + IL_005e: ldc.i4.1 + IL_005f: add + IL_0060: stfld int32 class Bless.Util.List`1::m_count + IL_0065: ldloc.0 + IL_0066: ret + } // end of method List`1::InsertAfter - // method line 141 - .method public static hidebysig - default int64 ConvertToNum (string s, int32 startIndex, int32 endIndex, int32 b) cil managed + // method line 144 + .method public hidebysig + instance default void Remove (class Bless.Util.List`1/Node n) cil managed { - // Method begins at RVA 0x3d8c - // Code size 43 (0x2b) + // Method begins at RVA 0x3c54 + // Code size 143 (0x8f) .maxstack 3 - .locals init ( - int64 V_0, - int32 V_1) - IL_0000: ldc.i4.0 - IL_0001: conv.i8 - IL_0002: stloc.0 - IL_0003: ldarg.1 - IL_0004: stloc.1 - IL_0005: br IL_0022 + IL_0000: ldarg.1 + IL_0001: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev + IL_0006: brfalse IL_001c - IL_000a: ldarg.3 - IL_000b: conv.i8 - IL_000c: ldloc.0 - IL_000d: mul - IL_000e: ldarg.0 - IL_000f: ldloc.1 - IL_0010: callvirt instance char string::get_Chars(int32) - IL_0015: ldarg.3 - IL_0016: call int32 class Bless.Util.BaseConverter::CharToInt(char, int32) - IL_001b: conv.i8 - IL_001c: add - IL_001d: stloc.0 - IL_001e: ldloc.1 - IL_001f: ldc.i4.1 - IL_0020: add - IL_0021: stloc.1 - IL_0022: ldloc.1 - IL_0023: ldarg.2 - IL_0024: ble IL_000a + IL_000b: ldarg.1 + IL_000c: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev + IL_0011: ldarg.1 + IL_0012: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next + IL_0017: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next + IL_001c: ldarg.1 + IL_001d: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next + IL_0022: brfalse IL_0038 - IL_0029: ldloc.0 - IL_002a: ret - } // end of method BaseConverter::ConvertToNum + IL_0027: ldarg.1 + IL_0028: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next + IL_002d: ldarg.1 + IL_002e: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev + IL_0033: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev + IL_0038: ldarg.1 + IL_0039: ldarg.0 + IL_003a: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first + IL_003f: call bool object::ReferenceEquals(object, object) + IL_0044: brfalse IL_0055 - // method line 142 - .method public static hidebysig - default int64 ConvertToNum (string s, int32 b) cil managed - { - // Method begins at RVA 0x3dc3 - // Code size 17 (0x11) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldc.i4.0 - IL_0002: ldarg.0 - IL_0003: callvirt instance int32 string::get_Length() - IL_0008: ldc.i4.1 - IL_0009: sub - IL_000a: ldarg.1 - IL_000b: call int64 class Bless.Util.BaseConverter::ConvertToNum(string, int32, int32, int32) - IL_0010: ret - } // end of method BaseConverter::ConvertToNum + IL_0049: ldarg.0 + IL_004a: ldarg.1 + IL_004b: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next + IL_0050: stfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first + IL_0055: ldarg.1 + IL_0056: ldarg.0 + IL_0057: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last + IL_005c: call bool object::ReferenceEquals(object, object) + IL_0061: brfalse IL_0072 - // method line 143 - .method public static hidebysig - default int64 Parse (string s) cil managed + IL_0066: ldarg.0 + IL_0067: ldarg.1 + IL_0068: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev + IL_006d: stfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last + IL_0072: ldarg.1 + IL_0073: ldnull + IL_0074: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next + IL_0079: ldarg.1 + IL_007a: ldnull + IL_007b: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev + IL_0080: ldarg.0 + IL_0081: dup + IL_0082: ldfld int32 class Bless.Util.List`1::m_count + IL_0087: ldc.i4.1 + IL_0088: sub + IL_0089: stfld int32 class Bless.Util.List`1::m_count + IL_008e: ret + } // end of method List`1::Remove + + // method line 145 + .method public hidebysig specialname + instance default !T get_Item (int32 index) cil managed { - // Method begins at RVA 0x3dd8 - // Code size 135 (0x87) - .maxstack 4 + // Method begins at RVA 0x3cf0 + // Code size 61 (0x3d) + .maxstack 2 .locals init ( - string V_0, - int32 V_1, + !T V_0, + class Bless.Util.List`1/Node V_1, int32 V_2) - IL_0000: ldarg.0 - IL_0001: callvirt instance string string::Trim() - IL_0006: stloc.0 - IL_0007: ldc.i4.0 - IL_0008: stloc.1 - IL_0009: ldloc.0 - IL_000a: callvirt instance int32 string::get_Length() - IL_000f: stloc.2 - IL_0010: ldloc.2 - IL_0011: brtrue IL_0026 - - IL_0016: ldstr "The string to parse is empty." - IL_001b: call string class [Mono.Posix]Mono.Unix.Catalog::GetString(string) - IL_0020: newobj instance void class [mscorlib]System.FormatException::'.ctor'(string) - IL_0025: throw - IL_0026: ldloc.1 - IL_0027: ldc.i4.1 - IL_0028: add - IL_0029: ldloc.2 - IL_002a: bge IL_0061 - - IL_002f: ldloc.0 - IL_0030: ldloc.1 - IL_0031: callvirt instance char string::get_Chars(int32) - IL_0036: ldc.i4.s 0x30 - IL_0038: bne.un IL_0061 - - IL_003d: ldloc.0 - IL_003e: ldloc.1 - IL_003f: ldc.i4.1 - IL_0040: add - IL_0041: callvirt instance char string::get_Chars(int32) - IL_0046: ldc.i4.s 0x78 - IL_0048: bne.un IL_0061 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld int32 class Bless.Util.List`1::m_count + IL_0007: ble IL_0016 - IL_004d: ldloc.0 - IL_004e: ldloc.1 - IL_004f: ldc.i4.2 - IL_0050: add - IL_0051: ldloc.0 - IL_0052: callvirt instance int32 string::get_Length() - IL_0057: ldc.i4.1 - IL_0058: sub - IL_0059: ldc.i4.s 0x10 - IL_005b: call int64 class Bless.Util.BaseConverter::ConvertToNum(string, int32, int32, int32) - IL_0060: ret - IL_0061: ldloc.1 - IL_0062: ldloc.2 - IL_0063: bge IL_007e + IL_000c: ldloca.s 0 + IL_000e: initobj !0 + IL_0014: ldloc.0 + IL_0015: ret + IL_0016: ldarg.0 + IL_0017: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first + IL_001c: stloc.1 + IL_001d: ldc.i4.0 + IL_001e: stloc.2 + IL_001f: br IL_002f - IL_0068: ldloc.0 - IL_0069: ldloc.1 - IL_006a: callvirt instance char string::get_Chars(int32) - IL_006f: ldc.i4.s 0x30 - IL_0071: bne.un IL_007e + IL_0024: ldloc.1 + IL_0025: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next + IL_002a: stloc.1 + IL_002b: ldloc.2 + IL_002c: ldc.i4.1 + IL_002d: add + IL_002e: stloc.2 + IL_002f: ldloc.2 + IL_0030: ldarg.1 + IL_0031: blt IL_0024 - IL_0076: ldloc.0 - IL_0077: ldc.i4.8 - IL_0078: call int64 class Bless.Util.BaseConverter::ConvertToNum(string, int32) - IL_007d: ret - IL_007e: ldloc.0 - IL_007f: ldc.i4.s 0x0a - IL_0081: call int64 class Bless.Util.BaseConverter::ConvertToNum(string, int32) - IL_0086: ret - } // end of method BaseConverter::Parse + IL_0036: ldloc.1 + IL_0037: ldfld !0 class Bless.Util.List`1/Node::data + IL_003c: ret + } // end of method List`1::get_Item - // method line 144 - .method private static hidebysig specialname rtspecialname - default void '.cctor' () cil managed + // method line 146 + .method public final virtual hidebysig newslot + instance default class [mscorlib]System.Collections.Generic.IEnumerator`1 GetEnumerator () cil managed { - // Method begins at RVA 0x3e6b - // Code size 24 (0x18) - .maxstack 8 - IL_0000: ldc.i4.s 0x11 - IL_0002: newarr [mscorlib]System.Int32 - IL_0007: dup - IL_0008: ldtoken field valuetype ''/'$ArrayType=68' ''::'$field-D442AC57A7E324FE61ED421E827DE44EBE129B07' - IL_000d: call void class [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(class [mscorlib]System.Array, valuetype [mscorlib]System.RuntimeFieldHandle) - IL_0012: stsfld int32[] Bless.Util.BaseConverter::DefaultMinDigits - IL_0017: ret - } // end of method BaseConverter::.cctor - - } // end of class Bless.Util.BaseConverter -} + .custom instance void class [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::'.ctor'() = (01 00 00 00 ) // .... -.namespace Bless.Util -{ - .class public auto ansi beforefieldinit RangeCollection - extends [mscorlib]System.Collections.ArrayList - { + // Method begins at RVA 0x3d3c + // Code size 15 (0xf) + .maxstack 2 + .locals init ( + class Bless.Util.List`1/'c__Iterator0' V_0) + IL_0000: newobj instance void class Bless.Util.List`1/'c__Iterator0'::'.ctor'() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldarg.0 + IL_0008: stfld class Bless.Util.List`1 class Bless.Util.List`1/'c__Iterator0'::$this + IL_000d: ldloc.0 + IL_000e: ret + } // end of method List`1::GetEnumerator - // method line 145 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed + // method line 147 + .method private final virtual hidebysig newslot + instance default class [mscorlib]System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator () cil managed { - // Method begins at RVA 0x3e84 - // Code size 19 (0x13) + // Method begins at RVA 0x3d57 + .override Could not decode method override class [mscorlib]System.Collections.IEnumerable::GetEnumerator due to (null) + // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void class [mscorlib]System.Collections.ArrayList::'.ctor'() - IL_0006: ldarg.0 - IL_0007: newobj instance void class Bless.Util.Range::'.ctor'() - IL_000c: callvirt instance int32 class [mscorlib]System.Collections.ArrayList::Add(object) - IL_0011: pop - IL_0012: ret - } // end of method RangeCollection::.ctor + IL_0001: call instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class Bless.Util.List`1::GetEnumerator() + IL_0006: ret + } // end of method List`1::System.Collections.IEnumerable.GetEnumerator - // method line 146 + // method line 148 + .method public hidebysig + instance default void Display () cil managed + { + // Method begins at RVA 0x3d60 + // Code size 52 (0x34) + .maxstack 2 + .locals init ( + class Bless.Util.List`1/Node V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first + IL_0006: stloc.0 + IL_0007: br IL_0028 + + IL_000c: ldstr "{0}<=>" + IL_0011: ldloc.0 + IL_0012: ldfld !0 class Bless.Util.List`1/Node::data + IL_0017: box !0 + IL_001c: call void class [mscorlib]System.Console::Write(string, object) + IL_0021: ldloc.0 + IL_0022: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next + IL_0027: stloc.0 + IL_0028: ldloc.0 + IL_0029: brtrue IL_000c + + IL_002e: call void class [mscorlib]System.Console::WriteLine() + IL_0033: ret + } // end of method List`1::Display + + // method line 149 .method public hidebysig specialname - instance default class Bless.Util.Range get_LastAdded () cil managed + instance default class Bless.Util.List`1/Node get_First () cil managed { - // Method begins at RVA 0x3e98 - // Code size 20 (0x14) + // Method begins at RVA 0x3da0 + // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldarg.0 - IL_0002: callvirt instance int32 class [mscorlib]System.Collections.ArrayList::get_Count() - IL_0007: ldc.i4.1 - IL_0008: sub - IL_0009: callvirt instance object class [mscorlib]System.Collections.ArrayList::get_Item(int32) - IL_000e: castclass Bless.Util.Range - IL_0013: ret - } // end of method RangeCollection::get_LastAdded + IL_0001: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_first + IL_0006: ret + } // end of method List`1::get_First - // method line 147 - .method public hidebysig - instance default void UpdateRange (class Bless.Util.Range oldRange, class Bless.Util.Range newRange) cil managed + // method line 150 + .method public hidebysig specialname + instance default class Bless.Util.List`1/Node get_Last () cil managed { - // Method begins at RVA 0x3eb0 - // Code size 24 (0x18) - .maxstack 3 - .locals init ( - int32 V_0) + // Method begins at RVA 0x3da8 + // Code size 7 (0x7) + .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: callvirt instance int32 class [mscorlib]System.Collections.ArrayList::IndexOf(object) - IL_0007: stloc.0 - IL_0008: ldarg.0 - IL_0009: ldloc.0 - IL_000a: callvirt instance void class [mscorlib]System.Collections.ArrayList::RemoveAt(int32) - IL_000f: ldarg.0 - IL_0010: ldloc.0 - IL_0011: ldarg.2 - IL_0012: callvirt instance void class [mscorlib]System.Collections.ArrayList::Insert(int32, object) - IL_0017: ret - } // end of method RangeCollection::UpdateRange + IL_0001: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1::m_last + IL_0006: ret + } // end of method List`1::get_Last - // method line 148 - .method public hidebysig - instance default void Clear () cil managed + // method line 151 + .method public hidebysig specialname + instance default int32 get_Count () cil managed { - // Method begins at RVA 0x3ed4 - // Code size 19 (0x13) + // Method begins at RVA 0x3db0 + // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void class [mscorlib]System.Collections.ArrayList::Clear() - IL_0006: ldarg.0 - IL_0007: newobj instance void class Bless.Util.Range::'.ctor'() - IL_000c: callvirt instance int32 class [mscorlib]System.Collections.ArrayList::Add(object) - IL_0011: pop - IL_0012: ret - } // end of method RangeCollection::Clear + IL_0001: ldfld int32 class Bless.Util.List`1::m_count + IL_0006: ret + } // end of method List`1::get_Count - .property instance class Bless.Util.Range LastAdded () + .property instance !T Item (int32) { - .get instance default class Bless.Util.Range Bless.Util.RangeCollection::get_LastAdded () + .get instance default !0 Bless.Util.List`1::get_Item (int32 index) } - } // end of class Bless.Util.RangeCollection -} - -.namespace Bless.Util -{ - .class public auto ansi abstract beforefieldinit ThreadedAsyncOperation + .property instance class Bless.Util.List`1/Node First () + { + .get instance default class Bless.Util.List`1/Node Bless.Util.List`1::get_First () + } + .property instance class Bless.Util.List`1/Node Last () + { + .get instance default class Bless.Util.List`1/Node Bless.Util.List`1::get_Last () + } + .property instance int32 Count () + { + .get instance default int32 Bless.Util.List`1::get_Count () + } + .class nested public auto ansi beforefieldinit Node extends [mscorlib]System.Object { - .field family bool cancelled - .field family class Bless.Util.ProgressCallback progressCallback - .field family class [mscorlib]System.AsyncCallback opFinishedCallback - .field family bool activateProgress - .field private class [mscorlib]System.Exception threadException - .field private valuetype Bless.Util.ThreadedAsyncOperation/OperationResult opResult - .field private bool useGLibIdle - .field private class [mscorlib]System.Threading.Timer showProgressTimer - .field private class [mscorlib]System.Threading.Timer progressTimer + .field public !0 data + .field public class Bless.Util.List`1/Node next + .field public class Bless.Util.List`1/Node prev - // method line 149 + // method line 152 .method public hidebysig specialname rtspecialname - instance default void '.ctor' (class Bless.Util.ProgressCallback pc, class [mscorlib]System.AsyncCallback ac, bool glibIdle) cil managed + instance default void '.ctor' (!T d, class Bless.Util.List`1/Node p, class Bless.Util.List`1/Node n) cil managed { - // Method begins at RVA 0x3ee8 - // Code size 94 (0x5e) - .maxstack 5 + // Method begins at RVA 0x3db8 + // Code size 28 (0x1c) + .maxstack 8 IL_0000: ldarg.0 IL_0001: call instance void object::'.ctor'() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class Bless.Util.ProgressCallback Bless.Util.ThreadedAsyncOperation::progressCallback + IL_0008: stfld !0 class Bless.Util.List`1/Node::data IL_000d: ldarg.0 IL_000e: ldarg.2 - IL_000f: stfld class [mscorlib]System.AsyncCallback Bless.Util.ThreadedAsyncOperation::opFinishedCallback + IL_000f: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::prev IL_0014: ldarg.0 IL_0015: ldarg.3 - IL_0016: stfld bool Bless.Util.ThreadedAsyncOperation::useGLibIdle - IL_001b: ldarg.0 - IL_001c: ldc.i4.0 - IL_001d: stfld bool Bless.Util.ThreadedAsyncOperation::cancelled + IL_0016: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next + IL_001b: ret + } // end of method Node::.ctor + + } // end of class Node + + .class nested private auto ansi sealed beforefieldinit 'c__Iterator0' + extends [mscorlib]System.Object + implements [mscorlib]System.Collections.IEnumerator, [mscorlib]System.IDisposable, class [mscorlib]System.Collections.Generic.IEnumerator`1 { + .custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // .... + + .field assembly class Bless.Util.List`1/Node '__0' + .field assembly class Bless.Util.List`1 $this + .field assembly !0 $current + .field assembly bool $disposing + .field assembly int32 $PC + + // method line 176 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' () cil managed + { + .custom instance void class [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::'.ctor'() = (01 00 00 00 ) // .... + + // Method begins at RVA 0x3dd5 + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void object::'.ctor'() + IL_0006: ret + } // end of method c__Iterator0::.ctor + + // method line 177 + .method public final virtual hidebysig newslot + instance default bool MoveNext () cil managed + { + // Method begins at RVA 0x3de0 + // Code size 131 (0x83) + .maxstack 2 + .locals init ( + unsigned int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 class Bless.Util.List`1/'c__Iterator0'::$PC + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: ldc.i4.m1 + IL_0009: stfld int32 class Bless.Util.List`1/'c__Iterator0'::$PC + IL_000e: ldloc.0 + IL_000f: switch ( + IL_0021, + IL_005c) + IL_001c: br IL_007f + + IL_0021: ldarg.0 IL_0022: ldarg.0 - IL_0023: ldc.i4.1 - IL_0024: stfld bool Bless.Util.ThreadedAsyncOperation::activateProgress - IL_0029: ldarg.0 - IL_002a: ldarg.0 - IL_002b: ldftn instance void class Bless.Util.ThreadedAsyncOperation::ShowProgressTimerExpired(object) - IL_0031: newobj instance void class [mscorlib]System.Threading.TimerCallback::'.ctor'(object, native int) - IL_0036: ldnull - IL_0037: ldc.i4.m1 - IL_0038: ldc.i4.m1 - IL_0039: newobj instance void class [mscorlib]System.Threading.Timer::'.ctor'(class [mscorlib]System.Threading.TimerCallback, object, int32, int32) - IL_003e: stfld class [mscorlib]System.Threading.Timer Bless.Util.ThreadedAsyncOperation::showProgressTimer - IL_0043: ldarg.0 - IL_0044: ldarg.0 - IL_0045: ldftn instance void class Bless.Util.ThreadedAsyncOperation::ProgressTimerExpired(object) - IL_004b: newobj instance void class [mscorlib]System.Threading.TimerCallback::'.ctor'(object, native int) - IL_0050: ldnull - IL_0051: ldc.i4.m1 - IL_0052: ldc.i4.m1 - IL_0053: newobj instance void class [mscorlib]System.Threading.Timer::'.ctor'(class [mscorlib]System.Threading.TimerCallback, object, int32, int32) - IL_0058: stfld class [mscorlib]System.Threading.Timer Bless.Util.ThreadedAsyncOperation::progressTimer - IL_005d: ret - } // end of method ThreadedAsyncOperation::.ctor + IL_0023: ldfld class Bless.Util.List`1 class Bless.Util.List`1/'c__Iterator0'::$this + IL_0028: call instance class Bless.Util.List`1/Node class Bless.Util.List`1::get_First() + IL_002d: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/'c__Iterator0'::'__0' + IL_0032: br IL_006d - // method line 150 - .method public hidebysig specialname - instance default valuetype Bless.Util.ThreadedAsyncOperation/OperationResult get_Result () cil managed + IL_0037: ldarg.0 + IL_0038: ldarg.0 + IL_0039: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/'c__Iterator0'::'__0' + IL_003e: ldfld !0 class Bless.Util.List`1/Node::data + IL_0043: stfld !0 class Bless.Util.List`1/'c__Iterator0'::$current + IL_0048: ldarg.0 + IL_0049: ldfld bool class Bless.Util.List`1/'c__Iterator0'::$disposing + IL_004e: brtrue.s IL_0057 + + IL_0050: ldarg.0 + IL_0051: ldc.i4.1 + IL_0052: stfld int32 class Bless.Util.List`1/'c__Iterator0'::$PC + IL_0057: br IL_0081 + + IL_005c: ldarg.0 + IL_005d: ldarg.0 + IL_005e: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/'c__Iterator0'::'__0' + IL_0063: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/Node::next + IL_0068: stfld class Bless.Util.List`1/Node class Bless.Util.List`1/'c__Iterator0'::'__0' + IL_006d: ldarg.0 + IL_006e: ldfld class Bless.Util.List`1/Node class Bless.Util.List`1/'c__Iterator0'::'__0' + IL_0073: brtrue IL_0037 + + IL_0078: ldarg.0 + IL_0079: ldc.i4.m1 + IL_007a: stfld int32 class Bless.Util.List`1/'c__Iterator0'::$PC + IL_007f: ldc.i4.0 + IL_0080: ret + IL_0081: ldc.i4.1 + IL_0082: ret + } // end of method c__Iterator0::MoveNext + + // method line 178 + .method private final virtual hidebysig newslot specialname + instance default !T 'System.Collections.Generic.IEnumerator.get_Current' () cil managed { - // Method begins at RVA 0x3f52 + .custom instance void class [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::'.ctor'() = (01 00 00 00 ) // .... + + // Method begins at RVA 0x3e6f + .override method instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Util.ThreadedAsyncOperation::opResult + IL_0001: ldfld !0 class Bless.Util.List`1/'c__Iterator0'::$current IL_0006: ret - } // end of method ThreadedAsyncOperation::get_Result + } // end of method c__Iterator0::System.Collections.Generic.IEnumerator.get_Current - // method line 151 - .method public hidebysig specialname - instance default void set_Result (valuetype Bless.Util.ThreadedAsyncOperation/OperationResult 'value') cil managed + // method line 179 + .method private final virtual hidebysig newslot specialname + instance default object System.Collections.IEnumerator.get_Current () cil managed { - // Method begins at RVA 0x3f5a - // Code size 8 (0x8) + .custom instance void class [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::'.ctor'() = (01 00 00 00 ) // .... + + // Method begins at RVA 0x3e77 + .override Could not decode method override class [mscorlib]System.Collections.IEnumerator::get_Current due to (null) + // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Util.ThreadedAsyncOperation::opResult - IL_0007: ret - } // end of method ThreadedAsyncOperation::set_Result + IL_0001: ldfld !0 class Bless.Util.List`1/'c__Iterator0'::$current + IL_0006: box !0 + IL_000b: ret + } // end of method c__Iterator0::System.Collections.IEnumerator.get_Current - // method line 152 - .method public hidebysig specialname - instance default class [mscorlib]System.Exception get_ThreadException () cil managed + // method line 180 + .method public final virtual hidebysig newslot + instance default void Dispose () cil managed { - // Method begins at RVA 0x3f63 - // Code size 7 (0x7) + .custom instance void class [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::'.ctor'() = (01 00 00 00 ) // .... + + // Method begins at RVA 0x3e84 + // Code size 15 (0xf) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.Exception Bless.Util.ThreadedAsyncOperation::threadException - IL_0006: ret - } // end of method ThreadedAsyncOperation::get_ThreadException + IL_0001: ldc.i4.1 + IL_0002: stfld bool class Bless.Util.List`1/'c__Iterator0'::$disposing + IL_0007: ldarg.0 + IL_0008: ldc.i4.m1 + IL_0009: stfld int32 class Bless.Util.List`1/'c__Iterator0'::$PC + IL_000e: ret + } // end of method c__Iterator0::Dispose + + // method line 181 + .method public final virtual hidebysig newslot + instance default void Reset () cil managed + { + .custom instance void class [mscorlib]System.Diagnostics.DebuggerHiddenAttribute::'.ctor'() = (01 00 00 00 ) // .... + + // Method begins at RVA 0x3e94 + // Code size 6 (0x6) + .maxstack 8 + IL_0000: newobj instance void class [mscorlib]System.NotSupportedException::'.ctor'() + IL_0005: throw + } // end of method c__Iterator0::Reset + + .property instance !T 'System.Collections.Generic.IEnumerator.Current' () + { + .get instance default !0 Bless.Util.List`1/'c__Iterator0'::'System.Collections.Generic.IEnumerator.get_Current' () + } + .property instance object System.Collections.IEnumerator.Current () + { + .get instance default object Bless.Util.List`1/'c__Iterator0'::System.Collections.IEnumerator.get_Current () + } + } // end of class c__Iterator0 + + } // end of class Bless.Util.List`1 +} + +.namespace Bless.Util +{ + .class public auto ansi beforefieldinit IntervalTree`1<(class Bless.Util.IRange) T> + extends class Bless.Util.RedBlackTree`2 + { + .field private class [mscorlib]System.Collections.Generic.List`1 searchResults // method line 153 - .method public hidebysig specialname - instance default void set_ThreadException (class [mscorlib]System.Exception 'value') cil managed + .method public hidebysig specialname rtspecialname + instance default void '.ctor' () cil managed { - // Method begins at RVA 0x3f6b - // Code size 8 (0x8) + // Method begins at RVA 0x3e9b + // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld class [mscorlib]System.Exception Bless.Util.ThreadedAsyncOperation::threadException - IL_0007: ret - } // end of method ThreadedAsyncOperation::set_ThreadException + IL_0001: newobj instance void class Bless.Util.IntervalTree`1/ITNodeFactory::'.ctor'() + IL_0006: call instance void class Bless.Util.RedBlackTree`2::'.ctor'(class Bless.Util.RedBlackTree`2/INodeFactory) + IL_000b: ret + } // end of method IntervalTree`1::.ctor // method line 154 - .method family virtual hidebysig newslot abstract - instance default bool StartProgress () cil managed + .method private hidebysig + instance default bool RangesOverlap (class Bless.Util.IRange r1, class Bless.Util.IRange r2) cil managed { - // Method begins at RVA 0x0 - } // end of method ThreadedAsyncOperation::StartProgress + // Method begins at RVA 0x3ea8 + // Code size 110 (0x6e) + .maxstack 2 + IL_0000: ldarg.1 + IL_0001: callvirt instance int64 class Bless.Util.IRange::get_Start() + IL_0006: ldarg.2 + IL_0007: callvirt instance int64 class Bless.Util.IRange::get_Start() + IL_000c: blt IL_0024 - // method line 155 - .method family virtual hidebysig newslot abstract - instance default bool UpdateProgress () cil managed - { - // Method begins at RVA 0x0 - } // end of method ThreadedAsyncOperation::UpdateProgress + IL_0011: ldarg.1 + IL_0012: callvirt instance int64 class Bless.Util.IRange::get_Start() + IL_0017: ldarg.2 + IL_0018: callvirt instance int64 class Bless.Util.IRange::get_End() + IL_001d: bgt IL_0024 - // method line 156 - .method family virtual hidebysig newslot abstract - instance default bool EndProgress () cil managed - { - // Method begins at RVA 0x0 - } // end of method ThreadedAsyncOperation::EndProgress + IL_0022: ldc.i4.1 + IL_0023: ret + IL_0024: ldarg.1 + IL_0025: callvirt instance int64 class Bless.Util.IRange::get_End() + IL_002a: ldarg.2 + IL_002b: callvirt instance int64 class Bless.Util.IRange::get_Start() + IL_0030: blt IL_0048 - // method line 157 - .method family virtual hidebysig newslot abstract - instance default void DoOperation () cil managed - { - // Method begins at RVA 0x0 - } // end of method ThreadedAsyncOperation::DoOperation + IL_0035: ldarg.1 + IL_0036: callvirt instance int64 class Bless.Util.IRange::get_End() + IL_003b: ldarg.2 + IL_003c: callvirt instance int64 class Bless.Util.IRange::get_End() + IL_0041: bgt IL_0048 - // method line 158 - .method family virtual hidebysig newslot abstract - instance default void EndOperation () cil managed - { - // Method begins at RVA 0x0 - } // end of method ThreadedAsyncOperation::EndOperation + IL_0046: ldc.i4.1 + IL_0047: ret + IL_0048: ldarg.1 + IL_0049: callvirt instance int64 class Bless.Util.IRange::get_Start() + IL_004e: ldarg.2 + IL_004f: callvirt instance int64 class Bless.Util.IRange::get_Start() + IL_0054: bgt IL_006c - // method line 159 - .method private hidebysig - instance default void OperationFinished () cil managed + IL_0059: ldarg.1 + IL_005a: callvirt instance int64 class Bless.Util.IRange::get_End() + IL_005f: ldarg.2 + IL_0060: callvirt instance int64 class Bless.Util.IRange::get_End() + IL_0065: blt IL_006c + + IL_006a: ldc.i4.1 + IL_006b: ret + IL_006c: ldc.i4.0 + IL_006d: ret + } // end of method IntervalTree`1::RangesOverlap + + // method line 155 + .method family virtual hidebysig + instance default void AddToValues (class Bless.Util.RedBlackTree`2/INode n, !T val) cil managed { - // Method begins at RVA 0x3f74 + // Method begins at RVA 0x3f22 // Code size 49 (0x31) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Util.ProgressCallback Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0006: brfalse IL_0012 - - IL_000b: ldarg.0 - IL_000c: callvirt instance bool class Bless.Util.ThreadedAsyncOperation::EndProgress() - IL_0011: pop - IL_0012: ldarg.0 - IL_0013: ldfld class [mscorlib]System.AsyncCallback Bless.Util.ThreadedAsyncOperation::opFinishedCallback - IL_0018: brfalse IL_0030 - - IL_001d: ldarg.0 - IL_001e: ldfld class [mscorlib]System.AsyncCallback Bless.Util.ThreadedAsyncOperation::opFinishedCallback - IL_0023: ldarg.0 - IL_0024: ldnull - IL_0025: ldc.i4.1 - IL_0026: newobj instance void class Bless.Util.ThreadedAsyncResult::'.ctor'(object, class [mscorlib]System.Threading.WaitHandle, bool) - IL_002b: callvirt instance void class [mscorlib]System.AsyncCallback::Invoke(class [mscorlib]System.IAsyncResult) + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void class Bless.Util.RedBlackTree`2::AddToValues(class Bless.Util.RedBlackTree`2/INode, !1) + IL_0008: ldarg.1 + IL_0009: isinst class Bless.Util.IntervalTree`1/ITNode + IL_000e: ldarg.1 + IL_000f: isinst class Bless.Util.IntervalTree`1/ITNode + IL_0014: callvirt instance int64 class Bless.Util.IntervalTree`1/ITNode::get_Max() + IL_0019: ldarga.s 2 + IL_001b: constrained. !0 + IL_0021: callvirt instance int64 class Bless.Util.IRange::get_End() + IL_0026: call int64 class [mscorlib]System.Math::Max(int64, int64) + IL_002b: callvirt instance void class Bless.Util.IntervalTree`1/ITNode::set_Max(int64) IL_0030: ret - } // end of method ThreadedAsyncOperation::OperationFinished + } // end of method IntervalTree`1::AddToValues + + // method line 156 + .method public hidebysig + instance default void Insert (!T r) cil managed + { + // Method begins at RVA 0x3f54 + // Code size 21 (0x15) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarga.s 1 + IL_0003: constrained. !0 + IL_0009: callvirt instance int64 class Bless.Util.IRange::get_Start() + IL_000e: ldarg.1 + IL_000f: callvirt instance void class Bless.Util.RedBlackTree`2::Insert(!0, !1) + IL_0014: ret + } // end of method IntervalTree`1::Insert - // method line 160 - .method private hidebysig - instance default void ShowProgressTimerExpired (object o) cil managed + // method line 157 + .method public hidebysig + instance default class [mscorlib]System.Collections.Generic.IList`1 SearchOverlap (class Bless.Util.IRange r) cil managed { - // Method begins at RVA 0x3fa6 - // Code size 54 (0x36) - .maxstack 8 + // Method begins at RVA 0x3f6c + // Code size 70 (0x46) + .maxstack 3 + .locals init ( + object V_0, + bool V_1, + class [mscorlib]System.Collections.Generic.IList`1 V_2) IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Util.ProgressCallback Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0006: brfalse IL_0035 - - IL_000b: ldarg.0 - IL_000c: ldfld bool Bless.Util.ThreadedAsyncOperation::useGLibIdle - IL_0011: brfalse IL_002e + IL_0001: ldfld object class Bless.Util.RedBlackTree`2::lockObj + IL_0006: stloc.0 + IL_0007: ldc.i4.0 + IL_0008: stloc.1 + .try { // 0 + IL_0009: ldloc.0 + IL_000a: ldloca.s 1 + IL_000c: call void class [mscorlib]System.Threading.Monitor::Enter(object, [out] bool&) + IL_0011: ldarg.0 + IL_0012: newobj instance void class [mscorlib]System.Collections.Generic.List`1::'.ctor'() + IL_0017: stfld class [mscorlib]System.Collections.Generic.List`1 class Bless.Util.IntervalTree`1::searchResults + IL_001c: ldarg.0 + IL_001d: ldarg.0 + IL_001e: ldfld class Bless.Util.RedBlackTree`2/INode class Bless.Util.RedBlackTree`2::root + IL_0023: isinst class Bless.Util.IntervalTree`1/ITNode + IL_0028: ldarg.1 + IL_0029: call instance void class Bless.Util.IntervalTree`1::SearchOverlap(class Bless.Util.IntervalTree`1/ITNode, class Bless.Util.IRange) + IL_002e: ldarg.0 + IL_002f: ldfld class [mscorlib]System.Collections.Generic.List`1 class Bless.Util.IntervalTree`1::searchResults + IL_0034: stloc.2 + IL_0035: leave IL_0044 - IL_0016: ldarg.0 - IL_0017: dup - IL_0018: ldvirtftn instance bool class Bless.Util.ThreadedAsyncOperation::StartProgress() - IL_001e: newobj instance void ['glib-sharp']GLib.IdleHandler::.ctor(object, native int) - IL_0023: call unsigned int32 ['glib-sharp']GLib.Idle::Add( member:>) - IL_0028: pop - IL_0029: br IL_0035 + } // end .try 0 + finally { // 0 + IL_003a: ldloc.1 + IL_003b: brfalse.s IL_0043 - IL_002e: ldarg.0 - IL_002f: callvirt instance bool class Bless.Util.ThreadedAsyncOperation::StartProgress() - IL_0034: pop - IL_0035: ret - } // end of method ThreadedAsyncOperation::ShowProgressTimerExpired + IL_003d: ldloc.0 + IL_003e: call void class [mscorlib]System.Threading.Monitor::Exit(object) + IL_0043: endfinally + } // end handler 0 + IL_0044: ldloc.2 + IL_0045: ret + } // end of method IntervalTree`1::SearchOverlap - // method line 161 + // method line 158 .method private hidebysig - instance default void ProgressTimerExpired (object o) cil managed + instance default void SearchOverlap (class Bless.Util.IntervalTree`1/ITNode n, class Bless.Util.IRange r) cil managed { - // Method begins at RVA 0x3fdd - // Code size 58 (0x3a) - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class Bless.Util.ProgressCallback Bless.Util.ThreadedAsyncOperation::progressCallback - IL_0006: brfalse IL_0039 - - IL_000b: ldarg.0 - IL_000c: ldfld bool Bless.Util.ThreadedAsyncOperation::useGLibIdle - IL_0011: brfalse IL_002d + // Method begins at RVA 0x3fd0 + // Code size 182 (0xb6) + .maxstack 3 + .locals init ( + !T V_0, + class [mscorlib]System.Collections.Generic.IEnumerator`1 V_1) + IL_0000: ldarg.1 + IL_0001: brfalse IL_00b5 - IL_0016: ldarg.0 - IL_0017: ldftn instance bool class Bless.Util.ThreadedAsyncOperation::'m__0'() - IL_001d: newobj instance void ['glib-sharp']GLib.IdleHandler::.ctor(object, native int) - IL_0022: call unsigned int32 ['glib-sharp']GLib.Idle::Add( member:>) - IL_0027: pop - IL_0028: br IL_0039 + IL_0006: ldarg.1 + IL_0007: callvirt instance int64 class Bless.Util.IntervalTree`1/ITNode::get_Max() + IL_000c: ldarg.2 + IL_000d: callvirt instance int64 class Bless.Util.IRange::get_Start() + IL_0012: blt IL_0087 - IL_002d: ldarg.0 - IL_002e: ldarg.0 - IL_002f: callvirt instance bool class Bless.Util.ThreadedAsyncOperation::UpdateProgress() - IL_0034: stfld bool Bless.Util.ThreadedAsyncOperation::cancelled - IL_0039: ret - } // end of method ThreadedAsyncOperation::ProgressTimerExpired + IL_0017: ldarg.1 + IL_0018: callvirt instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::get_Left() + IL_001d: brfalse IL_0034 - // method line 162 - .method family hidebysig - instance default void ActivateProgressReport (bool activate) cil managed - { - // Method begins at RVA 0x4018 - // Code size 84 (0x54) - .maxstack 3 + IL_0022: ldarg.0 + IL_0023: ldarg.1 + IL_0024: callvirt instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::get_Left() + IL_0029: isinst class Bless.Util.IntervalTree`1/ITNode + IL_002e: ldarg.2 + IL_002f: call instance void class Bless.Util.IntervalTree`1::SearchOverlap(class Bless.Util.IntervalTree`1/ITNode, class Bless.Util.IRange) + IL_0034: ldarg.1 + IL_0035: callvirt instance class [mscorlib]System.Collections.Generic.IList`1 class Bless.Util.IntervalTree`1/ITNode::get_Values() + IL_003a: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003f: stloc.1 .try { // 0 - IL_0000: ldarg.1 - IL_0001: brfalse IL_002c + IL_0040: br IL_006a - IL_0006: ldarg.0 - IL_0007: ldfld class [mscorlib]System.Threading.Timer Bless.Util.ThreadedAsyncOperation::progressTimer - IL_000c: ldc.i4.0 - IL_000d: ldc.i4.s 0x32 - IL_000f: callvirt instance bool class [mscorlib]System.Threading.Timer::Change(int32, int32) - IL_0014: pop - IL_0015: ldarg.0 - IL_0016: ldfld class [mscorlib]System.Threading.Timer Bless.Util.ThreadedAsyncOperation::showProgressTimer - IL_001b: ldc.i4 500 - IL_0020: ldc.i4.0 - IL_0021: callvirt instance bool class [mscorlib]System.Threading.Timer::Change(int32, int32) - IL_0026: pop - IL_0027: br IL_0048 + IL_0045: ldloc.1 + IL_0046: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldarg.0 + IL_004d: ldloc.0 + IL_004e: box !0 + IL_0053: ldarg.2 + IL_0054: call instance bool class Bless.Util.IntervalTree`1::RangesOverlap(class Bless.Util.IRange, class Bless.Util.IRange) + IL_0059: brfalse IL_006a - IL_002c: ldarg.0 - IL_002d: ldfld class [mscorlib]System.Threading.Timer Bless.Util.ThreadedAsyncOperation::progressTimer - IL_0032: ldc.i4.m1 - IL_0033: ldc.i4.m1 - IL_0034: callvirt instance bool class [mscorlib]System.Threading.Timer::Change(int32, int32) - IL_0039: pop - IL_003a: ldarg.0 - IL_003b: ldfld class [mscorlib]System.Threading.Timer Bless.Util.ThreadedAsyncOperation::showProgressTimer - IL_0040: ldc.i4.m1 - IL_0041: ldc.i4.m1 - IL_0042: callvirt instance bool class [mscorlib]System.Threading.Timer::Change(int32, int32) - IL_0047: pop - IL_0048: leave IL_0053 + IL_005e: ldarg.0 + IL_005f: ldfld class [mscorlib]System.Collections.Generic.List`1 class Bless.Util.IntervalTree`1::searchResults + IL_0064: ldloc.0 + IL_0065: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0) + IL_006a: ldloc.1 + IL_006b: callvirt instance bool class [mscorlib]System.Collections.IEnumerator::MoveNext() + IL_0070: brtrue IL_0045 + + IL_0075: leave IL_0087 } // end .try 0 - catch class [mscorlib]System.ObjectDisposedException { // 0 - IL_004d: pop - IL_004e: leave IL_0053 + finally { // 0 + IL_007a: ldloc.1 + IL_007b: brfalse IL_0086 + IL_0080: ldloc.1 + IL_0081: callvirt instance void class [mscorlib]System.IDisposable::Dispose() + IL_0086: endfinally } // end handler 0 - IL_0053: ret - } // end of method ThreadedAsyncOperation::ActivateProgressReport + IL_0087: ldarg.1 + IL_0088: callvirt instance int64 class Bless.Util.IntervalTree`1/ITNode::get_Key() + IL_008d: ldarg.2 + IL_008e: callvirt instance int64 class Bless.Util.IRange::get_End() + IL_0093: bgt IL_00b5 - // method line 163 + IL_0098: ldarg.1 + IL_0099: callvirt instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::get_Right() + IL_009e: brfalse IL_00b5 + + IL_00a3: ldarg.0 + IL_00a4: ldarg.1 + IL_00a5: callvirt instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::get_Right() + IL_00aa: isinst class Bless.Util.IntervalTree`1/ITNode + IL_00af: ldarg.2 + IL_00b0: call instance void class Bless.Util.IntervalTree`1::SearchOverlap(class Bless.Util.IntervalTree`1/ITNode, class Bless.Util.IRange) + IL_00b5: ret + } // end of method IntervalTree`1::SearchOverlap + + // method line 159 .method public hidebysig - instance default void OperationThread () cil managed + instance default void Delete (!T r) cil managed { - // Method begins at RVA 0x4088 - // Code size 143 (0x8f) + // Method begins at RVA 0x40a4 + // Code size 81 (0x51) .maxstack 2 .locals init ( - class [mscorlib]System.Exception V_0) + class Bless.Util.IntervalTree`1/ITNode V_0) IL_0000: ldarg.0 - IL_0001: ldarg.0 - IL_0002: ldfld bool Bless.Util.ThreadedAsyncOperation::activateProgress - IL_0007: call instance void class Bless.Util.ThreadedAsyncOperation::ActivateProgressReport(bool) - .try { // 1 - .try { // 0 - IL_000c: ldarg.0 - IL_000d: callvirt instance void class Bless.Util.ThreadedAsyncOperation::DoOperation() - IL_0012: ldarg.0 - IL_0013: ldfld bool Bless.Util.ThreadedAsyncOperation::cancelled - IL_0018: brfalse IL_0029 - - IL_001d: ldarg.0 - IL_001e: ldc.i4.1 - IL_001f: stfld valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Util.ThreadedAsyncOperation::opResult - IL_0024: br IL_0030 - - IL_0029: ldarg.0 - IL_002a: ldc.i4.0 - IL_002b: stfld valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Util.ThreadedAsyncOperation::opResult - IL_0030: leave IL_008e - - } // end .try 0 - catch class [mscorlib]System.Exception { // 0 - IL_0035: stloc.0 - IL_0036: ldarg.0 - IL_0037: ldloc.0 - IL_0038: stfld class [mscorlib]System.Exception Bless.Util.ThreadedAsyncOperation::threadException - IL_003d: ldarg.0 - IL_003e: ldc.i4.2 - IL_003f: stfld valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Util.ThreadedAsyncOperation::opResult - IL_0044: leave IL_008e - - } // end handler 0 - } // end .try 1 - finally { // 1 - IL_0049: ldarg.0 - IL_004a: ldfld class [mscorlib]System.Threading.Timer Bless.Util.ThreadedAsyncOperation::progressTimer - IL_004f: callvirt instance void class [mscorlib]System.Threading.Timer::Dispose() - IL_0054: ldarg.0 - IL_0055: ldfld class [mscorlib]System.Threading.Timer Bless.Util.ThreadedAsyncOperation::showProgressTimer - IL_005a: callvirt instance void class [mscorlib]System.Threading.Timer::Dispose() - IL_005f: ldarg.0 - IL_0060: callvirt instance void class Bless.Util.ThreadedAsyncOperation::EndOperation() - IL_0065: ldarg.0 - IL_0066: ldfld bool Bless.Util.ThreadedAsyncOperation::useGLibIdle - IL_006b: brfalse IL_0087 + IL_0001: ldarga.s 1 + IL_0003: constrained. !0 + IL_0009: callvirt instance int64 class Bless.Util.IRange::get_Start() + IL_000e: callvirt instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.RedBlackTree`2::SearchNode(!0) + IL_0013: isinst class Bless.Util.IntervalTree`1/ITNode + IL_0018: stloc.0 + IL_0019: ldloc.0 + IL_001a: brtrue IL_0020 - IL_0070: ldarg.0 - IL_0071: ldftn instance bool class Bless.Util.ThreadedAsyncOperation::'m__1'() - IL_0077: newobj instance void ['glib-sharp']GLib.IdleHandler::.ctor(object, native int) - IL_007c: call unsigned int32 ['glib-sharp']GLib.Idle::Add( member:>) - IL_0081: pop - IL_0082: br IL_008d + IL_001f: ret + IL_0020: ldloc.0 + IL_0021: callvirt instance class [mscorlib]System.Collections.Generic.IList`1 class Bless.Util.IntervalTree`1/ITNode::get_Values() + IL_0026: ldarg.1 + IL_0027: callvirt instance bool class [mscorlib]System.Collections.Generic.ICollection`1::Remove(!0) + IL_002c: pop + IL_002d: ldloc.0 + IL_002e: callvirt instance class [mscorlib]System.Collections.Generic.IList`1 class Bless.Util.IntervalTree`1/ITNode::get_Values() + IL_0033: callvirt instance int32 class [mscorlib]System.Collections.Generic.ICollection`1::get_Count() + IL_0038: brtrue IL_0050 - IL_0087: ldarg.0 - IL_0088: call instance void class Bless.Util.ThreadedAsyncOperation::OperationFinished() - IL_008d: endfinally - } // end handler 1 - IL_008e: ret - } // end of method ThreadedAsyncOperation::OperationThread + IL_003d: ldarg.0 + IL_003e: ldarga.s 1 + IL_0040: constrained. !0 + IL_0046: callvirt instance int64 class Bless.Util.IRange::get_Start() + IL_004b: callvirt instance void class Bless.Util.RedBlackTree`2::Delete(!0) + IL_0050: ret + } // end of method IntervalTree`1::Delete - // method line 164 - .method private hidebysig - instance default bool 'm__0' () cil managed - { - .custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // .... + .class nested family auto ansi beforefieldinit ITNode<(class Bless.Util.IRange) T> + extends [mscorlib]System.Object + implements class Bless.Util.RedBlackTree`2/INode { + .field private int64 max + .field private int64 key + .field private class [mscorlib]System.Collections.Generic.IList`1 values + .field private class Bless.Util.RedBlackTree`2/INode left + .field private class Bless.Util.RedBlackTree`2/INode right + .field private valuetype Bless.Util.RedBlackTree`2/Color color - // Method begins at RVA 0x4140 - // Code size 14 (0xe) + // method line 160 + .method public hidebysig specialname rtspecialname + instance default void '.ctor' (int64 key, !T val, valuetype Bless.Util.RedBlackTree`2/Color color) cil managed + { + // Method begins at RVA 0x4101 + // Code size 63 (0x3f) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldarg.0 - IL_0002: callvirt instance bool class Bless.Util.ThreadedAsyncOperation::UpdateProgress() - IL_0007: stfld bool Bless.Util.ThreadedAsyncOperation::cancelled - IL_000c: ldc.i4.0 - IL_000d: ret - } // end of method ThreadedAsyncOperation::m__0 + IL_0001: call instance void object::'.ctor'() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int64 class Bless.Util.IntervalTree`1/ITNode::key + IL_000d: ldarg.0 + IL_000e: newobj instance void class [mscorlib]System.Collections.Generic.List`1::'.ctor'() + IL_0013: stfld class [mscorlib]System.Collections.Generic.IList`1 class Bless.Util.IntervalTree`1/ITNode::values + IL_0018: ldarg.0 + IL_0019: ldfld class [mscorlib]System.Collections.Generic.IList`1 class Bless.Util.IntervalTree`1/ITNode::values + IL_001e: ldarg.2 + IL_001f: callvirt instance void class [mscorlib]System.Collections.Generic.ICollection`1::Add(!0) + IL_0024: ldarg.0 + IL_0025: ldarg.3 + IL_0026: stfld valuetype Bless.Util.RedBlackTree`2/Color class Bless.Util.IntervalTree`1/ITNode::color + IL_002b: ldarg.0 + IL_002c: ldarga.s 2 + IL_002e: constrained. !0 + IL_0034: callvirt instance int64 class Bless.Util.IRange::get_End() + IL_0039: stfld int64 class Bless.Util.IntervalTree`1/ITNode::max + IL_003e: ret + } // end of method ITNode::.ctor - // method line 165 - .method private hidebysig - instance default bool 'm__1' () cil managed + // method line 161 + .method public hidebysig specialname + instance default int64 get_Max () cil managed { - .custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // .... + // Method begins at RVA 0x4141 + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int64 class Bless.Util.IntervalTree`1/ITNode::max + IL_0006: ret + } // end of method ITNode::get_Max - // Method begins at RVA 0x414f + // method line 162 + .method public hidebysig specialname + instance default void set_Max (int64 'value') cil managed + { + // Method begins at RVA 0x4149 // Code size 8 (0x8) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void class Bless.Util.ThreadedAsyncOperation::OperationFinished() - IL_0006: ldc.i4.0 + IL_0001: ldarg.1 + IL_0002: stfld int64 class Bless.Util.IntervalTree`1/ITNode::max IL_0007: ret - } // end of method ThreadedAsyncOperation::m__1 - - .property instance valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Result () - { - .get instance default valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Bless.Util.ThreadedAsyncOperation::get_Result () - .set instance default void Bless.Util.ThreadedAsyncOperation::set_Result (valuetype Bless.Util.ThreadedAsyncOperation/OperationResult 'value') - } - .property instance class [mscorlib]System.Exception ThreadException () - { - .get instance default class [mscorlib]System.Exception Bless.Util.ThreadedAsyncOperation::get_ThreadException () - .set instance default void Bless.Util.ThreadedAsyncOperation::set_ThreadException (class [mscorlib]System.Exception 'value') - } - .class nested private auto ansi sealed Event - extends [mscorlib]System.Enum - { - .field public specialname rtspecialname int32 value__ - .field public static literal valuetype Bless.Util.ThreadedAsyncOperation/Event ShowProgress = int32(0x00000000) - .field public static literal valuetype Bless.Util.ThreadedAsyncOperation/Event Finished = int32(0x00000001) - .field public static literal valuetype Bless.Util.ThreadedAsyncOperation/Event Exception = int32(0x00000002) - - } // end of class Event - - .class nested public auto ansi sealed OperationResult - extends [mscorlib]System.Enum - { - .field public specialname rtspecialname int32 value__ - .field public static literal valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Finished = int32(0x00000000) - .field public static literal valuetype Bless.Util.ThreadedAsyncOperation/OperationResult Cancelled = int32(0x00000001) - .field public static literal valuetype Bless.Util.ThreadedAsyncOperation/OperationResult CaughtException = int32(0x00000002) + } // end of method ITNode::set_Max - } // end of class OperationResult + // method line 163 + .method public final virtual hidebysig newslot specialname + instance default int64 get_Key () cil managed + { + // Method begins at RVA 0x4152 + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int64 class Bless.Util.IntervalTree`1/ITNode::key + IL_0006: ret + } // end of method ITNode::get_Key - } // end of class Bless.Util.ThreadedAsyncOperation -} + // method line 164 + .method public final virtual hidebysig newslot specialname + instance default void set_Key (int64 'value') cil managed + { + // Method begins at RVA 0x415a + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int64 class Bless.Util.IntervalTree`1/ITNode::key + IL_0007: ret + } // end of method ITNode::set_Key -.namespace Bless.Util -{ - .class public auto ansi beforefieldinit ThreadedAsyncResult - extends [mscorlib]System.Object - implements [mscorlib]System.IAsyncResult { - .field private object asyncState - .field private class [mscorlib]System.Threading.WaitHandle asyncWaitHandle - .field private bool isCompleted + // method line 165 + .method public final virtual hidebysig newslot specialname + instance default class [mscorlib]System.Collections.Generic.IList`1 get_Values () cil managed + { + // Method begins at RVA 0x4163 + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [mscorlib]System.Collections.Generic.IList`1 class Bless.Util.IntervalTree`1/ITNode::values + IL_0006: ret + } // end of method ITNode::get_Values // method line 166 - .method public hidebysig specialname rtspecialname - instance default void '.ctor' (object state, class [mscorlib]System.Threading.WaitHandle handle, bool complete) cil managed + .method public final virtual hidebysig newslot specialname + instance default void set_Values (class [mscorlib]System.Collections.Generic.IList`1 'value') cil managed { - // Method begins at RVA 0x4158 - // Code size 28 (0x1c) + // Method begins at RVA 0x416b + // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void object::'.ctor'() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld object Bless.Util.ThreadedAsyncResult::asyncState - IL_000d: ldarg.0 - IL_000e: ldarg.2 - IL_000f: stfld class [mscorlib]System.Threading.WaitHandle Bless.Util.ThreadedAsyncResult::asyncWaitHandle - IL_0014: ldarg.0 - IL_0015: ldarg.3 - IL_0016: stfld bool Bless.Util.ThreadedAsyncResult::isCompleted - IL_001b: ret - } // end of method ThreadedAsyncResult::.ctor + IL_0001: ldarg.1 + IL_0002: stfld class [mscorlib]System.Collections.Generic.IList`1 class Bless.Util.IntervalTree`1/ITNode::values + IL_0007: ldarg.0 + IL_0008: call instance void class Bless.Util.IntervalTree`1/ITNode::UpdateMax() + IL_000d: ret + } // end of method ITNode::set_Values // method line 167 .method public final virtual hidebysig newslot specialname - instance default object get_AsyncState () cil managed + instance default class Bless.Util.RedBlackTree`2/INode get_Left () cil managed { - // Method begins at RVA 0x4175 + // Method begins at RVA 0x417a // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld object Bless.Util.ThreadedAsyncResult::asyncState + IL_0001: ldfld class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::left IL_0006: ret - } // end of method ThreadedAsyncResult::get_AsyncState + } // end of method ITNode::get_Left // method line 168 .method public final virtual hidebysig newslot specialname - instance default class [mscorlib]System.Threading.WaitHandle get_AsyncWaitHandle () cil managed + instance default void set_Left (class Bless.Util.RedBlackTree`2/INode 'value') cil managed { - // Method begins at RVA 0x417d - // Code size 7 (0x7) + // Method begins at RVA 0x4182 + // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class [mscorlib]System.Threading.WaitHandle Bless.Util.ThreadedAsyncResult::asyncWaitHandle - IL_0006: ret - } // end of method ThreadedAsyncResult::get_AsyncWaitHandle + IL_0001: ldarg.1 + IL_0002: stfld class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::left + IL_0007: ldarg.0 + IL_0008: call instance void class Bless.Util.IntervalTree`1/ITNode::UpdateMax() + IL_000d: ret + } // end of method ITNode::set_Left // method line 169 .method public final virtual hidebysig newslot specialname - instance default bool get_CompletedSynchronously () cil managed + instance default class Bless.Util.RedBlackTree`2/INode get_Right () cil managed { - // Method begins at RVA 0x4185 - // Code size 2 (0x2) + // Method begins at RVA 0x4191 + // Code size 7 (0x7) .maxstack 8 - IL_0000: ldc.i4.0 - IL_0001: ret - } // end of method ThreadedAsyncResult::get_CompletedSynchronously + IL_0000: ldarg.0 + IL_0001: ldfld class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::right + IL_0006: ret + } // end of method ITNode::get_Right // method line 170 .method public final virtual hidebysig newslot specialname - instance default bool get_IsCompleted () cil managed + instance default void set_Right (class Bless.Util.RedBlackTree`2/INode 'value') cil managed { - // Method begins at RVA 0x4188 - // Code size 7 (0x7) + // Method begins at RVA 0x4199 + // Code size 14 (0xe) .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld bool Bless.Util.ThreadedAsyncResult::isCompleted - IL_0006: ret - } // end of method ThreadedAsyncResult::get_IsCompleted - - .property instance object AsyncState () - { - .get instance default object Bless.Util.ThreadedAsyncResult::get_AsyncState () - } - .property instance class [mscorlib]System.Threading.WaitHandle AsyncWaitHandle () - { - .get instance default class [mscorlib]System.Threading.WaitHandle Bless.Util.ThreadedAsyncResult::get_AsyncWaitHandle () - } - .property instance bool CompletedSynchronously () - { - .get instance default bool Bless.Util.ThreadedAsyncResult::get_CompletedSynchronously () - } - .property instance bool IsCompleted () - { - .get instance default bool Bless.Util.ThreadedAsyncResult::get_IsCompleted () - } - } // end of class Bless.Util.ThreadedAsyncResult -} - -.namespace Bless.Util -{ - .class public auto ansi beforefieldinit TempFile - extends [mscorlib]System.Object - { + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::right + IL_0007: ldarg.0 + IL_0008: call instance void class Bless.Util.IntervalTree`1/ITNode::UpdateMax() + IL_000d: ret + } // end of method ITNode::set_Right // method line 171 - .method private hidebysig specialname rtspecialname - instance default void '.ctor' () cil managed + .method public final virtual hidebysig newslot specialname + instance default valuetype Bless.Util.RedBlackTree`2/Color get_Color () cil managed { - // Method begins at RVA 0x4190 + // Method begins at RVA 0x41a8 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void object::'.ctor'() + IL_0001: ldfld valuetype Bless.Util.RedBlackTree`2/Color class Bless.Util.IntervalTree`1/ITNode::color IL_0006: ret - } // end of method TempFile::.ctor + } // end of method ITNode::get_Color // method line 172 - .method public static hidebysig - default string CreateName (string dir) cil managed + .method public final virtual hidebysig newslot specialname + instance default void set_Color (valuetype Bless.Util.RedBlackTree`2/Color 'value') cil managed { - // Method begins at RVA 0x4198 - // Code size 132 (0x84) - .maxstack 4 + // Method begins at RVA 0x41b0 + // Code size 8 (0x8) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld valuetype Bless.Util.RedBlackTree`2/Color class Bless.Util.IntervalTree`1/ITNode::color + IL_0007: ret + } // end of method ITNode::set_Color + + // method line 173 + .method private hidebysig + instance default void UpdateMax () cil managed + { + // Method begins at RVA 0x41bc + // Code size 152 (0x98) + .maxstack 2 .locals init ( - string V_0, - class [mscorlib]System.Random V_1, - int32 V_2) - IL_0000: newobj instance void class [mscorlib]System.Random::'.ctor'() - IL_0005: stloc.1 - IL_0006: ldsfld string [mscorlib]System.String::Empty - IL_000b: stloc.0 - IL_000c: ldc.i4.0 - IL_000d: stloc.2 - IL_000e: br IL_0039 + int64 V_0, + !T V_1, + class [mscorlib]System.Collections.Generic.IEnumerator`1 V_2) + IL_0000: ldc.i4.m1 + IL_0001: conv.i8 + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: call instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::get_Left() + IL_0009: brfalse IL_0025 - IL_0013: ldloc.0 - IL_0014: ldloc.1 - IL_0015: callvirt instance int32 class [mscorlib]System.Random::Next() - IL_001a: ldc.i4.s 0x1a - IL_001c: rem - IL_001d: ldc.i4.s 0x61 - IL_001f: call int32 class [mscorlib]System.Convert::ToInt32(char) - IL_0024: add - IL_0025: call char class [mscorlib]System.Convert::ToChar(int32) - IL_002a: box [mscorlib]System.Char - IL_002f: call string string::Concat(object, object) - IL_0034: stloc.0 - IL_0035: ldloc.2 - IL_0036: ldc.i4.1 - IL_0037: add - IL_0038: stloc.2 - IL_0039: ldloc.2 - IL_003a: ldc.i4.8 - IL_003b: blt IL_0013 + IL_000e: ldloc.0 + IL_000f: ldarg.0 + IL_0010: call instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::get_Left() + IL_0015: isinst class Bless.Util.IntervalTree`1/ITNode + IL_001a: callvirt instance int64 class Bless.Util.IntervalTree`1/ITNode::get_Max() + IL_001f: call int64 class [mscorlib]System.Math::Max(int64, int64) + IL_0024: stloc.0 + IL_0025: ldarg.0 + IL_0026: call instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::get_Right() + IL_002b: brfalse IL_0047 - IL_0040: ldc.i4.4 - IL_0041: newarr [mscorlib]System.Object - IL_0046: dup - IL_0047: ldc.i4.0 - IL_0048: ldarg.0 - IL_0049: stelem.ref - IL_004a: dup - IL_004b: ldc.i4.1 - IL_004c: ldsfld char [mscorlib]System.IO.Path::DirectorySeparatorChar - IL_0051: box [mscorlib]System.Char - IL_0056: stelem.ref - IL_0057: dup - IL_0058: ldc.i4.2 - IL_0059: ldloc.0 - IL_005a: stelem.ref - IL_005b: dup - IL_005c: ldc.i4.3 - IL_005d: ldstr ".bless" - IL_0062: stelem.ref - IL_0063: call string string::Concat(object[]) - IL_0068: call bool class [mscorlib]System.IO.File::Exists(string) - IL_006d: brtrue IL_0006 + IL_0030: ldloc.0 + IL_0031: ldarg.0 + IL_0032: call instance class Bless.Util.RedBlackTree`2/INode class Bless.Util.IntervalTree`1/ITNode::get_Right() + IL_0037: isinst class Bless.Util.IntervalTree`1/ITNode + IL_003c: callvirt instance int64 class Bless.Util.IntervalTree`1/ITNode::get_Max() + IL_0041: call int64 class [mscorlib]System.Math::Max(int64, int64) + IL_0046: stloc.0 + IL_0047: ldarg.0 + IL_0048: call instance class [mscorlib]System.Collections.Generic.IList`1 class Bless.Util.IntervalTree`1/ITNode::get_Values() + IL_004d: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0052: stloc.2 + .try { // 0 + IL_0053: br IL_0073 - IL_0072: ldarg.0 - IL_0073: ldloc.0 - IL_0074: ldstr ".bless" - IL_0079: call string string::Concat(string, string) - IL_007e: call string class [mscorlib]System.IO.Path::Combine(string, string) - IL_0083: ret - } // end of method TempFile::CreateName + IL_0058: ldloc.2 + IL_0059: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current() + IL_005e: stloc.1 + IL_005f: ldloc.0 + IL_0060: ldloca.s 1 + IL_0062: constrained. !0 + IL_0068: callvirt instance int64 class Bless.Util.IRange::get_End() + IL_006d: call int64 class [mscorlib]System.Math::Max(int64, int64) + IL_0072: stloc.0 + IL_0073: ldloc.2 + IL_0074: callvirt instance bool class [mscorlib]System.Collections.IEnumerator::MoveNext() + IL_0079: brtrue IL_0058 - } // end of class Bless.Util.TempFile -} + IL_007e: leave IL_0090 - .class public auto ansi beforefieldinit Portable + } // end .try 0 + finally { // 0 + IL_0083: ldloc.2 + IL_0084: brfalse IL_008f + + IL_0089: ldloc.2 + IL_008a: callvirt instance void class [mscorlib]System.IDisposable::Dispose() + IL_008f: endfinally + } // end handler 0 + IL_0090: ldarg.0 + IL_0091: ldloc.0 + IL_0092: stfld int64 class Bless.Util.IntervalTree`1/ITNode::max + IL_0097: ret + } // end of method ITNode::UpdateMax + + .property instance int64 Max () + { + .get instance default int64 Bless.Util.IntervalTree`1/ITNode::get_Max () + .set instance default void Bless.Util.IntervalTree`1/ITNode::set_Max (int64 'value') + } + .property instance int64 Key () + { + .get instance default int64 Bless.Util.IntervalTree`1/ITNode::get_Key () + .set instance default void Bless.Util.IntervalTree`1/ITNode::set_Key (int64 'value') + } + .property instance class [mscorlib]System.Collections.Generic.IList`1 Values () + { + .get instance default class [mscorlib]System.Collections.Generic.IList`1 Bless.Util.IntervalTree`1/ITNode::get_Values () + .set instance default void Bless.Util.IntervalTree`1/ITNode::set_Values (class [mscorlib]System.Collections.Generic.IList`1 'value') + } + .property instance class Bless.Util.RedBlackTree`2/INode Left () + { + .get instance default class Bless.Util.RedBlackTree`2/INode Bless.Util.IntervalTree`1/ITNode::get_Left () + .set instance default void Bless.Util.IntervalTree`1/ITNode::set_Left (class Bless.Util.RedBlackTree`2/INode 'value') + } + .property instance class Bless.Util.RedBlackTree`2/INode Right () + { + .get instance default class Bless.Util.RedBlackTree`2/INode Bless.Util.IntervalTree`1/ITNode::get_Right () + .set instance default void Bless.Util.IntervalTree`1/ITNode::set_Right (class Bless.Util.RedBlackTree`2/INode 'value') + } + .property instance valuetype Bless.Util.RedBlackTree`2/Color Color () + { + .get instance default valuetype Bless.Util.RedBlackTree`2/Color Bless.Util.IntervalTree`1/ITNode::get_Color () + .set instance default void Bless.Util.IntervalTree`1/ITNode::set_Color (valuetype Bless.Util.RedBlackTree`2/Color 'value') + } + } // end of class ITNode + + .class nested family auto ansi beforefieldinit ITNodeFactory<(class Bless.Util.IRange) T> extends [mscorlib]System.Object - { + implements class Bless.Util.RedBlackTree`2/INodeFactory { - // method line 173 + // method line 174 .method public hidebysig specialname rtspecialname instance default void '.ctor' () cil managed { - // Method begins at RVA 0x4228 + // Method begins at RVA 0x4270 // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 IL_0001: call instance void object::'.ctor'() IL_0006: ret - } // end of method Portable::.ctor - - // method line 174 - .method public static hidebysig - default int64 GetAvailableMemory () cil managed - { - // Method begins at RVA 0x4230 - // Code size 22 (0x16) - .maxstack 2 - .locals init ( - int64 V_0, - int64 V_1, - int64 V_2) - IL_0000: ldc.i4.s 0x56 - IL_0002: call int64 class [Mono.Posix]Mono.Unix.Native.Syscall::sysconf(valuetype [Mono.Posix]Mono.Unix.Native.SysconfName) - IL_0007: stloc.0 - IL_0008: ldc.i4.s 0x1e - IL_000a: call int64 class [Mono.Posix]Mono.Unix.Native.Syscall::sysconf(valuetype [Mono.Posix]Mono.Unix.Native.SysconfName) - IL_000f: stloc.1 - IL_0010: ldloc.0 - IL_0011: ldloc.1 - IL_0012: mul - IL_0013: stloc.2 - IL_0014: ldloc.2 - IL_0015: ret - } // end of method Portable::GetAvailableMemory + } // end of method ITNodeFactory::.ctor // method line 175 - .method public static hidebysig - default int64 GetAvailableDiskSpace (string path) cil managed + .method public final virtual hidebysig newslot + instance default class Bless.Util.RedBlackTree`2/INode CreateNode (int64 key, !T val, valuetype Bless.Util.RedBlackTree`2/Color color) cil managed { - // Method begins at RVA 0x4254 - // Code size 35 (0x23) - .maxstack 2 - .locals init ( - valuetype [Mono.Posix]Mono.Unix.Native.Statvfs V_0, - int64 V_1) - IL_0000: ldloca.s 0 - IL_0002: initobj [Mono.Posix]Mono.Unix.Native.Statvfs - IL_0008: ldarg.0 - IL_0009: ldloca.s 0 - IL_000b: call int32 class [Mono.Posix]Mono.Unix.Native.Syscall::statvfs(string, [out] valuetype [Mono.Posix]Mono.Unix.Native.Statvfs&) - IL_0010: pop - IL_0011: ldloca.s 0 - IL_0013: ldfld unsigned int64 [Mono.Posix]Mono.Unix.Native.Statvfs::f_bavail - IL_0018: ldloca.s 0 - IL_001a: ldfld unsigned int64 [Mono.Posix]Mono.Unix.Native.Statvfs::f_bsize - IL_001f: mul - IL_0020: stloc.1 - IL_0021: ldloc.1 - IL_0022: ret - } // end of method Portable::GetAvailableDiskSpace + // Method begins at RVA 0x4278 + // Code size 9 (0x9) + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: ldarg.3 + IL_0003: newobj instance void class Bless.Util.IntervalTree`1/ITNode::'.ctor'(int64, !0, valuetype Bless.Util.RedBlackTree`2/Color) + IL_0008: ret + } // end of method ITNodeFactory::CreateNode - } // end of class Portable + } // end of class ITNodeFactory + + } // end of class Bless.Util.IntervalTree`1 +} .class private auto ansi abstract sealed beforefieldinit '' extends [mscorlib]System.Object overalldiffered=1 (not bit-by-bit identical) overall=1