Skip to content

Instantly share code, notes, and snippets.

@xdaDaveShaw
Created July 11, 2016 22:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xdaDaveShaw/06276472f45f8f5126193aeaf4233d7a to your computer and use it in GitHub Desktop.
Save xdaDaveShaw/06276472f45f8f5126193aeaf4233d7a to your computer and use it in GitHub Desktop.
.method assembly hidebysig
instance void '<Where>b__2' (
valuetype IronStone.Moldinium.ListEvent`1<!TSource> v
) cil managed
{
// Method begins at RVA 0x3cf4
// Code size 660 (0x294)
.maxstack 5
.locals init (
[0] valuetype IronStone.Moldinium.ListEventType,
[1] int32,
[2] int32,
[3] valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>,
[4] bool,
[5] valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>,
[6] valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>,
[7] bool,
[8] bool,
[9] valuetype IronStone.Moldinium.Key,
[10] valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.Key>,
[11] bool,
[12] bool,
[13] valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>,
[14] valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>,
[15] bool,
[16] int32,
[17] int32,
[18] valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>,
[19] valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>,
[20] valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>,
[21] bool,
[22] bool,
[23] bool,
[24] bool,
[25] bool
)
IL_0000: nop
IL_0001: ldarga.s v
IL_0003: call instance valuetype IronStone.Moldinium.ListEventType valuetype IronStone.Moldinium.ListEvent`1<!TSource>::get_Type()
IL_0008: stloc.0
IL_0009: ldloc.0
IL_000a: brfalse.s IL_001a
IL_000c: br.s IL_000e
IL_000e: ldloc.0
IL_000f: ldc.i4.1
IL_0010: beq IL_0174
IL_0015: br IL_0291
IL_001a: nop
IL_001b: ldc.i4.m1
IL_001c: stloc.1
IL_001d: ldc.i4.0
IL_001e: stloc.2
IL_001f: br.s IL_0078
// loop start (head: IL_0078)
IL_0021: nop
IL_0022: ldarg.0
IL_0023: ldfld class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::manifestation
IL_0028: ldloc.2
IL_0029: callvirt instance !0 class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_Item(int32)
IL_002e: stloc.s 6
IL_0030: ldloca.s 6
IL_0032: call instance bool valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>::get_IsIn()
IL_0037: stloc.s 7
IL_0039: ldloc.s 7
IL_003b: brfalse.s IL_003f
IL_003d: ldloc.2
IL_003e: stloc.1
IL_003f: ldloca.s 6
IL_0041: call instance valuetype IronStone.Moldinium.Key valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>::get_Key()
IL_0046: stloc.s 9
IL_0048: ldarga.s v
IL_004a: call instance valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.Key> valuetype IronStone.Moldinium.ListEvent`1<!TSource>::get_PreviousKey()
IL_004f: stloc.s 10
IL_0051: ldloca.s 10
IL_0053: call instance bool valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.Key>::get_HasValue()
IL_0058: brtrue.s IL_005d
IL_005a: ldc.i4.0
IL_005b: br.s IL_006b
IL_005d: ldloc.s 9
IL_005f: ldloca.s 10
IL_0061: call instance !0 valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.Key>::GetValueOrDefault()
IL_0066: call bool IronStone.Moldinium.Key::op_Equality(valuetype IronStone.Moldinium.Key, valuetype IronStone.Moldinium.Key)
IL_006b: stloc.s 8
IL_006d: ldloc.s 8
IL_006f: brfalse.s IL_0073
IL_0071: br.s IL_008c
IL_0073: nop
IL_0074: ldloc.2
IL_0075: ldc.i4.1
IL_0076: add
IL_0077: stloc.2
IL_0078: ldloc.2
IL_0079: ldarg.0
IL_007a: ldfld class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::manifestation
IL_007f: callvirt instance int32 class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_Count()
IL_0084: clt
IL_0086: stloc.s 11
IL_0088: ldloc.s 11
IL_008a: brtrue.s IL_0021
// end loop
IL_008c: ldloc.2
IL_008d: ldarg.0
IL_008e: ldfld class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::manifestation
IL_0093: callvirt instance int32 class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_Count()
IL_0098: ceq
IL_009a: stloc.s 12
IL_009c: ldloc.s 12
IL_009e: brfalse.s IL_00ab
IL_00a0: ldstr "Previous element not found in manifestation."
IL_00a5: newobj instance void [mscorlib]System.Exception::.ctor(string)
IL_00aa: throw
IL_00ab: ldloc.1
IL_00ac: ldc.i4.0
IL_00ad: blt.s IL_00c2
IL_00af: ldarg.0
IL_00b0: ldfld class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::manifestation
IL_00b5: ldloc.1
IL_00b6: callvirt instance !0 class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_Item(int32)
IL_00bb: newobj instance void valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::.ctor(!0)
IL_00c0: br.s IL_00cc
IL_00c2: ldloca.s 13
IL_00c4: initobj valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>
IL_00ca: ldloc.s 13
IL_00cc: stloc.3
IL_00cd: ldarg.0
IL_00ce: ldfld class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_1`1'<!0> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::'CS$<>8__locals1'
IL_00d3: ldfld class [mscorlib]System.Func`2<!0, bool> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_1`1'<!TSource>::predicate
IL_00d8: ldarga.s v
IL_00da: call instance !0 valuetype IronStone.Moldinium.ListEvent`1<!TSource>::get_Item()
IL_00df: callvirt instance !1 class [mscorlib]System.Func`2<!TSource, bool>::Invoke(!0)
IL_00e4: stloc.s 4
IL_00e6: ldloca.s 14
IL_00e8: initobj valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>
IL_00ee: ldloca.s 14
IL_00f0: ldarga.s v
IL_00f2: call instance valuetype IronStone.Moldinium.Key valuetype IronStone.Moldinium.ListEvent`1<!TSource>::get_Key()
IL_00f7: call instance void valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>::set_Key(valuetype IronStone.Moldinium.Key)
IL_00fc: nop
IL_00fd: ldloca.s 14
IL_00ff: ldloc.s 4
IL_0101: call instance void valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>::set_IsIn(bool)
IL_0106: nop
IL_0107: ldloc.s 14
IL_0109: stloc.s 5
IL_010b: ldarg.0
IL_010c: ldfld class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::manifestation
IL_0111: ldloc.2
IL_0112: ldc.i4.1
IL_0113: add
IL_0114: ldloc.s 5
IL_0116: callvirt instance void class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::Insert(int32, !0)
IL_011b: nop
IL_011c: ldloc.s 4
IL_011e: stloc.s 15
IL_0120: ldloc.s 15
IL_0122: brfalse.s IL_016e
IL_0124: ldarg.0
IL_0125: ldfld class [mscorlib]System.Action`1<valuetype IronStone.Moldinium.ListEvent`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::onNext
IL_012a: ldc.i4.0
IL_012b: ldarga.s v
IL_012d: call instance !0 valuetype IronStone.Moldinium.ListEvent`1<!TSource>::get_Item()
IL_0132: ldarga.s v
IL_0134: call instance valuetype IronStone.Moldinium.Key valuetype IronStone.Moldinium.ListEvent`1<!TSource>::get_Key()
IL_0139: ldloca.s 3
IL_013b: call instance bool valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!
.method assembly hidebysig
instance void '<Where>b__2' (
valuetype IronStone.Moldinium.ListEvent`1<!TSource> v
) cil managed
{
// Method begins at RVA 0x3cf4
// Code size 660 (0x294)
.maxstack 5
.locals init (
[0] valuetype IronStone.Moldinium.ListEventType,
[1] int32,
[2] int32,
[3] valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>,
[4] bool,
[5] valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>,
[6] valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>,
[7] bool,
[8] bool,
[9] valuetype IronStone.Moldinium.Key,
[10] valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.Key>,
[11] bool,
[12] bool,
[13] valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>,
[14] valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>,
[15] bool,
[16] int32,
[17] int32,
[18] valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>,
[19] valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>,
[20] valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>,
[21] bool,
[22] bool,
[23] bool,
[24] bool,
[25] bool
)
IL_0000: nop
IL_0001: ldarga.s v
IL_0003: call instance valuetype IronStone.Moldinium.ListEventType valuetype IronStone.Moldinium.ListEvent`1<!TSource>::get_Type()
IL_0008: stloc.0
IL_0009: ldloc.0
IL_000a: brfalse.s IL_001a
IL_000c: br.s IL_000e
IL_000e: ldloc.0
IL_000f: ldc.i4.1
IL_0010: beq IL_0174
IL_0015: br IL_0291
IL_001a: nop
IL_001b: ldc.i4.m1
IL_001c: stloc.1
IL_001d: ldc.i4.0
IL_001e: stloc.2
IL_001f: br.s IL_0078
// loop start (head: IL_0078)
IL_0021: nop
IL_0022: ldarg.0
IL_0023: ldfld class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::manifestation
IL_0028: ldloc.2
IL_0029: callvirt instance !0 class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_Item(int32)
IL_002e: stloc.s 6
IL_0030: ldloca.s 6
IL_0032: call instance bool valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>::get_IsIn()
IL_0037: stloc.s 7
IL_0039: ldloc.s 7
IL_003b: brfalse.s IL_003f
IL_003d: ldloc.2
IL_003e: stloc.1
IL_003f: ldloca.s 6
IL_0041: call instance valuetype IronStone.Moldinium.Key valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>::get_Key()
IL_0046: stloc.s 9
IL_0048: ldarga.s v
IL_004a: call instance valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.Key> valuetype IronStone.Moldinium.ListEvent`1<!TSource>::get_PreviousKey()
IL_004f: stloc.s 10
IL_0051: ldloca.s 10
IL_0053: call instance bool valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.Key>::get_HasValue()
IL_0058: brtrue.s IL_005d
IL_005a: ldc.i4.0
IL_005b: br.s IL_006b
IL_005d: ldloc.s 9
IL_005f: ldloca.s 10
IL_0061: call instance !0 valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.Key>::GetValueOrDefault()
IL_0066: call bool IronStone.Moldinium.Key::op_Equality(valuetype IronStone.Moldinium.Key, valuetype IronStone.Moldinium.Key)
IL_006b: stloc.s 8
IL_006d: ldloc.s 8
IL_006f: brfalse.s IL_0073
IL_0071: br.s IL_008c
IL_0073: nop
IL_0074: ldloc.2
IL_0075: ldc.i4.1
IL_0076: add
IL_0077: stloc.2
IL_0078: ldloc.2
IL_0079: ldarg.0
IL_007a: ldfld class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::manifestation
IL_007f: callvirt instance int32 class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_Count()
IL_0084: clt
IL_0086: stloc.s 11
IL_0088: ldloc.s 11
IL_008a: brtrue.s IL_0021
// end loop
IL_008c: ldloc.2
IL_008d: ldarg.0
IL_008e: ldfld class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::manifestation
IL_0093: callvirt instance int32 class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_Count()
IL_0098: ceq
IL_009a: stloc.s 12
IL_009c: ldloc.s 12
IL_009e: brfalse.s IL_00ab
IL_00a0: ldstr "Previous element not found in manifestation."
IL_00a5: newobj instance void [mscorlib]System.Exception::.ctor(string)
IL_00aa: throw
IL_00ab: ldloc.1
IL_00ac: ldc.i4.0
IL_00ad: blt.s IL_00c2
IL_00af: ldarg.0
IL_00b0: ldfld class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::manifestation
IL_00b5: ldloc.1
IL_00b6: callvirt instance !0 class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_Item(int32)
IL_00bb: newobj instance void valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::.ctor(!0)
IL_00c0: br.s IL_00cc
IL_00c2: ldloca.s 13
IL_00c4: initobj valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>
IL_00ca: ldloc.s 13
IL_00cc: stloc.3
IL_00cd: ldarg.0
IL_00ce: ldfld class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_1`1'<!0> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::'CS$<>8__locals1'
IL_00d3: ldfld class [mscorlib]System.Func`2<!0, bool> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_1`1'<!TSource>::predicate
IL_00d8: ldarga.s v
IL_00da: call instance !0 valuetype IronStone.Moldinium.ListEvent`1<!TSource>::get_Item()
IL_00df: callvirt instance !1 class [mscorlib]System.Func`2<!TSource, bool>::Invoke(!0)
IL_00e4: stloc.s 4
IL_00e6: ldloca.s 14
IL_00e8: initobj valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>
IL_00ee: ldloca.s 14
IL_00f0: ldarga.s v
IL_00f2: call instance valuetype IronStone.Moldinium.Key valuetype IronStone.Moldinium.ListEvent`1<!TSource>::get_Key()
IL_00f7: call instance void valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>::set_Key(valuetype IronStone.Moldinium.Key)
IL_00fc: nop
IL_00fd: ldloca.s 14
IL_00ff: ldloc.s 4
IL_0101: call instance void valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>::set_IsIn(bool)
IL_0106: nop
IL_0107: ldloc.s 14
IL_0109: stloc.s 5
IL_010b: ldarg.0
IL_010c: ldfld class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::manifestation
IL_0111: ldloc.2
IL_0112: ldc.i4.1
IL_0113: add
IL_0114: ldloc.s 5
IL_0116: callvirt instance void class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::Insert(int32, !0)
IL_011b: nop
IL_011c: ldloc.s 4
IL_011e: stloc.s 15
IL_0120: ldloc.s 15
IL_0122: brfalse.s IL_016e
IL_0124: ldarg.0
IL_0125: ldfld class [mscorlib]System.Action`1<valuetype IronStone.Moldinium.ListEvent`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::onNext
IL_012a: ldc.i4.0
IL_012b: ldarga.s v
IL_012d: call instance !0 valuetype IronStone.Moldinium.ListEvent`1<!TSource>::get_Item()
IL_0132: ldarga.s v
IL_0134: call instance valuetype IronStone.Moldinium.Key valuetype IronStone.Moldinium.ListEvent`1<!TSource>::get_Key()
IL_0139: ldloca.s 3
IL_013b: call instance bool valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_HasValue()
IL_0140: brfalse.s IL_0159
IL_0142: ldloca.s 3
IL_0144: call instance !0 valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_Value()
IL_0149: stloc.s 14
IL_014b: ldloca.s 14
IL_014d: call instance valuetype IronStone.Moldinium.Key valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>::get_Key()
IL_0152: newobj instance void valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.Key>::.ctor(!0)
IL_0157: br.s IL_0163
IL_0159: ldloca.s 10
IL_015b: initobj valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.Key>
IL_0161: ldloc.s 10
IL_0163: call valuetype IronStone.Moldinium.ListEvent`1<!!0> IronStone.Moldinium.ListEvent::Make<!TSource>(valuetype IronStone.Moldinium.ListEventType, !!0, valuetype IronStone.Moldinium.Key, valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.Key>)
IL_0168: callvirt instance void class [mscorlib]System.Action`1<valuetype IronStone.Moldinium.ListEvent`1<!TSource>>::Invoke(!0)
IL_016d: nop
IL_016e: nop
IL_016f: br IL_0293
IL_0174: nop
IL_0175: ldc.i4.m1
IL_0176: stloc.s 16
IL_0178: ldc.i4.0
IL_0179: stloc.s 17
IL_017b: br.s IL_01c0
// loop start (head: IL_01c0)
IL_017d: nop
IL_017e: ldarg.0
IL_017f: ldfld class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::manifestation
IL_0184: ldloc.s 17
IL_0186: callvirt instance !0 class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_Item(int32)
IL_018b: stloc.s 20
IL_018d: ldloca.s 20
IL_018f: call instance valuetype IronStone.Moldinium.Key valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>::get_Key()
IL_0194: ldarga.s v
IL_0196: call instance valuetype IronStone.Moldinium.Key valuetype IronStone.Moldinium.ListEvent`1<!TSource>::get_Key()
IL_019b: call bool IronStone.Moldinium.Key::op_Equality(valuetype IronStone.Moldinium.Key, valuetype IronStone.Moldinium.Key)
IL_01a0: stloc.s 21
IL_01a2: ldloc.s 21
IL_01a4: brfalse.s IL_01a8
IL_01a6: br.s IL_01d5
IL_01a8: ldloca.s 20
IL_01aa: call instance bool valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>::get_IsIn()
IL_01af: stloc.s 22
IL_01b1: ldloc.s 22
IL_01b3: brfalse.s IL_01b9
IL_01b5: ldloc.s 17
IL_01b7: stloc.s 16
IL_01b9: nop
IL_01ba: ldloc.s 17
IL_01bc: ldc.i4.1
IL_01bd: add
IL_01be: stloc.s 17
IL_01c0: ldloc.s 17
IL_01c2: ldarg.0
IL_01c3: ldfld class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::manifestation
IL_01c8: callvirt instance int32 class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_Count()
IL_01cd: clt
IL_01cf: stloc.s 23
IL_01d1: ldloc.s 23
IL_01d3: brtrue.s IL_017d
// end loop
IL_01d5: ldloc.s 17
IL_01d7: ldarg.0
IL_01d8: ldfld class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::manifestation
IL_01dd: callvirt instance int32 class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_Count()
IL_01e2: ceq
IL_01e4: stloc.s 24
IL_01e6: ldloc.s 24
IL_01e8: brfalse.s IL_01f5
IL_01ea: ldstr "Target element not found in manifestation."
IL_01ef: newobj instance void [mscorlib]System.Exception::.ctor(string)
IL_01f4: throw
IL_01f5: ldarg.0
IL_01f6: ldfld class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::manifestation
IL_01fb: ldloc.s 17
IL_01fd: callvirt instance !0 class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_Item(int32)
IL_0202: stloc.s 18
IL_0204: ldloc.s 17
IL_0206: ldc.i4.0
IL_0207: blt.s IL_021d
IL_0209: ldarg.0
IL_020a: ldfld class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::manifestation
IL_020f: ldloc.s 16
IL_0211: callvirt instance !0 class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_Item(int32)
IL_0216: newobj instance void valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::.ctor(!0)
IL_021b: br.s IL_0227
IL_021d: ldloca.s 13
IL_021f: initobj valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>
IL_0225: ldloc.s 13
IL_0227: stloc.s 19
IL_0229: ldarg.0
IL_022a: ldfld class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::manifestation
IL_022f: ldloc.s 17
IL_0231: callvirt instance void class [mscorlib]System.Collections.Generic.List`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::RemoveAt(int32)
IL_0236: nop
IL_0237: ldloca.s 18
IL_0239: call instance bool valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>::get_IsIn()
IL_023e: stloc.s 25
IL_0240: ldloc.s 25
IL_0242: brfalse.s IL_028e
IL_0244: ldarg.0
IL_0245: ldfld class [mscorlib]System.Action`1<valuetype IronStone.Moldinium.ListEvent`1<!0>> class IronStone.Moldinium.LiveList/'<>c__DisplayClass10_0`1'<!TSource>::onNext
IL_024a: ldc.i4.1
IL_024b: ldarga.s v
IL_024d: call instance !0 valuetype IronStone.Moldinium.ListEvent`1<!TSource>::get_Item()
IL_0252: ldarga.s v
IL_0254: call instance valuetype IronStone.Moldinium.Key valuetype IronStone.Moldinium.ListEvent`1<!TSource>::get_Key()
IL_0259: ldloca.s 19
IL_025b: call instance bool valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_HasValue()
IL_0260: brfalse.s IL_0279
IL_0262: ldloca.s 19
IL_0264: call instance !0 valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>>::get_Value()
IL_0269: stloc.s 14
IL_026b: ldloca.s 14
IL_026d: call instance valuetype IronStone.Moldinium.Key valuetype IronStone.Moldinium.LiveList/WhereInfo`1<!TSource>::get_Key()
IL_0272: newobj instance void valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.Key>::.ctor(!0)
IL_0277: br.s IL_0283
IL_0279: ldloca.s 10
IL_027b: initobj valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.Key>
IL_0281: ldloc.s 10
IL_0283: call valuetype IronStone.Moldinium.ListEvent`1<!!0> IronStone.Moldinium.ListEvent::Make<!TSource>(valuetype IronStone.Moldinium.ListEventType, !!0, valuetype IronStone.Moldinium.Key, valuetype [mscorlib]System.Nullable`1<valuetype IronStone.Moldinium.Key>)
IL_0288: callvirt instance void class [mscorlib]System.Action`1<valuetype IronStone.Moldinium.ListEvent`1<!TSource>>::Invoke(!0)
IL_028d: nop
IL_028e: nop
IL_028f: br.s IL_0293
IL_0291: br.s IL_0293
IL_0293: ret
} // end of method '<>c__DisplayClass10_0`1'::'<Where>b__2'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment