Untitled Diff
53 removals
57 lines
55 additions
61 lines
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>
Invoke(
Invoke(
class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> _arg1
class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> l
) cil managed
) cil managed
{
{
.maxstack 6
.maxstack 6
.locals init (
.locals init (
[0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> V_0,
[0] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> V_0,
[1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> V_1,
[1] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> V_1,
[2] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> tail,
[2] class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> tail,
[3] int32 head
[3] int32 head
)
)
IL_0000: ldarg.1 // _arg1
// start of loop, entry point: IL_0000
IL_0001: stloc.0 // V_0
// [8 11 - 8 12]
IL_0000: nop
IL_0002: ldloc.0 // V_0
// [8 5 - 8 17]
IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0/*int32*/> class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>::get_TailOrNull()
IL_0001: ldarg.1 // l
IL_0008: brfalse.s IL_000c
IL_0002: stloc.0 // V_0
IL_000a: br.s IL_0012
// [20 13 - 20 15]
IL_0003: ldloc.0 // V_0
IL_000c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0/*int32*/> class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>::get_Empty()
IL_0004: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0/*int32*/> class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>::get_TailOrNull()
IL_0011: ret
IL_0009: brfalse.s IL_000d
IL_000b: br.s IL_0013
IL_0012: ldloc.0 // V_0
// [9 13 - 9 15]
IL_0013: stloc.1 // V_1
IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0/*int32*/> class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>::get_Empty()
IL_0014: ldloc.1 // V_1
IL_0012: ret
IL_0015: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0/*int32*/> class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>::get_TailOrNull()
IL_001a: stloc.2 // tail
IL_001b: ldloc.1 // V_1
IL_001c: call instance !0/*int32*/ class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>::get_HeadOrDefault()
IL_0021: stloc.3 // head
// [22 7 - 22 32]
IL_0013: ldloc.0 // V_0
IL_0022: nop
IL_0014: stloc.1 // V_1
IL_0015: ldloc.1 // V_1
IL_0016: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0/*int32*/> class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>::get_TailOrNull()
IL_001b: stloc.2 // tail
IL_001c: ldloc.1 // V_1
IL_001d: call instance !0/*int32*/ class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>::get_HeadOrDefault()
IL_0022: stloc.3 // head
IL_0023: ldarg.0 // this
// [11 7 - 11 32]
IL_0024: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32, bool> Program/'f@19-1'::condition
IL_0023: nop
IL_0029: ldloc.3 // head
IL_002a: callvirt instance !1/*bool*/ class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32, bool>::Invoke(!0/*int32*/)
IL_002f: brfalse.s IL_003e
// [23 17 - 23 23]
IL_0024: ldarg.0 // this
IL_0031: ldarg.0 // this
IL_0025: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32, bool> Program/f@8::condition
IL_0032: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>> Program/'f@19-1'::f
IL_002a: ldloc.3 // head
IL_0037: ldloc.2 // tail
IL_002b: callvirt instance !1/*bool*/ class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32, bool>::Invoke(!0/*int32*/)
IL_0038: callvirt instance !1/*class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>*/ class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>>::Invoke(!0/*class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>*/)
IL_0030: brfalse.s IL_0037
IL_003d: ret
// [24 18 - 24 30]
// [12 17 - 12 23]
IL_003e: ldloc.3 // head
IL_0032: ldloc.2 // tail
IL_003f: ldloc.2 // tail
IL_0033: starg.s l
IL_0040: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0/*int32*/> class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>::Cons(!0/*int32*/, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0/*int32*/>)
IL_0035: br.s IL_0000
IL_0045: ret
// end of loop
} // end of method 'f@19-1'::Invoke
// [13 18 - 13 30]
IL_0037: ldloc.3 // head
IL_0038: ldloc.2 // tail
IL_0039: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0/*int32*/> class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>::Cons(!0/*int32*/, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0/*int32*/>)
IL_003e: ret
} // end of method f@8::Invoke