From a362135ca383729724b65b67e6c431f4b2112249 Mon Sep 17 00:00:00 2001 From: Colin Bull Date: Mon, 10 Oct 2016 21:49:52 +0100 Subject: [PATCH 01/14] Initial implementation of ToString for unions --- src/fsharp/IlxGen.fs | 48 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/src/fsharp/IlxGen.fs b/src/fsharp/IlxGen.fs index 0a8a899c1de..50fc61d18e9 100644 --- a/src/fsharp/IlxGen.fs +++ b/src/fsharp/IlxGen.fs @@ -6432,7 +6432,53 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon:Tycon) = yield { ilMethodDef with Access=reprAccess } | _ -> () - + | TUnionRepr _ when (not <| tycon.HasOverride cenv.g "ToString" []) -> + match (eenv.valsInScope.TryFind cenv.g.sprintf_vref.Deref, + eenv.valsInScope.TryFind cenv.g.new_format_vref.Deref) with + | Some(Lazy(Method(_,_,sprintfMethSpec,_,_,_))), Some(Lazy(Method(_,_,newFormatMethSpec,_,_,_))) -> + // The type returned by the 'sprintf' call + let funcTy = EraseClosures.mkILFuncTy cenv.g.ilxPubCloEnv ilThisTy cenv.g.ilg.typ_String + // Give the instantiation of the printf format object, i.e. a Format`3 object compatible with StringFormat + let newFormatMethSpec = mkILMethSpec(newFormatMethSpec.MethodRef,AsObject, + [// 'T -> string' + funcTy + // rest follow from 'StringFormat' + GenUnitTy cenv eenv m + cenv.g.ilg.typ_String + cenv.g.ilg.typ_String + cenv.g.ilg.typ_String + ],[]) + // Instantiate with our own type + let sprintfMethSpec = mkILMethSpec(sprintfMethSpec.MethodRef,AsObject,[],[funcTy]) + // Here's the body of the method. Call printf, then invoke the function it returns + let callInstrs = EraseClosures.mkCallFunc cenv.g.ilxPubCloEnv (fun _ -> 0us) eenv.tyenv.Count Normalcall (Apps_app(ilThisTy, Apps_done cenv.g.ilg.typ_String)) + let ilMethodDef = mkILNonGenericVirtualMethod ("ToString",ILMemberAccess.Public,[], + mkILReturn cenv.g.ilg.typ_String, + mkMethodBody + (true,[],2, + nonBranchingInstrsToCode + ([ // load the hardwired format string + yield I_ldstr "%A" + // make the printf format object + yield mkNormalNewobj newFormatMethSpec + // call sprintf + yield mkNormalCall sprintfMethSpec + // call the function returned by sprintf + yield mkLdarg0 + if ilThisTy.Boxity = ILBoxity.AsValue then + yield mkNormalLdobj ilThisTy ] @ + callInstrs), + None)) + yield ilMethodDef + | None,_ -> + //printfn "sprintf not found" + () + | _,None -> + //printfn "new formatnot found" + () + | _ -> + //printfn "neither found, or non-method" + () | _ -> () ] let ilMethods = methodDefs @ augmentOverrideMethodDefs @ abstractMethodDefs From 34a464c5f1f88bf916870cc7831e518203a8483c Mon Sep 17 00:00:00 2001 From: Colin Bull Date: Mon, 10 Oct 2016 22:38:23 +0100 Subject: [PATCH 02/14] Added basic tests for union ToString and override --- tests/fsharp/core/members/basics/test.fs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/fsharp/core/members/basics/test.fs b/tests/fsharp/core/members/basics/test.fs index b39f9cf53fd..46a308ac10c 100644 --- a/tests/fsharp/core/members/basics/test.fs +++ b/tests/fsharp/core/members/basics/test.fs @@ -1104,6 +1104,28 @@ module OverrideIComparableOnUnionTest = begin do testc s4 s2 end +module ToStringOnUnionTest = begin + + type MyUnion = A of string | B + + let a1 = A "FOO" + do test "union-tostring-def" (a1.ToString() = "A \"FOO\"") + do test "union-sprintfO-def" ((sprintf "%O" a1) = "A \"FOO\"") + +end + +module ToStringOnUnionTest = begin + + type MyUnion = A of string | B + with + override x.ToString() = "MyUnion" + + let a1 = A "FOO" + do test "union-tostring-with-override" (a1.ToString() = "MyUnion))") + do test "union-sprintfO-with-override" ((sprintf "%O" a1) = "MyUnion))") + +end + module OverrideIStructuralComparableOnUnionTest = begin [] From 4166e81a542a4fd80cbe3c707c5b52ac91c536b0 Mon Sep 17 00:00:00 2001 From: Colin Bull Date: Fri, 14 Oct 2016 21:30:16 +0100 Subject: [PATCH 03/14] Changed type representation of the PrintFormat function --- src/fsharp/IlxGen.fs | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/src/fsharp/IlxGen.fs b/src/fsharp/IlxGen.fs index 50fc61d18e9..cd72aefdb5c 100644 --- a/src/fsharp/IlxGen.fs +++ b/src/fsharp/IlxGen.fs @@ -6436,23 +6436,22 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon:Tycon) = match (eenv.valsInScope.TryFind cenv.g.sprintf_vref.Deref, eenv.valsInScope.TryFind cenv.g.new_format_vref.Deref) with | Some(Lazy(Method(_,_,sprintfMethSpec,_,_,_))), Some(Lazy(Method(_,_,newFormatMethSpec,_,_,_))) -> - // The type returned by the 'sprintf' call - let funcTy = EraseClosures.mkILFuncTy cenv.g.ilxPubCloEnv ilThisTy cenv.g.ilg.typ_String - // Give the instantiation of the printf format object, i.e. a Format`3 object compatible with StringFormat - let newFormatMethSpec = mkILMethSpec(newFormatMethSpec.MethodRef,AsObject, - [// 'T -> string' - funcTy - // rest follow from 'StringFormat' - GenUnitTy cenv eenv m - cenv.g.ilg.typ_String - cenv.g.ilg.typ_String - cenv.g.ilg.typ_String - ],[]) - // Instantiate with our own type - let sprintfMethSpec = mkILMethSpec(sprintfMethSpec.MethodRef,AsObject,[],[funcTy]) - // Here's the body of the method. Call printf, then invoke the function it returns - let callInstrs = EraseClosures.mkCallFunc cenv.g.ilxPubCloEnv (fun _ -> 0us) eenv.tyenv.Count Normalcall (Apps_app(ilThisTy, Apps_done cenv.g.ilg.typ_String)) - let ilMethodDef = mkILNonGenericVirtualMethod ("ToString",ILMemberAccess.Public,[], + // The type returned by the 'sprintf' call + let funcTy = EraseClosures.mkILFuncTy cenv.g.ilxPubCloEnv ilThisTy cenv.g.ilg.typ_String + // Give the instantiation of the printf format object, i.e. a Format`5 object compatible with StringFormat + let newFormatMethSpec = mkILMethSpec(newFormatMethSpec.MethodRef,AsObject, + [// 'T -> string' + funcTy + // rest follow from 'StringFormat' + GenUnitTy cenv eenv m + cenv.g.ilg.typ_String + cenv.g.ilg.typ_String + ilThisTy],[]) + // Instantiate with our own type + let sprintfMethSpec = mkILMethSpec(sprintfMethSpec.MethodRef,AsObject,[],[funcTy]) + // Here's the body of the method. Call printf, then invoke the function it returns + let callInstrs = EraseClosures.mkCallFunc cenv.g.ilxPubCloEnv (fun _ -> 0us) eenv.tyenv.Count Normalcall (Apps_app(ilThisTy, Apps_done cenv.g.ilg.typ_String)) + let ilMethodDef = mkILNonGenericVirtualMethod ("ToString",ILMemberAccess.Public,[], mkILReturn cenv.g.ilg.typ_String, mkMethodBody (true,[],2, @@ -6469,7 +6468,7 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon:Tycon) = yield mkNormalLdobj ilThisTy ] @ callInstrs), None)) - yield ilMethodDef + yield ilMethodDef | None,_ -> //printfn "sprintf not found" () From 875e0e8b443cb4ce8cf62423f0dd43852e3e411b Mon Sep 17 00:00:00 2001 From: Colin Bull Date: Tue, 18 Oct 2016 21:06:47 +0100 Subject: [PATCH 04/14] Adding union definitions to test fsi file --- tests/fsharp/core/members/basics/test.fsi | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/fsharp/core/members/basics/test.fsi b/tests/fsharp/core/members/basics/test.fsi index 028858f0a97..7efd5cdd50a 100644 --- a/tests/fsharp/core/members/basics/test.fsi +++ b/tests/fsharp/core/members/basics/test.fsi @@ -129,3 +129,13 @@ module UnionTypeTest: begin end end + +module ToStringOnUnionTest: begin + type MyUnion = A of string | B + +end + +module ToStringOnUnionTestOverride: begin + type MyUnion = A of string | B + +end \ No newline at end of file From 6c7bdd79219d02d711df211f94ed57563d4e9d55 Mon Sep 17 00:00:00 2001 From: Colin Date: Fri, 25 Nov 2016 15:47:58 +0000 Subject: [PATCH 05/14] Updated in fsharpqa IL to include new generated ToString method on DUs --- .../CCtorDUWithMember01.il.bsl | 13 ++++++ .../cctorduwithmember01.il.netfx4.bsl | 13 ++++++ .../EmittedIL/Misc/EqualsOnUnions01.il.bsl | 13 ++++++ .../Misc/EqualsOnUnions01.il.netfx4.bsl | 13 ++++++ .../Misc/GeneralizationOnUnions01.il.bsl | 13 ++++++ .../ToplevelModule.il.bsl | 26 ++++++++++++ .../ToplevelModuleP.il.bsl | 26 ++++++++++++ .../ToplevelNamespace.il.bsl | 39 ++++++++++++++++++ .../ToplevelNamespaceP.il.bsl | 39 ++++++++++++++++++ .../SteppingMatch/SteppingMatch06.il.bsl | 12 ++++++ .../SteppingMatch/SteppingMatch07.il.bsl | 12 ++++++ .../steppingmatch06.il.netfx4.bsl | 12 ++++++ .../steppingmatch07.il.netfx4.bsl | 12 ++++++ .../TestFunction16.il.netfx4.bsl | 12 ++++++ .../TestFunction21.il.netfx4.bsl | 12 ++++++ .../TestFunctions/Testfunction16.il.bsl | 12 ++++++ .../GenericComparison/Compare05.il.netfx4.bsl | 12 ++++++ .../GenericComparison/Compare07.il.netfx4.bsl | 12 ++++++ .../GenericComparison/Compare10.il.netfx4.bsl | 24 +++++++++++ .../GenericComparison/Equals04.il.netfx4.bsl | 12 ++++++ .../GenericComparison/Equals06.il.netfx4.bsl | 12 ++++++ .../GenericComparison/Equals09.il.netfx4.bsl | 12 ++++++ .../GenericComparison/Hash05.il.netfx4.bsl | 12 ++++++ .../GenericComparison/Hash06.il.netfx4.bsl | 12 ++++++ .../GenericComparison/Hash09.il.netfx4.bsl | 12 ++++++ .../GenericComparison/Hash12.il.netfx4.bsl | 25 +++++++++++ .../Optimizations/Inlining/Match01.il.bsl | Bin 129528 -> 131430 bytes .../Inlining/StructUnion01.il.bsl | 13 ++++++ 28 files changed, 437 insertions(+) diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01.il.bsl index 2fa850209f3..bb7bbb264d4 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01.il.bsl @@ -235,6 +235,19 @@ IL_0015: ret } // end of method C::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class CCtorDUWithMember01a/C>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method C::ToString + .method public hidebysig virtual final instance int32 CompareTo(class CCtorDUWithMember01a/C obj) cil managed { diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/cctorduwithmember01.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/cctorduwithmember01.il.netfx4.bsl index 4ff8d8dcbde..4576f48e5bc 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/cctorduwithmember01.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/cctorduwithmember01.il.netfx4.bsl @@ -238,6 +238,19 @@ IL_0015: ret } // end of method C::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method C::ToString + .method public hidebysig virtual final instance int32 CompareTo(class CCtorDUWithMember01a/C obj) cil managed { diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.bsl index 5473a031767..9b1cc3129ae 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.bsl @@ -321,6 +321,19 @@ IL_0015: ret } // end of method U::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method U::ToString + .method public hidebysig virtual final instance int32 CompareTo(class EqualsOnUnions01/U obj) cil managed { diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.netfx4.bsl index 5473a031767..9b1cc3129ae 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.netfx4.bsl @@ -321,6 +321,19 @@ IL_0015: ret } // end of method U::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method U::ToString + .method public hidebysig virtual final instance int32 CompareTo(class EqualsOnUnions01/U obj) cil managed { diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/GeneralizationOnUnions01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/GeneralizationOnUnions01.il.bsl index 74b156ee342..994c4915bd7 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/GeneralizationOnUnions01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/GeneralizationOnUnions01.il.bsl @@ -127,6 +127,19 @@ IL_0015: ret } // end of method Weirdo::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Weirdo::ToString + .method public hidebysig virtual final instance int32 CompareTo(class GeneralizationOnUnions01/Weirdo obj) cil managed { diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl index 3c9df2a50c3..347a5a766fd 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl @@ -133,6 +133,19 @@ IL_0015: ret } // end of method Expr::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Expr::ToString + .method public hidebysig virtual final instance int32 CompareTo(class ABC/Expr obj) cil managed { @@ -932,6 +945,19 @@ IL_0015: ret } // end of method Expr::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Expr::ToString + .method public hidebysig virtual final instance int32 CompareTo(class ABC/ABC/Expr obj) cil managed { diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModuleP.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModuleP.il.bsl index 93b55d4bd13..771eaa3d503 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModuleP.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModuleP.il.bsl @@ -133,6 +133,19 @@ IL_0015: ret } // end of method Expr::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Expr::ToString + .method public hidebysig virtual final instance int32 CompareTo(class ABC/Expr obj) cil managed { @@ -918,6 +931,19 @@ IL_0015: ret } // end of method Expr::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Expr::ToString + .method public hidebysig virtual final instance int32 CompareTo(class ABC/ABC/Expr obj) cil managed { diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespace.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespace.il.bsl index 2c1b74c902a..97c0aca1ced 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespace.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespace.il.bsl @@ -128,6 +128,19 @@ IL_0015: ret } // end of method Expr::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Expr::ToString + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.Expr obj) cil managed { @@ -927,6 +940,19 @@ IL_0015: ret } // end of method Expr::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Expr::ToString + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/Expr obj) cil managed { @@ -1725,6 +1751,19 @@ IL_0015: ret } // end of method Expr::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Expr::ToString + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/ABC/Expr obj) cil managed { diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespaceP.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespaceP.il.bsl index dc494245d5b..78d8c5dba0c 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespaceP.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespaceP.il.bsl @@ -128,6 +128,19 @@ IL_0015: ret } // end of method Expr::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Expr::ToString + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.Expr obj) cil managed { @@ -913,6 +926,19 @@ IL_0015: ret } // end of method Expr::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Expr::ToString + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/Expr obj) cil managed { @@ -1697,6 +1723,19 @@ IL_0015: ret } // end of method Expr::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + // Code size 22 (0x16) + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Expr::ToString + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/ABC/Expr obj) cil managed { diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch06.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch06.il.bsl index ce31aada34f..bc7a57d987d 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch06.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch06.il.bsl @@ -184,6 +184,18 @@ IL_0015: ret } // end of method Discr::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class SteppingMatch06/Discr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Discr::ToString + .method public hidebysig virtual final instance int32 CompareTo(class SteppingMatch06/Discr obj) cil managed { diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch07.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch07.il.bsl index 475c7e4339b..e44b2ab0bd9 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch07.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch07.il.bsl @@ -184,6 +184,18 @@ IL_0015: ret } // end of method Discr::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Discr::ToString + .method public hidebysig virtual final instance int32 CompareTo(class SteppingMatch07/Discr obj) cil managed { diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch06.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch06.il.netfx4.bsl index ad23ecaebb5..f57f368a15e 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch06.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch06.il.netfx4.bsl @@ -187,6 +187,18 @@ IL_0015: ret } // end of method Discr::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Discr::ToString + .method public hidebysig virtual final instance int32 CompareTo(class SteppingMatch06/Discr obj) cil managed { diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch07.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch07.il.netfx4.bsl index d6e062dd289..1ffd7cd5ef0 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch07.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch07.il.netfx4.bsl @@ -187,6 +187,18 @@ IL_0015: ret } // end of method Discr::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Discr::ToString + .method public hidebysig virtual final instance int32 CompareTo(class SteppingMatch07/Discr obj) cil managed { diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction16.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction16.il.netfx4.bsl index 4891b7a3ac5..33df2d5789c 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction16.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction16.il.netfx4.bsl @@ -156,6 +156,18 @@ IL_0015: ret } // end of method U::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method U::ToString + .method public hidebysig virtual final instance int32 CompareTo(class TestFunction16/U obj) cil managed { diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction21.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction21.il.netfx4.bsl index a0971f6f7fc..d6a33bfd35a 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction21.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction21.il.netfx4.bsl @@ -156,6 +156,18 @@ IL_0015: ret } // end of method U::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method U::ToString + .method public hidebysig virtual final instance int32 CompareTo(class TestFunction21/U obj) cil managed { diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction16.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction16.il.bsl index e61c5699bc7..bd9b676231a 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction16.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction16.il.bsl @@ -153,6 +153,18 @@ IL_0015: ret } // end of method U::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method U::ToString + .method public hidebysig virtual final instance int32 CompareTo(class TestFunction16/U obj) cil managed { diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare05.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare05.il.netfx4.bsl index 8f0ea608726..3960f902c94 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare05.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare05.il.netfx4.bsl @@ -160,6 +160,18 @@ IL_0015: ret } // end of method Key::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Key::ToString + .method public hidebysig virtual final instance int32 CompareTo(class Compare05/CompareMicroPerfAndCodeGenerationTests/Key obj) cil managed { diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.netfx4.bsl index 05cbe2692ca..bbc5c47f363 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.netfx4.bsl @@ -160,6 +160,18 @@ IL_0015: ret } // end of method GenericKey`1::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,string>,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString,string>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,string>::Invoke(!0) + IL_0015: ret + } // end of method GenericKey`1::ToString + .method public hidebysig virtual final instance int32 CompareTo(class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 obj) cil managed { diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.netfx4.bsl index d48be040d65..a383e6b8345 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.netfx4.bsl @@ -160,6 +160,18 @@ IL_0015: ret } // end of method Key::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Key::ToString + .method public hidebysig virtual final instance int32 CompareTo(class Compare10/CompareMicroPerfAndCodeGenerationTests/Key obj) cil managed { @@ -708,6 +720,18 @@ IL_0015: ret } // end of method KeyWithInnerKeys::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method KeyWithInnerKeys::ToString + .method public hidebysig virtual final instance int32 CompareTo(class Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys obj) cil managed { diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals04.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals04.il.netfx4.bsl index cb5e36f2913..1357651a4af 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals04.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals04.il.netfx4.bsl @@ -160,6 +160,18 @@ IL_0015: ret } // end of method Key::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Key::ToString + .method public hidebysig virtual final instance int32 CompareTo(class Equals04/EqualsMicroPerfAndCodeGenerationTests/Key obj) cil managed { diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.netfx4.bsl index 3c62a493a20..38870b6236e 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.netfx4.bsl @@ -160,6 +160,18 @@ IL_0015: ret } // end of method GenericKey`1::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,string>,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString,string>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,string>::Invoke(!0) + IL_0015: ret + } // end of method GenericKey`1::ToString + .method public hidebysig virtual final instance int32 CompareTo(class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 obj) cil managed { diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl index 2ffd130c8b1..88c705b98dc 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl @@ -160,6 +160,18 @@ IL_0015: ret } // end of method Key::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Key::ToString + .method public hidebysig virtual final instance int32 CompareTo(class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key obj) cil managed { diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash05.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash05.il.netfx4.bsl index 4c3e0ca5a9e..921fbfe936a 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash05.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash05.il.netfx4.bsl @@ -160,6 +160,18 @@ IL_0015: ret } // end of method Key::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Key::ToString + .method public hidebysig virtual final instance int32 CompareTo(class Hash05/HashMicroPerfAndCodeGenerationTests/Key obj) cil managed { diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash06.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash06.il.netfx4.bsl index 66521cae353..43c49e09598 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash06.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash06.il.netfx4.bsl @@ -160,6 +160,18 @@ IL_0015: ret } // end of method Key::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Key::ToString + .method public hidebysig virtual final instance int32 CompareTo(class Hash06/HashMicroPerfAndCodeGenerationTests/Key obj) cil managed { diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.netfx4.bsl index b739df3af08..7a523b0f28a 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.netfx4.bsl @@ -160,6 +160,18 @@ IL_0015: ret } // end of method GenericKey`1::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,string>,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString,string>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,string>::Invoke(!0) + IL_0015: ret + } // end of method GenericKey`1::ToString + .method public hidebysig virtual final instance int32 CompareTo(class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 obj) cil managed { diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl index 91efe492e5a..9d1f8297613 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl @@ -160,6 +160,19 @@ IL_0015: ret } // end of method Key::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Key::To + String + .method public hidebysig virtual final instance int32 CompareTo(class Hash12/HashMicroPerfAndCodeGenerationTests/Key obj) cil managed { @@ -708,6 +721,18 @@ IL_0015: ret } // end of method KeyWithInnerKeys::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method KeyWithInnerKeys::ToString + .method public hidebysig virtual final instance int32 CompareTo(class Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys obj) cil managed { diff --git a/tests/fsharpqa/Source/Optimizations/Inlining/Match01.il.bsl b/tests/fsharpqa/Source/Optimizations/Inlining/Match01.il.bsl index 523f7efed861a5c2664420a96c43c1ce833e2920..69dd8ffe79b17f559a90cf1755a748d065183fa2 100644 GIT binary patch delta 127 zcmezInf+N4N5d9I4!Ow=|5(_I7%~}>8A_%%hB69IHW3u!E@miU014(Xq)%>CQRWR{ z$Y%(KiA{efz-T|+K%6mz*^xnM`awoU+3jn@8HL!;lsSqpDo+>SVN{wPpv{;wJxhyG LZTmVoMz7ld3Ev_= delta 27 jcmaFX#PQ=Zd&3q+4!P+I^cWka-!NoU+b*NV=ye+aqcRGL diff --git a/tests/fsharpqa/Source/Optimizations/Inlining/StructUnion01.il.bsl b/tests/fsharpqa/Source/Optimizations/Inlining/StructUnion01.il.bsl index 95df244b59b..7160566e899 100644 --- a/tests/fsharpqa/Source/Optimizations/Inlining/StructUnion01.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/Inlining/StructUnion01.il.bsl @@ -152,6 +152,19 @@ IL_001a: ret } // end of method U::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: ldobj StructUnion01/U + IL_0015: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_001a: ret + } // end of method U::ToString + .method public hidebysig virtual final instance int32 CompareTo(valuetype StructUnion01/U obj) cil managed { From f7faab42b6d0027279231a593d6805ed34e97fc7 Mon Sep 17 00:00:00 2001 From: Colin Date: Thu, 8 Dec 2016 21:43:45 +0000 Subject: [PATCH 06/14] Furthur fixing up of IL for qa tests --- .../cctorduwithmember01.il.netfx4.bsl | 2 +- .../Misc/EqualsOnUnions01.il.netfx4.bsl | 2 +- .../Misc/GeneralizationOnUnions01.il.bsl | 2 +- .../ToplevelModule.il.bsl | 4 ++-- .../ToplevelNamespace.il.bsl | 6 +++--- .../SteppingMatch/SteppingMatch07.il.bsl | 2 +- .../steppingmatch06.il.netfx4.bsl | 2 +- .../TestFunction16.il.netfx4.bsl | 2 +- .../TestFunction21.il.netfx4.bsl | 2 +- .../GenericComparison/Compare05.il.netfx4.bsl | 2 +- .../GenericComparison/Compare07.il.netfx4.bsl | 2 +- .../GenericComparison/Compare10.il.netfx4.bsl | 4 ++-- .../GenericComparison/Equals04.il.netfx4.bsl | 2 +- .../GenericComparison/Equals06.il.netfx4.bsl | 2 +- .../GenericComparison/Equals09.il.netfx4.bsl | 4 ++-- .../GenericComparison/Hash05.il.netfx4.bsl | 2 +- .../GenericComparison/Hash06.il.netfx4.bsl | 2 +- .../GenericComparison/Hash09.il.netfx4.bsl | 2 +- .../GenericComparison/Hash12.il.netfx4.bsl | 4 ++-- .../Optimizations/Inlining/Match01.il.bsl | Bin 131430 -> 131456 bytes .../Inlining/StructUnion01.il.bsl | 2 +- 21 files changed, 26 insertions(+), 26 deletions(-) diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/cctorduwithmember01.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/cctorduwithmember01.il.netfx4.bsl index 4576f48e5bc..8b56665a001 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/cctorduwithmember01.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/cctorduwithmember01.il.netfx4.bsl @@ -244,7 +244,7 @@ // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class CCtorDUWithMember01a/C>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.netfx4.bsl index 9b1cc3129ae..702a7cbe9e2 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.netfx4.bsl @@ -327,7 +327,7 @@ // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class EqualsOnUnions01/U>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/GeneralizationOnUnions01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/GeneralizationOnUnions01.il.bsl index 994c4915bd7..df333e02810 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/GeneralizationOnUnions01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/GeneralizationOnUnions01.il.bsl @@ -133,7 +133,7 @@ // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class GeneralizationOnUnions01/Weirdo>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl index 347a5a766fd..77c342a8825 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl @@ -139,7 +139,7 @@ // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/Expr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) @@ -951,7 +951,7 @@ // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/Expr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespace.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespace.il.bsl index 97c0aca1ced..a38c3b64e4e 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespace.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespace.il.bsl @@ -134,7 +134,7 @@ // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.Expr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) @@ -946,7 +946,7 @@ // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/Expr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) @@ -1757,7 +1757,7 @@ // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/ABC/Expr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch07.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch07.il.bsl index e44b2ab0bd9..b9e13fd77ee 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch07.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch07.il.bsl @@ -189,7 +189,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class SteppingMatch07/Discr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch06.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch06.il.netfx4.bsl index f57f368a15e..95e5892ea85 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch06.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch06.il.netfx4.bsl @@ -192,7 +192,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class SteppingMatch06/Discr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction16.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction16.il.netfx4.bsl index 33df2d5789c..c18118f4396 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction16.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction16.il.netfx4.bsl @@ -161,7 +161,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class TestFunction16/U>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction21.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction21.il.netfx4.bsl index d6a33bfd35a..f547e238185 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction21.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction21.il.netfx4.bsl @@ -161,7 +161,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class TestFunction21/U>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare05.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare05.il.netfx4.bsl index 3960f902c94..bc5c181f857 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare05.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare05.il.netfx4.bsl @@ -165,7 +165,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Compare05/CompareMicroPerfAndCodeGenerationTests/Key>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.netfx4.bsl index bbc5c47f363..57ff6302022 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.netfx4.bsl @@ -165,7 +165,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,string>,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,string>,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString,string>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,string>::Invoke(!0) diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.netfx4.bsl index a383e6b8345..79ea12ed9c0 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.netfx4.bsl @@ -165,7 +165,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Compare10/CompareMicroPerfAndCodeGenerationTests/Key>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) @@ -725,7 +725,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals04.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals04.il.netfx4.bsl index 1357651a4af..1311aee28c9 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals04.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals04.il.netfx4.bsl @@ -165,7 +165,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Equals04/EqualsMicroPerfAndCodeGenerationTests/Key>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.netfx4.bsl index 38870b6236e..3d8efea114f 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.netfx4.bsl @@ -165,7 +165,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,string>,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,string>,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString,string>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,string>::Invoke(!0) diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl index 88c705b98dc..5890c9c6863 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl @@ -165,7 +165,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) @@ -713,7 +713,7 @@ // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+0.8A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash05.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash05.il.netfx4.bsl index 921fbfe936a..abc158e5daa 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash05.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash05.il.netfx4.bsl @@ -165,7 +165,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Hash05/HashMicroPerfAndCodeGenerationTests/Key>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash06.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash06.il.netfx4.bsl index 43c49e09598..2889e05b4ad 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash06.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash06.il.netfx4.bsl @@ -165,7 +165,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Hash06/HashMicroPerfAndCodeGenerationTests/Key>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.netfx4.bsl index 7a523b0f28a..13007d70b81 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.netfx4.bsl @@ -165,7 +165,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,string>,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,string>,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString,string>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,string>::Invoke(!0) diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl index 9d1f8297613..2ea853ae474 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl @@ -165,7 +165,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Hash12/HashMicroPerfAndCodeGenerationTests/Key>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) @@ -726,7 +726,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/Optimizations/Inlining/Match01.il.bsl b/tests/fsharpqa/Source/Optimizations/Inlining/Match01.il.bsl index 69dd8ffe79b17f559a90cf1755a748d065183fa2..fbdd196957ea00ba02ba9074753ccd7c63df4358 100644 GIT binary patch delta 28 kcmaFX#L>{q(XfT_jl%RIc1E@Bb&`w@EZZ$q8TIY}0GhxFrT_o{ delta 28 kcmZo@=6Ke`(XfT_jl%SM3XDA4>m(T+ShfeLGV0v{0HF8^D*ylh diff --git a/tests/fsharpqa/Source/Optimizations/Inlining/StructUnion01.il.bsl b/tests/fsharpqa/Source/Optimizations/Inlining/StructUnion01.il.bsl index 7160566e899..8bc6836e4d1 100644 --- a/tests/fsharpqa/Source/Optimizations/Inlining/StructUnion01.il.bsl +++ b/tests/fsharpqa/Source/Optimizations/Inlining/StructUnion01.il.bsl @@ -157,7 +157,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,valuetype StructUnion01/U>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: ldobj StructUnion01/U From 88b760e086d192523f78646efc05a3445baf661c Mon Sep 17 00:00:00 2001 From: Colin Date: Thu, 8 Dec 2016 22:37:35 +0000 Subject: [PATCH 07/14] Yet again fixing up of IL for qa tests --- .../SerializableAttribute/ToplevelModule.il.bsl | 2 +- .../SteppingMatch/steppingmatch07.il.netfx4.bsl | 2 +- .../GenericComparison/Equals09.il.netfx4.bsl | 12 ++++++++++++ .../GenericComparison/Hash12.il.netfx4.bsl | 3 +-- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl index 77c342a8825..6abb47cc051 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl @@ -951,7 +951,7 @@ // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/Expr>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/ABC/Expr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch07.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch07.il.netfx4.bsl index 1ffd7cd5ef0..51b7035d980 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch07.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch07.il.netfx4.bsl @@ -192,7 +192,7 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class SteppingMatch07/Discr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl index 5890c9c6863..0c87b2a7d5c 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl @@ -720,6 +720,18 @@ IL_0015: ret } // end of method KeyWithInnerKeys::__DebugDisplay + .method public strict virtual instance string + ToString() cil managed + { + .maxstack 8 + IL_0000: ldstr "%A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } // end of method Key::ToString + .method public hidebysig virtual final instance int32 CompareTo(class Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys obj) cil managed { diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl index 2ea853ae474..9f581785191 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl @@ -170,8 +170,7 @@ IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) IL_0015: ret - } // end of method Key::To - String + } // end of method Key::ToString .method public hidebysig virtual final instance int32 CompareTo(class Hash12/HashMicroPerfAndCodeGenerationTests/Key obj) cil managed From 91e21e1c31d6929e7790978991ae65f441d6b101 Mon Sep 17 00:00:00 2001 From: Colin Date: Fri, 9 Dec 2016 06:57:46 +0000 Subject: [PATCH 08/14] Removed unneeded comments --- src/fsharp/IlxGen.fs | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/fsharp/IlxGen.fs b/src/fsharp/IlxGen.fs index cd72aefdb5c..465509b85fc 100644 --- a/src/fsharp/IlxGen.fs +++ b/src/fsharp/IlxGen.fs @@ -6470,13 +6470,10 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon:Tycon) = None)) yield ilMethodDef | None,_ -> - //printfn "sprintf not found" () | _,None -> - //printfn "new formatnot found" () | _ -> - //printfn "neither found, or non-method" () | _ -> () ] From a2633452b7f16bfa76056dc20164969a01a0a41a Mon Sep 17 00:00:00 2001 From: Colin Date: Fri, 9 Dec 2016 07:52:10 +0000 Subject: [PATCH 09/14] More IL test fixes --- .../Optimizations/GenericComparison/Equals09.il.netfx4.bsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl index 0c87b2a7d5c..75874772f59 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl @@ -713,7 +713,7 @@ // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+0.8A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys>::.ctor(string) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) From 02f56c292e2843bc1926f8efcc2894a24bb28226 Mon Sep 17 00:00:00 2001 From: Colin Date: Fri, 9 Dec 2016 08:45:57 +0000 Subject: [PATCH 10/14] Incorrect class name in Equals09 IL --- .../GenericComparison/Equals09.il.netfx4.bsl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl index 75874772f59..a466bf67199 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl @@ -725,12 +725,12 @@ { .maxstack 8 IL_0000: ldstr "%A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) IL_0015: ret - } // end of method Key::ToString + } // end of method KeyWithInnerKeys::ToString .method public hidebysig virtual final instance int32 CompareTo(class Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys obj) cil managed From 5060f54bcb91381efb0bd7d919793856657ba9f9 Mon Sep 17 00:00:00 2001 From: Colin Date: Fri, 9 Dec 2016 09:50:48 +0000 Subject: [PATCH 11/14] Tidying up comment removal ILxGen.fs --- src/fsharp/IlxGen.fs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/fsharp/IlxGen.fs b/src/fsharp/IlxGen.fs index 465509b85fc..cfa466c87f9 100644 --- a/src/fsharp/IlxGen.fs +++ b/src/fsharp/IlxGen.fs @@ -6469,12 +6469,9 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon:Tycon) = callInstrs), None)) yield ilMethodDef - | None,_ -> - () - | _,None -> - () - | _ -> - () + | None,_ -> () + | _,None -> () + | _ -> () | _ -> () ] let ilMethods = methodDefs @ augmentOverrideMethodDefs @ abstractMethodDefs From 65883ad0f801d42f99fbde063b51635ee6e72f86 Mon Sep 17 00:00:00 2001 From: liboz Date: Mon, 19 Dec 2016 13:51:49 -0500 Subject: [PATCH 12/14] fix tests and an accessibility bug by using "%+A" instead of "%A" --- src/fsharp/IlxGen.fs | 5 +++-- tests/fsharp/core/libtest/test.fsx | 4 ++-- tests/fsharp/core/members/basics/test.fs | 6 +++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/fsharp/IlxGen.fs b/src/fsharp/IlxGen.fs index cfa466c87f9..c7d84a099d9 100644 --- a/src/fsharp/IlxGen.fs +++ b/src/fsharp/IlxGen.fs @@ -6457,7 +6457,7 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon:Tycon) = (true,[],2, nonBranchingInstrsToCode ([ // load the hardwired format string - yield I_ldstr "%A" + yield I_ldstr "%+A" // make the printf format object yield mkNormalNewobj newFormatMethSpec // call sprintf @@ -6468,7 +6468,8 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon:Tycon) = yield mkNormalLdobj ilThisTy ] @ callInstrs), None)) - yield ilMethodDef + let mdef = { ilMethodDef with CustomAttrs = mkILCustomAttrs [ cenv.g.CompilerGeneratedAttribute ] } + yield mdef | None,_ -> () | _,None -> () | _ -> () diff --git a/tests/fsharp/core/libtest/test.fsx b/tests/fsharp/core/libtest/test.fsx index e1a0ddcbfb1..e2c6a896145 100644 --- a/tests/fsharp/core/libtest/test.fsx +++ b/tests/fsharp/core/libtest/test.fsx @@ -5217,8 +5217,8 @@ module Repro_3947 = begin do check "Bug3947.Internal%+A" (sprintf "%+A (%+A)" ITA (ITB 2)) "ITA (ITB 2)" // The follow are not very useful outputs, but adding regression tests to pick up any changes... - do check "Bug3947.Internal%A.ITA" true (let str = sprintf "%A" ITA in str.EndsWith("InternalType+_ITA")) - do check "Bug3947.Internal%A.ITB" true (let str = sprintf "%A" (ITB 2) in str.EndsWith("InternalType+ITB")) + do check "Bug3947.Internal%A.ITA" (sprintf "%A" ITA) "ITA" + do check "Bug3947.Internal%A.ITB" (sprintf "%A" (ITB 2)) "ITB 2" end diff --git a/tests/fsharp/core/members/basics/test.fs b/tests/fsharp/core/members/basics/test.fs index 46a308ac10c..e550e7a5f57 100644 --- a/tests/fsharp/core/members/basics/test.fs +++ b/tests/fsharp/core/members/basics/test.fs @@ -1114,15 +1114,15 @@ module ToStringOnUnionTest = begin end -module ToStringOnUnionTest = begin +module ToStringOnUnionTestOverride = begin type MyUnion = A of string | B with override x.ToString() = "MyUnion" let a1 = A "FOO" - do test "union-tostring-with-override" (a1.ToString() = "MyUnion))") - do test "union-sprintfO-with-override" ((sprintf "%O" a1) = "MyUnion))") + do test "union-tostring-with-override" (a1.ToString() = "MyUnion") + do test "union-sprintfO-with-override" ((sprintf "%O" a1) = "MyUnion") end From 290ff69d6c52855aa076ed4b124137613ac80c72 Mon Sep 17 00:00:00 2001 From: liboz Date: Mon, 19 Dec 2016 18:45:38 -0500 Subject: [PATCH 13/14] use member info instead of override info because of a certain test --- src/fsharp/IlxGen.fs | 2 +- src/fsharp/TastOps.fs | 12 ++++++++++++ src/fsharp/TastOps.fsi | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/fsharp/IlxGen.fs b/src/fsharp/IlxGen.fs index c7d84a099d9..084aedad85b 100644 --- a/src/fsharp/IlxGen.fs +++ b/src/fsharp/IlxGen.fs @@ -6432,7 +6432,7 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon:Tycon) = yield { ilMethodDef with Access=reprAccess } | _ -> () - | TUnionRepr _ when (not <| tycon.HasOverride cenv.g "ToString" []) -> + | TUnionRepr _ when (not <| tycon.HasMember cenv.g "ToString" []) -> match (eenv.valsInScope.TryFind cenv.g.sprintf_vref.Deref, eenv.valsInScope.TryFind cenv.g.new_format_vref.Deref) with | Some(Lazy(Method(_,_,sprintfMethSpec,_,_,_))), Some(Lazy(Method(_,_,newFormatMethSpec,_,_,_))) -> diff --git a/src/fsharp/TastOps.fs b/src/fsharp/TastOps.fs index cc4d04b6c5f..ab5f26311b4 100644 --- a/src/fsharp/TastOps.fs +++ b/src/fsharp/TastOps.fs @@ -7686,10 +7686,22 @@ type Entity with argInfos.Length = 1 && List.lengthsEqAndForall2 (typeEquiv g) (List.map fst (List.head argInfos)) argtys && membInfo.MemberFlags.IsOverrideOrExplicitImpl) + + member tycon.HasMember g nm argtys = + tycon.TypeContents.tcaug_adhoc + |> NameMultiMap.find nm + |> List.exists (fun vref -> + match vref.MemberInfo with + | None -> false + | _ -> let argInfos = ArgInfosOfMember g vref + argInfos.Length = 1 && + List.lengthsEqAndForall2 (typeEquiv g) (List.map fst (List.head argInfos)) argtys) + type EntityRef with member tcref.HasInterface g ty = tcref.Deref.HasInterface g ty member tcref.HasOverride g nm argtys = tcref.Deref.HasOverride g nm argtys + member tcref.HasMember g nm argtys = tcref.Deref.HasMember g nm argtys let mkFastForLoop g (spLet,m,idv:Val,start,dir,finish,body) = let dir = if dir then FSharpForLoopUp else FSharpForLoopDown diff --git a/src/fsharp/TastOps.fsi b/src/fsharp/TastOps.fsi index 4ce0aab7a1d..23ff3d331fc 100755 --- a/src/fsharp/TastOps.fsi +++ b/src/fsharp/TastOps.fsi @@ -1400,10 +1400,12 @@ val IsGenericValWithGenericContraints: TcGlobals -> Val -> bool type Entity with member HasInterface : TcGlobals -> TType -> bool member HasOverride : TcGlobals -> string -> TType list -> bool + member HasMember : TcGlobals -> string -> TType list -> bool type EntityRef with member HasInterface : TcGlobals -> TType -> bool member HasOverride : TcGlobals -> string -> TType list -> bool + member HasMember : TcGlobals -> string -> TType list -> bool val (|AttribBitwiseOrExpr|_|) : TcGlobals -> Expr -> (Expr * Expr) option val (|EnumExpr|_|) : TcGlobals -> Expr -> Expr option From 8841d5c6270f36275f62536d5ac269e715474aa7 Mon Sep 17 00:00:00 2001 From: liboz Date: Tue, 20 Dec 2016 10:11:30 -0500 Subject: [PATCH 14/14] fix il tests --- .../CCtorDUWithMember01.il.bsl | 3 ++- .../cctorduwithmember01.il.netfx4.bsl | 3 ++- .../EmittedIL/Misc/EqualsOnUnions01.il.bsl | 3 ++- .../Misc/EqualsOnUnions01.il.netfx4.bsl | 3 ++- .../Misc/GeneralizationOnUnions01.il.bsl | 3 ++- .../ToplevelModule.il.bsl | 6 ++++-- .../ToplevelNamespace.il.bsl | 9 ++++++--- .../SteppingMatch/SteppingMatch06.il.bsl | 4 +++- .../SteppingMatch/SteppingMatch07.il.bsl | 4 +++- .../steppingmatch06.il.netfx4.bsl | 4 +++- .../steppingmatch07.il.netfx4.bsl | 4 +++- .../TestFunction16.il.netfx4.bsl | 4 +++- .../TestFunction21.il.netfx4.bsl | 4 +++- .../TestFunctions/Testfunction16.il.bsl | 4 +++- .../GenericComparison/Compare05.il.netfx4.bsl | 4 +++- .../GenericComparison/Compare07.il.netfx4.bsl | 4 +++- .../GenericComparison/Compare10.il.netfx4.bsl | 8 ++++++-- .../GenericComparison/Equals04.il.netfx4.bsl | 4 +++- .../GenericComparison/Equals06.il.netfx4.bsl | 4 +++- .../GenericComparison/Equals09.il.netfx4.bsl | 8 ++++++-- .../GenericComparison/Hash05.il.netfx4.bsl | 4 +++- .../GenericComparison/Hash06.il.netfx4.bsl | 4 +++- .../GenericComparison/Hash09.il.netfx4.bsl | 4 +++- .../GenericComparison/Hash12.il.netfx4.bsl | 8 ++++++-- .../Optimizations/Inlining/Match01.il.bsl | Bin 131456 -> 131782 bytes .../Inlining/StructUnion01.il.bsl | 4 +++- 26 files changed, 83 insertions(+), 31 deletions(-) diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01.il.bsl index bb7bbb264d4..3865f86f9b4 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01.il.bsl @@ -238,9 +238,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class CCtorDUWithMember01a/C>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/cctorduwithmember01.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/cctorduwithmember01.il.netfx4.bsl index 8b56665a001..a72b5323e1d 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/cctorduwithmember01.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/CCtorDUWithMember/cctorduwithmember01.il.netfx4.bsl @@ -241,9 +241,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class CCtorDUWithMember01a/C>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.bsl index 9b1cc3129ae..c1616ec58d2 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.bsl @@ -324,9 +324,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.netfx4.bsl index 702a7cbe9e2..74753a30c3a 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/EqualsOnUnions01.il.netfx4.bsl @@ -324,9 +324,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class EqualsOnUnions01/U>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/GeneralizationOnUnions01.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/GeneralizationOnUnions01.il.bsl index df333e02810..1e209b1e4ae 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/GeneralizationOnUnions01.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/Misc/GeneralizationOnUnions01.il.bsl @@ -130,9 +130,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class GeneralizationOnUnions01/Weirdo>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl index 6abb47cc051..6b2ed9ff6db 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelModule.il.bsl @@ -136,9 +136,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/Expr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 @@ -948,9 +949,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/ABC/Expr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespace.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespace.il.bsl index a38c3b64e4e..fafb6671732 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespace.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SerializableAttribute/ToplevelNamespace.il.bsl @@ -131,9 +131,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.Expr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 @@ -943,9 +944,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/Expr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 @@ -1754,9 +1756,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/ABC/Expr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch06.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch06.il.bsl index bc7a57d987d..6fd8cea6404 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch06.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch06.il.bsl @@ -187,8 +187,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class SteppingMatch06/Discr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch07.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch07.il.bsl index b9e13fd77ee..63a0b7f4349 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch07.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/SteppingMatch07.il.bsl @@ -187,8 +187,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class SteppingMatch07/Discr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch06.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch06.il.netfx4.bsl index 95e5892ea85..b7076922725 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch06.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch06.il.netfx4.bsl @@ -190,8 +190,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class SteppingMatch06/Discr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch07.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch07.il.netfx4.bsl index 51b7035d980..dcfb974f0c9 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch07.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/SteppingMatch/steppingmatch07.il.netfx4.bsl @@ -190,8 +190,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class SteppingMatch07/Discr>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction16.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction16.il.netfx4.bsl index c18118f4396..eafd4bf6d31 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction16.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction16.il.netfx4.bsl @@ -159,8 +159,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class TestFunction16/U>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction21.il.netfx4.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction21.il.netfx4.bsl index f547e238185..3b35cc45dca 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction21.il.netfx4.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/TestFunction21.il.netfx4.bsl @@ -159,8 +159,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class TestFunction21/U>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction16.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction16.il.bsl index bd9b676231a..bb2a8535eac 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction16.il.bsl +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/TestFunctions/Testfunction16.il.bsl @@ -156,8 +156,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare05.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare05.il.netfx4.bsl index bc5c181f857..5f5b3dfae88 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare05.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare05.il.netfx4.bsl @@ -163,8 +163,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Compare05/CompareMicroPerfAndCodeGenerationTests/Key>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.netfx4.bsl index 57ff6302022..d226891c4dd 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.netfx4.bsl @@ -163,8 +163,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,string>,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString,string>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.netfx4.bsl index 79ea12ed9c0..646068e06d3 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.netfx4.bsl @@ -163,8 +163,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Compare10/CompareMicroPerfAndCodeGenerationTests/Key>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 @@ -723,8 +725,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Compare10/CompareMicroPerfAndCodeGenerationTests/KeyWithInnerKeys>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals04.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals04.il.netfx4.bsl index 1311aee28c9..f6a68304346 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals04.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals04.il.netfx4.bsl @@ -163,8 +163,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Equals04/EqualsMicroPerfAndCodeGenerationTests/Key>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.netfx4.bsl index 3d8efea114f..f6c8abb7f34 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.netfx4.bsl @@ -163,8 +163,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,string>,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString,string>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl index a466bf67199..53c31b03d69 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl @@ -163,8 +163,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Equals09/EqualsMicroPerfAndCodeGenerationTests/Key>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 @@ -723,8 +725,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Equals09/EqualsMicroPerfAndCodeGenerationTests/KeyWithInnerKeys>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash05.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash05.il.netfx4.bsl index abc158e5daa..191ff939319 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash05.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash05.il.netfx4.bsl @@ -163,8 +163,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Hash05/HashMicroPerfAndCodeGenerationTests/Key>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash06.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash06.il.netfx4.bsl index 2889e05b4ad..d7f82b9ceb3 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash06.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash06.il.netfx4.bsl @@ -163,8 +163,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Hash06/HashMicroPerfAndCodeGenerationTests/Key>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.netfx4.bsl index 13007d70b81..bf446963d01 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.netfx4.bsl @@ -163,8 +163,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,string>,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString,string>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl index 9f581785191..7abded200b2 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl @@ -163,8 +163,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Hash12/HashMicroPerfAndCodeGenerationTests/Key>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 @@ -723,8 +725,10 @@ .method public strict virtual instance string ToString() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 22 (0x16) .maxstack 8 - IL_0000: ldstr "%A" + IL_0000: ldstr "%+A" IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Hash12/HashMicroPerfAndCodeGenerationTests/KeyWithInnerKeys>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 diff --git a/tests/fsharpqa/Source/Optimizations/Inlining/Match01.il.bsl b/tests/fsharpqa/Source/Optimizations/Inlining/Match01.il.bsl index fbdd196957ea00ba02ba9074753ccd7c63df4358..d1aa5679aaa95dc7e5cdefaeac0b392fa761a8bd 100644 GIT binary patch delta 95 zcmZo@<~Y{M(XfSalic!vsf>*J&J6hsDGaF$3Jk>znG986mI9CmgGLNSK(+>h0Ye3Y oA%odu!7swoH^?!Dv1&6oGAK,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,valuetype StructUnion01/U>::.ctor(string) IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0