diff --git a/FSharpBuild.Directory.Build.props b/FSharpBuild.Directory.Build.props index 9358ae23153..3d0ccc3d95c 100644 --- a/FSharpBuild.Directory.Build.props +++ b/FSharpBuild.Directory.Build.props @@ -13,6 +13,10 @@ true + + $(FSCoreShippedVersion) + + $(RepoRoot)src $(RepoRoot)tests diff --git a/eng/Versions.props b/eng/Versions.props index 8ee3c5669cf..3808fa872cb 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -13,9 +13,9 @@ beta - 6 + 7 0 - 6 + 0 0 @@ -28,18 +28,19 @@ $(FSMajorVersion)-$(FSMinorVersion)-$(FSBuildVersion) $(FSMajorVersion).$(FSMinorVersion).$(FSBuildVersion) $(FSMajorVersion).$(FSMinorVersion).0.0 + 6.0.0.0 - 41 - 0 - 6 + 42 + 7 + 100 $(FSRevisionVersion) $(FCSMajorVersion).$(FCSMinorVersion).$(FCSBuildVersion) $(FCSMajorVersion).$(FCSMinorVersion).$(FCSBuildVersion).$(FCSRevisionVersion) $(FCSMajorVersion)$(FCSMinorVersion)$(FCSBuildVersion) - 6.0.3 + 6.0.5 $(FSCorePackageVersionValue)-$(PreReleaseVersionLabel).* @@ -47,7 +48,7 @@ 12 0 - 4 + 5 $(FSRevisionVersion) $(FSToolsMajorVersion).$(FSToolsMinorVersion).$(FSToolsBuildVersion) $(FSToolsMajorVersion)-$(FSToolsMinorVersion)-$(FSToolsBuildVersion) diff --git a/src/Compiler/Facilities/LanguageFeatures.fs b/src/Compiler/Facilities/LanguageFeatures.fs index 683dddd2e4f..48ca4b9be52 100644 --- a/src/Compiler/Facilities/LanguageFeatures.fs +++ b/src/Compiler/Facilities/LanguageFeatures.fs @@ -63,15 +63,16 @@ type LanguageVersion(versionText) = static let languageVersion47 = 4.7m static let languageVersion50 = 5.0m static let languageVersion60 = 6.0m + static let languageVersion70 = 7.0m static let previewVersion = 9999m // Language version when preview specified - static let defaultVersion = languageVersion60 // Language version when default specified + static let defaultVersion = languageVersion70 // Language version when default specified static let latestVersion = defaultVersion // Language version when latest specified - static let latestMajorVersion = languageVersion60 // Language version when latestmajor specified + static let latestMajorVersion = languageVersion70 // Language version when latestmajor specified static let validOptions = [| "preview"; "default"; "latest"; "latestmajor" |] static let languageVersions = - set [| languageVersion46; languageVersion47; languageVersion50; languageVersion60 |] + set [| languageVersion46; languageVersion47; languageVersion50; languageVersion60; languageVersion70 |] static let features = dict @@ -110,17 +111,19 @@ type LanguageVersion(versionText) = LanguageFeature.AttributesToRightOfModuleKeyword, languageVersion60 LanguageFeature.DelegateTypeNameResolutionFix, languageVersion60 + // F# 7.0 + LanguageFeature.MLCompatRevisions, languageVersion70 + LanguageFeature.BetterExceptionPrinting, languageVersion70 + LanguageFeature.ReallyLongLists, languageVersion70 + LanguageFeature.ErrorOnDeprecatedRequireQualifiedAccess, languageVersion70 + LanguageFeature.RequiredPropertiesSupport, languageVersion70 + LanguageFeature.InitPropertiesSupport, languageVersion70 + LanguageFeature.LowercaseDUWhenRequireQualifiedAccess, languageVersion70 + LanguageFeature.InterfacesWithAbstractStaticMembers, languageVersion70 + LanguageFeature.SelfTypeConstraints, languageVersion70 + // F# preview LanguageFeature.FromEndSlicing, previewVersion - LanguageFeature.MLCompatRevisions, previewVersion - LanguageFeature.BetterExceptionPrinting, previewVersion - LanguageFeature.ReallyLongLists, previewVersion - LanguageFeature.ErrorOnDeprecatedRequireQualifiedAccess, previewVersion - LanguageFeature.RequiredPropertiesSupport, previewVersion - LanguageFeature.InitPropertiesSupport, previewVersion - LanguageFeature.LowercaseDUWhenRequireQualifiedAccess, previewVersion - LanguageFeature.InterfacesWithAbstractStaticMembers, previewVersion - LanguageFeature.SelfTypeConstraints, previewVersion ] static let defaultLanguageVersion = LanguageVersion("default") @@ -138,6 +141,8 @@ type LanguageVersion(versionText) = | "5" -> languageVersion50 | "6.0" | "6" -> languageVersion60 + | "7.0" + | "7" -> languageVersion70 | _ -> 0m let specified = getVersionFromString versionText diff --git a/src/FSharp.Build/FSharp.Build.fsproj b/src/FSharp.Build/FSharp.Build.fsproj index 6d4e62518f0..9bfe2497b45 100644 --- a/src/FSharp.Build/FSharp.Build.fsproj +++ b/src/FSharp.Build/FSharp.Build.fsproj @@ -56,15 +56,7 @@ - - - - - - + diff --git a/src/FSharp.Core/prim-types.fs b/src/FSharp.Core/prim-types.fs index bed3157a649..3191bf8c649 100644 --- a/src/FSharp.Core/prim-types.fs +++ b/src/FSharp.Core/prim-types.fs @@ -4107,7 +4107,6 @@ namespace Microsoft.FSharp.Collections let start = if i < 0 then 0 else i PrivateListHelpers.sliceTake (j - start) (PrivateListHelpers.sliceSkip start l) - [] member l.GetReverseIndex(_: int, offset: int) = l.Length - offset - 1 @@ -6901,10 +6900,8 @@ namespace Microsoft.FSharp.Core if n >= 0 then PowDecimal x n else 1.0M / PowDecimal x n) [] - [] module ArrayExtensions = type ``[,,,]``<'T> with - [] member arr.GetReverseIndex(dim: int, offset: int) = let len = match dim with @@ -6917,7 +6914,6 @@ namespace Microsoft.FSharp.Core len - offset - 1 type ``[,,]``<'T> with - [] member arr.GetReverseIndex(dim: int, offset: int) = let len = match dim with @@ -6929,7 +6925,6 @@ namespace Microsoft.FSharp.Core len - offset - 1 type ``[,]``<'T> with - [] member arr.GetReverseIndex(dim: int, offset: int) = let len = match dim with @@ -6940,11 +6935,9 @@ namespace Microsoft.FSharp.Core len - offset - 1 type ``[]``<'T> with - [] member arr.GetReverseIndex (_: int, offset: int) = arr.Length - offset - 1 type String with - [] member str.GetReverseIndex (_: int, offset: int) = str.Length - offset - 1 namespace Microsoft.FSharp.Control diff --git a/src/FSharp.Core/prim-types.fsi b/src/FSharp.Core/prim-types.fsi index d0e56e1453d..80b48b92345 100644 --- a/src/FSharp.Core/prim-types.fsi +++ b/src/FSharp.Core/prim-types.fsi @@ -2555,7 +2555,6 @@ namespace Microsoft.FSharp.Collections /// The offset from the end. /// /// The corresponding index from the start. - [] member GetReverseIndex: rank: int * offset: int -> int /// Returns a list with head as its first element and tail as its subsequent elements @@ -4601,7 +4600,6 @@ namespace Microsoft.FSharp.Core /// Contains extension methods to allow the use of F# indexer notation with arrays. /// This module is automatically opened in all F# code. [] - [] module ArrayExtensions = type ``[,,,]``<'T> with /// Get the index for the element offset elements away from the end of the collection. @@ -4610,7 +4608,6 @@ namespace Microsoft.FSharp.Core /// The offset from the end. /// /// The corresponding index from the start. - [] member GetReverseIndex: rank: int * offset: int -> int type ``[,,]``<'T> with @@ -4620,7 +4617,6 @@ namespace Microsoft.FSharp.Core /// The offset from the end. /// /// The corresponding index from the start. - [] member GetReverseIndex: rank: int * offset: int -> int type ``[,]``<'T> with @@ -4630,7 +4626,6 @@ namespace Microsoft.FSharp.Core /// The offset from the end. /// /// The corresponding index from the start. - [] member GetReverseIndex: rank: int * offset: int -> int type ``[]``<'T> with @@ -4640,7 +4635,6 @@ namespace Microsoft.FSharp.Core /// The offset from the end. /// /// The corresponding index from the start. - [] member GetReverseIndex: rank: int * offset: int -> int type System.String with @@ -4650,7 +4644,6 @@ namespace Microsoft.FSharp.Core /// The offset from the end. /// /// The corresponding index from the start. - [] member GetReverseIndex: rank: int * offset: int -> int /// A module of compiler intrinsic functions for efficient implementations of F# integer ranges diff --git a/src/FSharp.Core/tasks.fsi b/src/FSharp.Core/tasks.fsi index 1374895ed1f..8a13212d514 100644 --- a/src/FSharp.Core/tasks.fsi +++ b/src/FSharp.Core/tasks.fsi @@ -15,7 +15,6 @@ namespace Microsoft.FSharp.Control /// The extra data stored in ResumableStateMachine for tasks /// [] - [] [] type TaskStateMachineData<'T> = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleDefinitions.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleDefinitions.fs index 65d694c9647..d1094604953 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleDefinitions.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicTypeAndModuleDefinitions/ModuleDefinitions/ModuleDefinitions.fs @@ -244,6 +244,7 @@ module ModuleDefinitions = let ``Production_OCamlCompat_fsx`` compilation = compilation |> withOcamlCompat + |> withLangVersion50 |> verifyCompileAndRun |> shouldSucceed @@ -271,13 +272,13 @@ module ModuleDefinitions = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Warning 62, Line 14, Col 13, Line 14, Col 19, "This construct is for ML compatibility. The syntax 'module ... = struct .. end' is not used in F# code. Consider using 'module ... = begin .. end'. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'.") - (Warning 62, Line 18, Col 13, Line 18, Col 19, "This construct is for ML compatibility. The syntax 'module ... = struct .. end' is not used in F# code. Consider using 'module ... = begin .. end'. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'.") - (Warning 62, Line 22, Col 13, Line 22, Col 19, "This construct is for ML compatibility. The syntax 'module ... = struct .. end' is not used in F# code. Consider using 'module ... = begin .. end'. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'.") - (Warning 62, Line 26, Col 13, Line 26, Col 19, "This construct is for ML compatibility. The syntax 'module ... = struct .. end' is not used in F# code. Consider using 'module ... = begin .. end'. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'.") - (Warning 62, Line 30, Col 13, Line 30, Col 19, "This construct is for ML compatibility. The syntax 'module ... = struct .. end' is not used in F# code. Consider using 'module ... = begin .. end'. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'.") - (Warning 62, Line 35, Col 13, Line 35, Col 19, "This construct is for ML compatibility. The syntax 'module ... = struct .. end' is not used in F# code. Consider using 'module ... = begin .. end'. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'.") - (Warning 62, Line 39, Col 13, Line 39, Col 19, "This construct is for ML compatibility. The syntax 'module ... = struct .. end' is not used in F# code. Consider using 'module ... = begin .. end'. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'.") + (Error 62, Line 14, Col 13, Line 14, Col 19, "This construct is deprecated. The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.") + (Error 62, Line 18, Col 13, Line 18, Col 19, "This construct is deprecated. The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.") + (Error 62, Line 22, Col 13, Line 22, Col 19, "This construct is deprecated. The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.") + (Error 62, Line 26, Col 13, Line 26, Col 19, "This construct is deprecated. The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.") + (Error 62, Line 30, Col 13, Line 30, Col 19, "This construct is deprecated. The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.") + (Error 62, Line 35, Col 13, Line 35, Col 19, "This construct is deprecated. The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.") + (Error 62, Line 39, Col 13, Line 39, Col 19, "This construct is deprecated. The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.") ] // diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/DeclarationElements/UseBindings/UseBindings.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/DeclarationElements/UseBindings/UseBindings.fs index 1137add48d7..ab71a657e13 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/DeclarationElements/UseBindings/UseBindings.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/DeclarationElements/UseBindings/UseBindings.fs @@ -12,7 +12,7 @@ module UseBindings = let ``UseBindings - UseBindingDiscard01_fs - Current LangVersion`` compilation = compilation |> asFsx - |> withOptions ["--langversion:preview"] + |> withLangVersion60 |> compile |> shouldSucceed |> ignore @@ -57,6 +57,6 @@ if ctorCalls <> 1 then """ |> asExe - |> withLangVersionPreview + |> withLangVersion60 |> compileAndRun |> shouldSucceed \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveSafetyAnalysis.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveSafetyAnalysis.fs index e7e465a76d0..f75ee8440a2 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveSafetyAnalysis.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveSafetyAnalysis.fs @@ -19,6 +19,7 @@ module RecursiveSafetyAnalysis = let ``E_CyclicReference01_fs`` compilation = compilation |> withOptions ["--mlcompatibility"; "--flaterrors"] + |> withLangVersion50 |> asExe |> compile |> shouldFail diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/SymbolicOperators.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/SymbolicOperators.fs index aa8cddcba33..20729626a3b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/SymbolicOperators.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/SymbolicOperators.fs @@ -39,7 +39,7 @@ module SymbolicOperators = |> compile |> shouldFail |> withErrorCode 0670 - |> withDiagnosticMessageMatches " \^a\) could not be generalized because it would escape its scope" + |> withDiagnosticMessageMatches " 'a\) could not be generalized because it would escape its scope" |> ignore // This test was automatically generated (moved from FSharpQA suite - Conformance/LexicalAnalysis/SymbolicOperators) diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/OffsideExceptions/OffsideExceptions.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/OffsideExceptions/OffsideExceptions.fs index 8e9b6ae2cff..f00e227c826 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/OffsideExceptions/OffsideExceptions.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/OffsideExceptions/OffsideExceptions.fs @@ -25,7 +25,7 @@ module OffsideExceptions = let RelaxWhitespace2 compilation = compilation |> asFsx - |> withLangVersionPreview + |> withLangVersion60 |> withOptions ["--nowarn:25"] // Incomplete pattern matches on this expression. |> typecheck |> shouldSucceed @@ -35,7 +35,7 @@ module OffsideExceptions = let RelaxWhitespace2_Warning25 compilation = compilation |> asFsx - |> withLangVersionPreview + |> withLangVersion60 |> verifyBaseline |> ignore @@ -58,7 +58,7 @@ while ( true ) do () """ - |> withLangVersionPreview + |> withLangVersion60 |> typecheck |> shouldFail |> withResults [ @@ -228,7 +228,7 @@ module [< Experimental "c" >] c = 1 """ - |> withLangVersionPreview + |> withLangVersion60 |> typecheck |> shouldSucceed |> ignore @@ -276,7 +276,7 @@ module A y = 1 |} """ - |> withLangVersionPreview + |> withLangVersion60 |> typecheck |> shouldFail |> withResult { @@ -328,7 +328,7 @@ module A 1 |} """ - |> withLangVersionPreview + |> withLangVersion60 |> typecheck |> shouldFail |> withResult { @@ -5178,7 +5178,7 @@ match | "" -> "" | _ -> failwith "" """ - |> withLangVersionPreview + |> withLangVersion60 |> withOptions ["--nowarn:20"] |> typecheck |> shouldSucceed @@ -5194,7 +5194,7 @@ try with | ex -> ex.Message """ - |> withLangVersionPreview + |> withLangVersion60 |> withOptions ["--nowarn:20"] |> typecheck |> shouldSucceed diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple.fs index 531da5e160c..2d7f884d746 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple.fs @@ -57,7 +57,7 @@ module Simple = | _ -> failwith "Match failed" """ |> asExe - |> withLangVersionPreview + |> withLangVersion60 |> compileExeAndRun |> shouldSucceed diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/TypesAndTypeConstraints/IWSAMsAndSRTPs/IWSAMsAndSRTPsTests.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/TypesAndTypeConstraints/IWSAMsAndSRTPs/IWSAMsAndSRTPsTests.fs index 7ff2a44aaf1..9abba91ca2f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/TypesAndTypeConstraints/IWSAMsAndSRTPs/IWSAMsAndSRTPsTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/TypesAndTypeConstraints/IWSAMsAndSRTPs/IWSAMsAndSRTPsTests.fs @@ -9,13 +9,13 @@ open FSharp.Test.Compiler let typesModule = FSharp (loadSourceFromFile (Path.Combine(__SOURCE_DIRECTORY__, "Types.fs"))) |> withName "Types" - |> withLangVersionPreview + |> withLangVersion70 |> withOptions ["--nowarn:3535"] let setupCompilation compilation = compilation |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [typesModule] @@ -27,6 +27,7 @@ let setupCompilation compilation = let ``IWSAM test files`` compilation = compilation |> setupCompilation + |> withLangVersionPreview |> compileAndRun |> shouldSucceed @@ -67,7 +68,7 @@ let ``IWSAM test files`` compilation = let ``Check static type parameter inference`` code expectedSignature = FSharp code |> ignoreWarnings - |> withLangVersionPreview + |> withLangVersion70 |> signaturesShouldContain expectedSignature @@ -311,7 +312,7 @@ module Negative = |> ignore Fsx code - |> withLangVersionPreview + |> withLangVersion70 |> compile |> shouldFail |> withErrorCode 3532 @@ -540,7 +541,7 @@ module ``Implicit conversion`` = let add1 (x: int) = x + 1 """ - |> withLangVersionPreview + |> withLangVersion70 |> withOptions ["--nowarn:3535"] #if !NETCOREAPP @@ -556,7 +557,7 @@ module ``Implicit conversion`` = add1(a) """ |> withReferences [library] - |> withLangVersionPreview + |> withLangVersion70 |> compile |> shouldFail |> withDiagnosticMessageMatches "This expression was expected to have type\\s+'int'\\s+but here has type\\s+''T'" @@ -574,7 +575,7 @@ module ``Implicit conversion`` = C.TakeInt(a) """ |> withReferences [library] - |> withLangVersionPreview + |> withLangVersion70 |> compile |> shouldFail |> withDiagnosticMessageMatches "This expression was expected to have type\\s+'int'\\s+but here has type\\s+''T'" @@ -592,7 +593,7 @@ module ``Implicit conversion`` = add1(int(a)) """ |> withReferences [library] - |> withLangVersionPreview + |> withLangVersion70 |> compile |> shouldSucceed @@ -609,7 +610,7 @@ module ``Implicit conversion`` = C.TakeInt(int(a)) """ |> withReferences [library] - |> withLangVersionPreview + |> withLangVersion70 |> compile |> shouldSucceed @@ -631,7 +632,7 @@ module ``Nominal type after or`` = if not (callX "A" (C()) = "A OK") then failwith "Unexpected result" """ - |> withLangVersionPreview + |> withLangVersion70 |> asExe |> compileAndRun |> shouldSucceed @@ -645,7 +646,7 @@ module ``Nominal type after or`` = let inline callX (x: 'T) (y: C) = ((C or ^T): (static member X : 'T * C -> string) (x, y));; """ - |> withLangVersionPreview + |> withLangVersion70 |> compile |> shouldFail |> withDiagnosticMessageMatches "Unexpected keyword 'static' in binding" @@ -670,7 +671,7 @@ module ``Nominal type after or`` = if not (callX2 (C()) (D()) = "C") then failwith "Unexpected result" """ - |> withLangVersionPreview + |> withLangVersion70 |> asExe |> compileAndRun |> shouldSucceed @@ -694,7 +695,7 @@ module ``Active patterns`` = static member IsGood c = false static member op_Equality (a, b) = false """ - |> withLangVersionPreview + |> withLangVersion70 |> withName "Potato" |> withOptions ["--nowarn:3535"] @@ -715,7 +716,7 @@ module ``Active patterns`` = match Rock() with GoodPotato -> failwith "Unexpected result" | _ -> () """ |> withReferences [library] - |> withLangVersionPreview + |> withLangVersion70 |> compileExeAndRun |> shouldSucceed |> verifyIL [ @@ -753,7 +754,7 @@ module ``Active patterns`` = | IsNonEqual -> () """ |> withReferences [library] - |> withLangVersionPreview + |> withLangVersion70 |> asExe |> compileAndRun |> shouldSucceed @@ -780,7 +781,7 @@ module ``Suppression of System Numerics interfaces on unitized types`` = open System.Numerics let f (x: 'T when 'T :> IMultiplyOperators<'T,'T,'T>) = x;; f 3.0 |> ignore""" - |> withLangVersionPreview + |> withLangVersion70 |> compile |> shouldSucceed @@ -825,7 +826,7 @@ module ``Suppression of System Numerics interfaces on unitized types`` = let f (x: 'T when {genericType}) = x;; f 3.0 |> ignore""" - |> withLangVersionPreview + |> withLangVersion70 |> compile |> shouldFail |> withErrorMessage $"The type 'float' is not compatible with the type '{potatoType}'" diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnionTypes/UnionTypes.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnionTypes/UnionTypes.fs index 7c96b3ff713..b4c14f7b201 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnionTypes/UnionTypes.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnionTypes/UnionTypes.fs @@ -60,8 +60,8 @@ module UnionTypes = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 53, Line 9, Col 12, Line 9, Col 13, "Discriminated union cases and exception labels must be uppercase identifiers") - (Error 53, Line 10, Col 12, Line 10, Col 13, "Discriminated union cases and exception labels must be uppercase identifiers") + (Error 53, Line 9, Col 12, Line 9, Col 13, "Lowercase discriminated union cases are only allowed when using RequireQualifiedAccess attribute") + (Error 53, Line 10, Col 12, Line 10, Col 13, "Lowercase discriminated union cases are only allowed when using RequireQualifiedAccess attribute") ] //SOURCE=E_BeginWithUppercase02.fsx SCFLAGS="--test:ErrorRanges" # E_BeginWithUppercase02.fsx @@ -102,8 +102,8 @@ module UnionTypes = |> shouldFail |> withDiagnostics [ (Error 883, Line 7, Col 8, Line 7, Col 13, "Invalid namespace, module, type or union case name") - (Error 53, Line 11, Col 18, Line 11, Col 19, "Discriminated union cases and exception labels must be uppercase identifiers") - (Error 53, Line 12, Col 18, Line 12, Col 19, "Discriminated union cases and exception labels must be uppercase identifiers") + (Error 53, Line 11, Col 18, Line 11, Col 19, "Lowercase discriminated union cases are only allowed when using RequireQualifiedAccess attribute") + (Error 53, Line 12, Col 18, Line 12, Col 19, "Lowercase discriminated union cases are only allowed when using RequireQualifiedAccess attribute") ] //SOURCE=E_GenericFunctionValuedStaticProp01.fs SCFLAGS="--test:ErrorRanges --warnaserror-" # E_GenericFunctionValuedStaticProp01.fs @@ -205,7 +205,7 @@ module UnionTypes = |> verifyCompile |> shouldFail |> withDiagnostics [ - (Error 53, Line 7, Col 13, Line 7, Col 17, "Discriminated union cases and exception labels must be uppercase identifiers") + (Error 53, Line 7, Col 13, Line 7, Col 17, "Lowercase discriminated union cases are only allowed when using RequireQualifiedAccess attribute") ] //SOURCE=E_Overload_Equals.fs SCFLAGS="--test:ErrorRanges" # E_Overload_Equals.fs @@ -471,6 +471,7 @@ module UnionTypes = let ``SampleFromSpec01b_fsx`` compilation = compilation |> withOcamlCompat + |> withLangVersion50 |> verifyCompileAndRun |> shouldSucceed @@ -521,7 +522,7 @@ module UnionTypes = [] let ``LowercaseWhenRequireQualifiedAccess_fs in preview`` compilation = compilation - |> withLangVersionPreview + |> withLangVersion70 |> verifyCompileAndRun |> shouldSucceed @@ -529,7 +530,7 @@ module UnionTypes = [] let ``E_LowercaseWhenRequireQualifiedAccess_fs in preview`` compilation = compilation - |> withLangVersionPreview + |> withLangVersion70 |> verifyCompile |> shouldFail |> withDiagnostics [ diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs index d644b5c25c8..9f932fb436c 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs @@ -29,14 +29,14 @@ module SerializableAttribute = compilation |> verifyCompilation - // SOURCE=ToplevelModule.fs SCFLAGS="-a -g --langversion:preview --out:TopLevelModule-preview.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelModule-preview.dll" # ToplevelModule.fs - Desktop preview + // SOURCE=ToplevelModule.fs SCFLAGS="-a -g --langversion:6.0 --out:TopLevelModule-preview.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelModule-preview.dll" # ToplevelModule.fs - Desktop preview [] let ``ToplevelModule_LangVersion60_fs`` compilation = compilation |> withLangVersion60 |> verifyCompilation - // SOURCE=ToplevelNamespace.fs SCFLAGS="-a -g --langversion:preview --out:ToplevelNamespace-preview.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelNamespace-preview.dll" # ToplevelNamespace.fs - Desktop preview + // SOURCE=ToplevelNamespace.fs SCFLAGS="-a -g --langversion:6.0 --out:ToplevelNamespace-preview.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelNamespace-preview.dll" # ToplevelNamespace.fs - Desktop preview [] let ``ToplevelNamespace_LangVersion60_fs`` compilation = compilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.il.debug.bsl index 59aa70ed458..fff55d0c477 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.il.debug.bsl @@ -4,15 +4,15 @@ // Metadata version: v4.0.30319 -.assembly extern System.Runtime +.assembly extern mscorlib { - .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 6:0:0:0 + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 } .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 6:0:0:0 + .ver 7:0:0:0 } .assembly ToplevelModule { @@ -21,52 +21,52 @@ int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) // --- The following custom attribute is added automatically, do not uncomment ------- - // .custom instance void [System.Runtime]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 03 01 00 00 00 00 ) + // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 01 01 00 00 00 00 ) .hash algorithm 0x00008004 .ver 0:0:0:0 } .mresource public FSharpSignatureData.ToplevelModule { - // Offset: 0x00000000 Length: 0x00001162 + // Offset: 0x00000000 Length: 0x0000116C // WARNING: managed resource file FSharpSignatureData.ToplevelModule created } .mresource public FSharpOptimizationData.ToplevelModule { - // Offset: 0x00001168 Length: 0x00000403 + // Offset: 0x00001170 Length: 0x000003FD // WARNING: managed resource file FSharpOptimizationData.ToplevelModule created } .module ToplevelModule.exe -// MVID: {628F4C90-B9AE-2DE4-A745-0383904C8F62} +// MVID: {62F987D1-3E21-F1E3-A745-0383D187F962} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x00000191AC370000 +// Image base: 0x000001EAC2450000 // =============== CLASS MEMBERS DECLARATION =================== .class public abstract auto ansi sealed ABC - extends [System.Runtime]System.Object + extends [mscorlib]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) .class auto autochar serializable sealed nested public beforefieldinit Expr - extends [System.Runtime]System.Object - implements class [System.Runtime]System.IEquatable`1, - [System.Runtime]System.Collections.IStructuralEquatable, - class [System.Runtime]System.IComparable`1, - [System.Runtime]System.IComparable, - [System.Runtime]System.Collections.IStructuralComparable + extends [mscorlib]System.Object + implements class [mscorlib]System.IEquatable`1, + [mscorlib]System.Collections.IStructuralEquatable, + class [mscorlib]System.IComparable`1, + [mscorlib]System.IComparable, + [mscorlib]System.Collections.IStructuralComparable { - .custom instance void [System.Runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C // ...{__DebugDispl - 61 79 28 29 2C 6E 71 7D 00 00 ) // ay(),nq}.. + .custom instance void [mscorlib]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C // ...{__DebugDispl + 61 79 28 29 2C 6E 71 7D 00 00 ) // ay(),nq}.. .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) .field assembly initonly int32 item - .custom instance void [System.Runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .method public static class ABC/Expr NewNum(int32 item) cil managed { @@ -82,12 +82,12 @@ .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void [System.Runtime]System.Object::.ctor() + IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 IL_0008: stfld int32 ABC/Expr::item @@ -97,8 +97,8 @@ .method public hidebysig instance int32 get_Item() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -109,8 +109,8 @@ .method public hidebysig instance int32 get_Tag() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 4 (0x4) .maxstack 8 IL_0000: ldarg.0 @@ -122,8 +122,8 @@ .method assembly hidebysig specialname instance object __DebugDisplay() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+0.8A" @@ -137,7 +137,7 @@ .method public strict virtual instance string ToString() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+A" @@ -151,16 +151,16 @@ .method public hidebysig virtual final instance int32 CompareTo(class ABC/Expr obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 66 (0x42) .maxstack 5 .locals init (class ABC/Expr V_0, class ABC/Expr V_1, - class [System.Runtime]System.Collections.IComparer V_2, + class [mscorlib]System.Collections.IComparer V_2, int32 V_3, int32 V_4, - class [System.Runtime]System.Collections.IComparer V_5, + class [mscorlib]System.Collections.IComparer V_5, int32 V_6, int32 V_7) IL_0000: ldarg.0 @@ -175,7 +175,7 @@ IL_0009: stloc.0 IL_000a: ldarg.1 IL_000b: stloc.1 - IL_000c: call class [System.Runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_000c: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_0011: stloc.2 IL_0012: ldloc.0 IL_0013: ldfld int32 ABC/Expr::item @@ -214,8 +214,8 @@ .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -227,19 +227,19 @@ .method public hidebysig virtual final instance int32 CompareTo(object obj, - class [System.Runtime]System.Collections.IComparer comp) cil managed + class [mscorlib]System.Collections.IComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 81 (0x51) .maxstack 5 .locals init (class ABC/Expr V_0, class ABC/Expr V_1, class ABC/Expr V_2, - class [System.Runtime]System.Collections.IComparer V_3, + class [mscorlib]System.Collections.IComparer V_3, int32 V_4, int32 V_5, - class [System.Runtime]System.Collections.IComparer V_6, + class [mscorlib]System.Collections.IComparer V_6, int32 V_7, int32 V_8) IL_0000: ldarg.1 @@ -296,17 +296,17 @@ } // end of method Expr::CompareTo .method public hidebysig virtual final - instance int32 GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 43 (0x2b) .maxstack 7 .locals init (int32 V_0, class ABC/Expr V_1, - class [System.Runtime]System.Collections.IEqualityComparer V_2, + class [mscorlib]System.Collections.IEqualityComparer V_2, int32 V_3, - class [System.Runtime]System.Collections.IEqualityComparer V_4) + class [mscorlib]System.Collections.IEqualityComparer V_4) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0029 @@ -347,32 +347,32 @@ .method public hidebysig virtual final instance int32 GetHashCode() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call class [System.Runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 ABC/Expr::GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer) + IL_0001: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/Expr::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) IL_000b: ret } // end of method Expr::GetHashCode .method public hidebysig virtual final instance bool Equals(object obj, - class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 61 (0x3d) .maxstack 4 .locals init (class ABC/Expr V_0, class ABC/Expr V_1, class ABC/Expr V_2, class ABC/Expr V_3, - class [System.Runtime]System.Collections.IEqualityComparer V_4, + class [mscorlib]System.Collections.IEqualityComparer V_4, int32 V_5, int32 V_6, - class [System.Runtime]System.Collections.IEqualityComparer V_7) + class [mscorlib]System.Collections.IEqualityComparer V_7) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0035 @@ -419,8 +419,8 @@ .method public hidebysig virtual final instance bool Equals(class ABC/Expr obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 37 (0x25) .maxstack 4 .locals init (class ABC/Expr V_0, @@ -458,8 +458,8 @@ .method public hidebysig virtual final instance bool Equals(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 .locals init (class ABC/Expr V_0) @@ -480,9 +480,9 @@ .property instance int32 Tag() { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .get instance int32 ABC/Expr::get_Tag() } // end of property Expr::Tag .property instance int32 Item() @@ -490,15 +490,15 @@ .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32, int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .get instance int32 ABC/Expr::get_Item() } // end of property Expr::Item } // end of class Expr .class auto ansi serializable nested public beforefieldinit MyExn - extends [System.Runtime]System.Exception - implements [System.Runtime]System.Collections.IStructuralEquatable + extends [mscorlib]System.Exception + implements [mscorlib]System.Collections.IStructuralEquatable { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) .field assembly int32 Data0@ @@ -508,7 +508,7 @@ // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void [System.Runtime]System.Exception::.ctor() + IL_0001: call instance void [mscorlib]System.Exception::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 IL_0008: stfld int32 ABC/MyExn::Data0@ @@ -521,21 +521,21 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void [System.Runtime]System.Exception::.ctor() + IL_0001: call instance void [mscorlib]System.Exception::.ctor() IL_0006: ret } // end of method MyExn::.ctor .method family specialname rtspecialname - instance void .ctor(class [System.Runtime]System.Runtime.Serialization.SerializationInfo info, - valuetype [System.Runtime]System.Runtime.Serialization.StreamingContext context) cil managed + instance void .ctor(class [mscorlib]System.Runtime.Serialization.SerializationInfo info, + valuetype [mscorlib]System.Runtime.Serialization.StreamingContext context) cil managed { // Code size 9 (0x9) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 IL_0002: ldarg.2 - IL_0003: call instance void [System.Runtime]System.Exception::.ctor(class [System.Runtime]System.Runtime.Serialization.SerializationInfo, - valuetype [System.Runtime]System.Runtime.Serialization.StreamingContext) + IL_0003: call instance void [mscorlib]System.Exception::.ctor(class [mscorlib]System.Runtime.Serialization.SerializationInfo, + valuetype [mscorlib]System.Runtime.Serialization.StreamingContext) IL_0008: ret } // end of method MyExn::.ctor @@ -549,17 +549,31 @@ IL_0006: ret } // end of method MyExn::get_Data0 + .method public strict virtual instance string + get_Message() 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_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/MyExn>::.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 MyExn::get_Message + .method public hidebysig virtual instance int32 - GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 41 (0x29) .maxstack 7 .locals init (int32 V_0, - class [System.Runtime]System.Collections.IEqualityComparer V_1, + class [mscorlib]System.Collections.IEqualityComparer V_1, int32 V_2, - class [System.Runtime]System.Collections.IEqualityComparer V_3) + class [mscorlib]System.Collections.IEqualityComparer V_3) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0027 @@ -595,36 +609,36 @@ .method public hidebysig virtual instance int32 GetHashCode() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call class [System.Runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 ABC/MyExn::GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer) + IL_0001: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/MyExn::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) IL_000b: ret } // end of method MyExn::GetHashCode .method public hidebysig virtual instance bool Equals(object obj, - class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 78 (0x4e) .maxstack 4 - .locals init (class [System.Runtime]System.Exception V_0, - class [System.Runtime]System.Exception V_1, + .locals init (class [mscorlib]System.Exception V_0, + class [mscorlib]System.Exception V_1, object V_2, - class [System.Runtime]System.Collections.IEqualityComparer V_3, + class [mscorlib]System.Collections.IEqualityComparer V_3, int32 V_4, int32 V_5, - class [System.Runtime]System.Collections.IEqualityComparer V_6) + class [mscorlib]System.Collections.IEqualityComparer V_6) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0046 IL_0003: ldarg.1 - IL_0004: isinst [System.Runtime]System.Exception + IL_0004: isinst [mscorlib]System.Exception IL_0009: stloc.0 IL_000a: ldloc.0 IL_000b: brfalse.s IL_0044 @@ -671,10 +685,10 @@ } // end of method MyExn::Equals .method public hidebysig instance bool - Equals(class [System.Runtime]System.Exception obj) cil managed + Equals(class [mscorlib]System.Exception obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 56 (0x38) .maxstack 4 .locals init (object V_0) @@ -718,20 +732,20 @@ .method public hidebysig virtual instance bool Equals(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 - .locals init (class [System.Runtime]System.Exception V_0) + .locals init (class [mscorlib]System.Exception V_0) IL_0000: ldarg.1 - IL_0001: isinst [System.Runtime]System.Exception + IL_0001: isinst [mscorlib]System.Exception IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 IL_000a: ldarg.0 IL_000b: ldloc.0 - IL_000c: callvirt instance bool ABC/MyExn::Equals(class [System.Runtime]System.Exception) + IL_000c: callvirt instance bool ABC/MyExn::Equals(class [mscorlib]System.Exception) IL_0011: ret IL_0012: ldc.i4.0 @@ -747,7 +761,7 @@ } // end of class MyExn .class auto ansi serializable nested public A - extends [System.Runtime]System.Object + extends [mscorlib]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) .field assembly string x @@ -757,7 +771,7 @@ // Code size 16 (0x10) .maxstack 8 IL_0000: ldarg.0 - IL_0001: callvirt instance void [System.Runtime]System.Object::.ctor() + IL_0001: callvirt instance void [mscorlib]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: pop IL_0008: ldarg.0 @@ -783,24 +797,24 @@ } // end of class A .class abstract auto ansi sealed nested public ABC - extends [System.Runtime]System.Object + extends [mscorlib]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) .class auto autochar serializable sealed nested public beforefieldinit Expr - extends [System.Runtime]System.Object - implements class [System.Runtime]System.IEquatable`1, - [System.Runtime]System.Collections.IStructuralEquatable, - class [System.Runtime]System.IComparable`1, - [System.Runtime]System.IComparable, - [System.Runtime]System.Collections.IStructuralComparable + extends [mscorlib]System.Object + implements class [mscorlib]System.IEquatable`1, + [mscorlib]System.Collections.IStructuralEquatable, + class [mscorlib]System.IComparable`1, + [mscorlib]System.IComparable, + [mscorlib]System.Collections.IStructuralComparable { - .custom instance void [System.Runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C // ...{__DebugDispl - 61 79 28 29 2C 6E 71 7D 00 00 ) // ay(),nq}.. + .custom instance void [mscorlib]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C // ...{__DebugDispl + 61 79 28 29 2C 6E 71 7D 00 00 ) // ay(),nq}.. .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) .field assembly initonly int32 item - .custom instance void [System.Runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .method public static class ABC/ABC/Expr NewNum(int32 item) cil managed { @@ -816,12 +830,12 @@ .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void [System.Runtime]System.Object::.ctor() + IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 IL_0008: stfld int32 ABC/ABC/Expr::item @@ -831,8 +845,8 @@ .method public hidebysig instance int32 get_Item() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -843,8 +857,8 @@ .method public hidebysig instance int32 get_Tag() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 4 (0x4) .maxstack 8 IL_0000: ldarg.0 @@ -856,8 +870,8 @@ .method assembly hidebysig specialname instance object __DebugDisplay() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+0.8A" @@ -871,7 +885,7 @@ .method public strict virtual instance string ToString() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+A" @@ -885,16 +899,16 @@ .method public hidebysig virtual final instance int32 CompareTo(class ABC/ABC/Expr obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 66 (0x42) .maxstack 5 .locals init (class ABC/ABC/Expr V_0, class ABC/ABC/Expr V_1, - class [System.Runtime]System.Collections.IComparer V_2, + class [mscorlib]System.Collections.IComparer V_2, int32 V_3, int32 V_4, - class [System.Runtime]System.Collections.IComparer V_5, + class [mscorlib]System.Collections.IComparer V_5, int32 V_6, int32 V_7) IL_0000: ldarg.0 @@ -909,7 +923,7 @@ IL_0009: stloc.0 IL_000a: ldarg.1 IL_000b: stloc.1 - IL_000c: call class [System.Runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_000c: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_0011: stloc.2 IL_0012: ldloc.0 IL_0013: ldfld int32 ABC/ABC/Expr::item @@ -948,8 +962,8 @@ .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -961,19 +975,19 @@ .method public hidebysig virtual final instance int32 CompareTo(object obj, - class [System.Runtime]System.Collections.IComparer comp) cil managed + class [mscorlib]System.Collections.IComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 81 (0x51) .maxstack 5 .locals init (class ABC/ABC/Expr V_0, class ABC/ABC/Expr V_1, class ABC/ABC/Expr V_2, - class [System.Runtime]System.Collections.IComparer V_3, + class [mscorlib]System.Collections.IComparer V_3, int32 V_4, int32 V_5, - class [System.Runtime]System.Collections.IComparer V_6, + class [mscorlib]System.Collections.IComparer V_6, int32 V_7, int32 V_8) IL_0000: ldarg.1 @@ -1030,17 +1044,17 @@ } // end of method Expr::CompareTo .method public hidebysig virtual final - instance int32 GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 43 (0x2b) .maxstack 7 .locals init (int32 V_0, class ABC/ABC/Expr V_1, - class [System.Runtime]System.Collections.IEqualityComparer V_2, + class [mscorlib]System.Collections.IEqualityComparer V_2, int32 V_3, - class [System.Runtime]System.Collections.IEqualityComparer V_4) + class [mscorlib]System.Collections.IEqualityComparer V_4) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0029 @@ -1081,32 +1095,32 @@ .method public hidebysig virtual final instance int32 GetHashCode() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call class [System.Runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 ABC/ABC/Expr::GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer) + IL_0001: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/Expr::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) IL_000b: ret } // end of method Expr::GetHashCode .method public hidebysig virtual final instance bool Equals(object obj, - class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 61 (0x3d) .maxstack 4 .locals init (class ABC/ABC/Expr V_0, class ABC/ABC/Expr V_1, class ABC/ABC/Expr V_2, class ABC/ABC/Expr V_3, - class [System.Runtime]System.Collections.IEqualityComparer V_4, + class [mscorlib]System.Collections.IEqualityComparer V_4, int32 V_5, int32 V_6, - class [System.Runtime]System.Collections.IEqualityComparer V_7) + class [mscorlib]System.Collections.IEqualityComparer V_7) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0035 @@ -1153,8 +1167,8 @@ .method public hidebysig virtual final instance bool Equals(class ABC/ABC/Expr obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 37 (0x25) .maxstack 4 .locals init (class ABC/ABC/Expr V_0, @@ -1192,8 +1206,8 @@ .method public hidebysig virtual final instance bool Equals(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 .locals init (class ABC/ABC/Expr V_0) @@ -1214,9 +1228,9 @@ .property instance int32 Tag() { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .get instance int32 ABC/ABC/Expr::get_Tag() } // end of property Expr::Tag .property instance int32 Item() @@ -1224,15 +1238,15 @@ .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32, int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .get instance int32 ABC/ABC/Expr::get_Item() } // end of property Expr::Item } // end of class Expr .class auto ansi serializable nested public beforefieldinit MyExn - extends [System.Runtime]System.Exception - implements [System.Runtime]System.Collections.IStructuralEquatable + extends [mscorlib]System.Exception + implements [mscorlib]System.Collections.IStructuralEquatable { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) .field assembly int32 Data0@ @@ -1242,7 +1256,7 @@ // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void [System.Runtime]System.Exception::.ctor() + IL_0001: call instance void [mscorlib]System.Exception::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 IL_0008: stfld int32 ABC/ABC/MyExn::Data0@ @@ -1255,21 +1269,21 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void [System.Runtime]System.Exception::.ctor() + IL_0001: call instance void [mscorlib]System.Exception::.ctor() IL_0006: ret } // end of method MyExn::.ctor .method family specialname rtspecialname - instance void .ctor(class [System.Runtime]System.Runtime.Serialization.SerializationInfo info, - valuetype [System.Runtime]System.Runtime.Serialization.StreamingContext context) cil managed + instance void .ctor(class [mscorlib]System.Runtime.Serialization.SerializationInfo info, + valuetype [mscorlib]System.Runtime.Serialization.StreamingContext context) cil managed { // Code size 9 (0x9) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 IL_0002: ldarg.2 - IL_0003: call instance void [System.Runtime]System.Exception::.ctor(class [System.Runtime]System.Runtime.Serialization.SerializationInfo, - valuetype [System.Runtime]System.Runtime.Serialization.StreamingContext) + IL_0003: call instance void [mscorlib]System.Exception::.ctor(class [mscorlib]System.Runtime.Serialization.SerializationInfo, + valuetype [mscorlib]System.Runtime.Serialization.StreamingContext) IL_0008: ret } // end of method MyExn::.ctor @@ -1283,17 +1297,31 @@ IL_0006: ret } // end of method MyExn::get_Data0 + .method public strict virtual instance string + get_Message() 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_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/ABC/MyExn>::.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 MyExn::get_Message + .method public hidebysig virtual instance int32 - GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 41 (0x29) .maxstack 7 .locals init (int32 V_0, - class [System.Runtime]System.Collections.IEqualityComparer V_1, + class [mscorlib]System.Collections.IEqualityComparer V_1, int32 V_2, - class [System.Runtime]System.Collections.IEqualityComparer V_3) + class [mscorlib]System.Collections.IEqualityComparer V_3) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0027 @@ -1329,36 +1357,36 @@ .method public hidebysig virtual instance int32 GetHashCode() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call class [System.Runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 ABC/ABC/MyExn::GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer) + IL_0001: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/MyExn::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) IL_000b: ret } // end of method MyExn::GetHashCode .method public hidebysig virtual instance bool Equals(object obj, - class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 78 (0x4e) .maxstack 4 - .locals init (class [System.Runtime]System.Exception V_0, - class [System.Runtime]System.Exception V_1, + .locals init (class [mscorlib]System.Exception V_0, + class [mscorlib]System.Exception V_1, object V_2, - class [System.Runtime]System.Collections.IEqualityComparer V_3, + class [mscorlib]System.Collections.IEqualityComparer V_3, int32 V_4, int32 V_5, - class [System.Runtime]System.Collections.IEqualityComparer V_6) + class [mscorlib]System.Collections.IEqualityComparer V_6) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0046 IL_0003: ldarg.1 - IL_0004: isinst [System.Runtime]System.Exception + IL_0004: isinst [mscorlib]System.Exception IL_0009: stloc.0 IL_000a: ldloc.0 IL_000b: brfalse.s IL_0044 @@ -1405,10 +1433,10 @@ } // end of method MyExn::Equals .method public hidebysig instance bool - Equals(class [System.Runtime]System.Exception obj) cil managed + Equals(class [mscorlib]System.Exception obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 56 (0x38) .maxstack 4 .locals init (object V_0) @@ -1452,20 +1480,20 @@ .method public hidebysig virtual instance bool Equals(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 - .locals init (class [System.Runtime]System.Exception V_0) + .locals init (class [mscorlib]System.Exception V_0) IL_0000: ldarg.1 - IL_0001: isinst [System.Runtime]System.Exception + IL_0001: isinst [mscorlib]System.Exception IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 IL_000a: ldarg.0 IL_000b: ldloc.0 - IL_000c: callvirt instance bool ABC/ABC/MyExn::Equals(class [System.Runtime]System.Exception) + IL_000c: callvirt instance bool ABC/ABC/MyExn::Equals(class [mscorlib]System.Exception) IL_0011: ret IL_0012: ldc.i4.0 @@ -1481,7 +1509,7 @@ } // end of class MyExn .class auto ansi serializable nested public A - extends [System.Runtime]System.Object + extends [mscorlib]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) .field assembly string x @@ -1491,7 +1519,7 @@ // Code size 16 (0x10) .maxstack 8 IL_0000: ldarg.0 - IL_0001: callvirt instance void [System.Runtime]System.Object::.ctor() + IL_0001: callvirt instance void [mscorlib]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: pop IL_0008: ldarg.0 @@ -1531,8 +1559,8 @@ .method public specialname static string get_greeting() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 6 (0x6) .maxstack 8 IL_0000: ldstr "hello" @@ -1560,8 +1588,8 @@ .method public specialname static string get_greeting() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 6 (0x6) .maxstack 8 IL_0000: ldstr "hello" @@ -1575,12 +1603,12 @@ } // end of class ABC .class private abstract auto ansi sealed ''.$ABC - extends [System.Runtime]System.Object + extends [mscorlib]System.Object { .field static assembly int32 init@ - .custom instance void [System.Runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .method public static void main@() cil managed { .entrypoint @@ -1601,4 +1629,4 @@ // ============================================================= // *********** DISASSEMBLY COMPLETE *********************** -// WARNING: Created Win32 resource file C:\dev\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\Debug\net6.0\tests\EmittedIL\SerializableAttribute\ToplevelModule_fs\ToplevelModule.res +// WARNING: Created Win32 resource file C:\kevinransom\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\Debug\net472\tests\EmittedIL\SerializableAttribute\ToplevelModule_fs\ToplevelModule.res diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.il.release.bsl index 14c1385f00b..39e909e6bd1 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.il.release.bsl @@ -12,7 +12,7 @@ .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 6:0:0:0 + .ver 7:0:0:0 } .assembly ToplevelModule { @@ -21,29 +21,29 @@ int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) // --- The following custom attribute is added automatically, do not uncomment ------- - // .custom instance void [System.Runtime]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 03 01 00 00 00 00 ) + // .custom instance void [System.Runtime]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 01 01 00 00 00 00 ) .hash algorithm 0x00008004 .ver 0:0:0:0 } .mresource public FSharpSignatureData.ToplevelModule { - // Offset: 0x00000000 Length: 0x00001180 + // Offset: 0x00000000 Length: 0x00001176 // WARNING: managed resource file FSharpSignatureData.ToplevelModule created } .mresource public FSharpOptimizationData.ToplevelModule { - // Offset: 0x00001188 Length: 0x00000403 + // Offset: 0x00001180 Length: 0x00000403 // WARNING: managed resource file FSharpOptimizationData.ToplevelModule created } .module ToplevelModule.exe -// MVID: {628FBBC7-604B-50A5-A745-0383C7BB8F62} +// MVID: {62F9A1C8-0BC0-6650-A745-0383C8A1F962} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x00000192020C0000 +// Image base: 0x00000223111B0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -137,7 +137,7 @@ .method public strict virtual instance string ToString() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+A" @@ -151,8 +151,8 @@ .method public hidebysig virtual final instance int32 CompareTo(class ABC/Expr obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 54 (0x36) .maxstack 5 .locals init (class ABC/Expr V_0, @@ -205,8 +205,8 @@ .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -220,8 +220,8 @@ instance int32 CompareTo(object obj, class [System.Runtime]System.Collections.IComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 70 (0x46) .maxstack 5 .locals init (class ABC/Expr V_0, @@ -280,8 +280,8 @@ .method public hidebysig virtual final instance int32 GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 38 (0x26) .maxstack 7 .locals init (int32 V_0, @@ -323,8 +323,8 @@ .method public hidebysig virtual final instance int32 GetHashCode() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 @@ -337,8 +337,8 @@ instance bool Equals(object obj, class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 49 (0x31) .maxstack 4 .locals init (class ABC/Expr V_0, @@ -386,8 +386,8 @@ .method public hidebysig virtual final instance bool Equals(class ABC/Expr obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 37 (0x25) .maxstack 4 .locals init (class ABC/Expr V_0, @@ -425,8 +425,8 @@ .method public hidebysig virtual final instance bool Equals(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 .locals init (class ABC/Expr V_0) @@ -516,11 +516,25 @@ IL_0006: ret } // end of method MyExn::get_Data0 + .method public strict virtual instance string + get_Message() cil managed + { + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // 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/MyExn>::.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 MyExn::get_Message + .method public hidebysig virtual instance int32 GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 37 (0x25) .maxstack 7 .locals init (int32 V_0, @@ -556,8 +570,8 @@ .method public hidebysig virtual instance int32 GetHashCode() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 @@ -570,8 +584,8 @@ Equals(object obj, class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 67 (0x43) .maxstack 4 .locals init (class [System.Runtime]System.Exception V_0, @@ -625,8 +639,8 @@ .method public hidebysig instance bool Equals(class [System.Runtime]System.Exception obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 56 (0x38) .maxstack 4 .locals init (object V_0) @@ -670,8 +684,8 @@ .method public hidebysig virtual instance bool Equals(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 .locals init (class [System.Runtime]System.Exception V_0) @@ -823,7 +837,7 @@ .method public strict virtual instance string ToString() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+A" @@ -838,7 +852,7 @@ instance int32 CompareTo(class ABC/ABC/Expr obj) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 54 (0x36) .maxstack 5 .locals init (class ABC/ABC/Expr V_0, @@ -892,7 +906,7 @@ instance int32 CompareTo(object obj) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -907,7 +921,7 @@ class [System.Runtime]System.Collections.IComparer comp) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 70 (0x46) .maxstack 5 .locals init (class ABC/ABC/Expr V_0, @@ -967,7 +981,7 @@ instance int32 GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 38 (0x26) .maxstack 7 .locals init (int32 V_0, @@ -1010,7 +1024,7 @@ instance int32 GetHashCode() cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 @@ -1024,7 +1038,7 @@ class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 49 (0x31) .maxstack 4 .locals init (class ABC/ABC/Expr V_0, @@ -1073,7 +1087,7 @@ instance bool Equals(class ABC/ABC/Expr obj) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 37 (0x25) .maxstack 4 .locals init (class ABC/ABC/Expr V_0, @@ -1112,7 +1126,7 @@ instance bool Equals(object obj) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 .locals init (class ABC/ABC/Expr V_0) @@ -1202,11 +1216,25 @@ IL_0006: ret } // end of method MyExn::get_Data0 + .method public strict virtual instance string + get_Message() cil managed + { + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // 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/ABC/MyExn>::.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 MyExn::get_Message + .method public hidebysig virtual instance int32 GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 37 (0x25) .maxstack 7 .locals init (int32 V_0, @@ -1243,7 +1271,7 @@ GetHashCode() cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 @@ -1257,7 +1285,7 @@ class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 67 (0x43) .maxstack 4 .locals init (class [System.Runtime]System.Exception V_0, @@ -1312,7 +1340,7 @@ Equals(class [System.Runtime]System.Exception obj) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 56 (0x38) .maxstack 4 .locals init (object V_0) @@ -1357,7 +1385,7 @@ Equals(object obj) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 .locals init (class [System.Runtime]System.Exception V_0) @@ -1505,4 +1533,4 @@ // ============================================================= // *********** DISASSEMBLY COMPLETE *********************** -// WARNING: Created Win32 resource file C:\Users\vzari\code\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\Release\net6.0\tests\EmittedIL\SerializableAttribute\ToplevelModule_fs\ToplevelModule.res +// WARNING: Created Win32 resource file C:\kevinransom\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\Release\net6.0\tests\EmittedIL\SerializableAttribute\ToplevelModule_fs\ToplevelModule.res diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.il.debug.bsl index 090e268304a..d58ef674a36 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.il.debug.bsl @@ -4,15 +4,15 @@ // Metadata version: v4.0.30319 -.assembly extern System.Runtime +.assembly extern mscorlib { - .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 6:0:0:0 + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 } .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 6:0:0:0 + .ver 7:0:0:0 } .assembly ToplevelNamespace { @@ -21,48 +21,48 @@ int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) // --- The following custom attribute is added automatically, do not uncomment ------- - // .custom instance void [System.Runtime]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 03 01 00 00 00 00 ) + // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 01 01 00 00 00 00 ) .hash algorithm 0x00008004 .ver 0:0:0:0 } .mresource public FSharpSignatureData.ToplevelNamespace { - // Offset: 0x00000000 Length: 0x00001870 + // Offset: 0x00000000 Length: 0x0000187A // WARNING: managed resource file FSharpSignatureData.ToplevelNamespace created } .mresource public FSharpOptimizationData.ToplevelNamespace { - // Offset: 0x00001878 Length: 0x00000562 + // Offset: 0x00001880 Length: 0x0000055C // WARNING: managed resource file FSharpOptimizationData.ToplevelNamespace created } .module ToplevelNamespace.exe -// MVID: {628F4C90-5D8B-1F9F-A745-0383904C8F62} +// MVID: {62F98081-3EC6-FDC1-A745-03838180F962} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x000002285D250000 +// Image base: 0x000001C2AAA90000 // =============== CLASS MEMBERS DECLARATION =================== .class public auto autochar serializable sealed beforefieldinit XYZ.Expr - extends [System.Runtime]System.Object - implements class [System.Runtime]System.IEquatable`1, - [System.Runtime]System.Collections.IStructuralEquatable, - class [System.Runtime]System.IComparable`1, - [System.Runtime]System.IComparable, - [System.Runtime]System.Collections.IStructuralComparable + extends [mscorlib]System.Object + implements class [mscorlib]System.IEquatable`1, + [mscorlib]System.Collections.IStructuralEquatable, + class [mscorlib]System.IComparable`1, + [mscorlib]System.IComparable, + [mscorlib]System.Collections.IStructuralComparable { - .custom instance void [System.Runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C // ...{__DebugDispl - 61 79 28 29 2C 6E 71 7D 00 00 ) // ay(),nq}.. + .custom instance void [mscorlib]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C // ...{__DebugDispl + 61 79 28 29 2C 6E 71 7D 00 00 ) // ay(),nq}.. .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) .field assembly initonly int32 item - .custom instance void [System.Runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .method public static class XYZ.Expr NewNum(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, @@ -77,12 +77,12 @@ .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void [System.Runtime]System.Object::.ctor() + IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 IL_0008: stfld int32 XYZ.Expr::item @@ -92,8 +92,8 @@ .method public hidebysig instance int32 get_Item() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -104,8 +104,8 @@ .method public hidebysig instance int32 get_Tag() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 4 (0x4) .maxstack 8 IL_0000: ldarg.0 @@ -117,8 +117,8 @@ .method assembly hidebysig specialname instance object __DebugDisplay() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+0.8A" @@ -132,7 +132,7 @@ .method public strict virtual instance string ToString() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+A" @@ -146,16 +146,16 @@ .method public hidebysig virtual final instance int32 CompareTo(class XYZ.Expr obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 66 (0x42) .maxstack 5 .locals init (class XYZ.Expr V_0, class XYZ.Expr V_1, - class [System.Runtime]System.Collections.IComparer V_2, + class [mscorlib]System.Collections.IComparer V_2, int32 V_3, int32 V_4, - class [System.Runtime]System.Collections.IComparer V_5, + class [mscorlib]System.Collections.IComparer V_5, int32 V_6, int32 V_7) IL_0000: ldarg.0 @@ -170,7 +170,7 @@ IL_0009: stloc.0 IL_000a: ldarg.1 IL_000b: stloc.1 - IL_000c: call class [System.Runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_000c: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_0011: stloc.2 IL_0012: ldloc.0 IL_0013: ldfld int32 XYZ.Expr::item @@ -209,8 +209,8 @@ .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -222,19 +222,19 @@ .method public hidebysig virtual final instance int32 CompareTo(object obj, - class [System.Runtime]System.Collections.IComparer comp) cil managed + class [mscorlib]System.Collections.IComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 81 (0x51) .maxstack 5 .locals init (class XYZ.Expr V_0, class XYZ.Expr V_1, class XYZ.Expr V_2, - class [System.Runtime]System.Collections.IComparer V_3, + class [mscorlib]System.Collections.IComparer V_3, int32 V_4, int32 V_5, - class [System.Runtime]System.Collections.IComparer V_6, + class [mscorlib]System.Collections.IComparer V_6, int32 V_7, int32 V_8) IL_0000: ldarg.1 @@ -291,17 +291,17 @@ } // end of method Expr::CompareTo .method public hidebysig virtual final - instance int32 GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 43 (0x2b) .maxstack 7 .locals init (int32 V_0, class XYZ.Expr V_1, - class [System.Runtime]System.Collections.IEqualityComparer V_2, + class [mscorlib]System.Collections.IEqualityComparer V_2, int32 V_3, - class [System.Runtime]System.Collections.IEqualityComparer V_4) + class [mscorlib]System.Collections.IEqualityComparer V_4) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0029 @@ -342,32 +342,32 @@ .method public hidebysig virtual final instance int32 GetHashCode() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call class [System.Runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 XYZ.Expr::GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer) + IL_0001: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.Expr::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) IL_000b: ret } // end of method Expr::GetHashCode .method public hidebysig virtual final instance bool Equals(object obj, - class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 61 (0x3d) .maxstack 4 .locals init (class XYZ.Expr V_0, class XYZ.Expr V_1, class XYZ.Expr V_2, class XYZ.Expr V_3, - class [System.Runtime]System.Collections.IEqualityComparer V_4, + class [mscorlib]System.Collections.IEqualityComparer V_4, int32 V_5, int32 V_6, - class [System.Runtime]System.Collections.IEqualityComparer V_7) + class [mscorlib]System.Collections.IEqualityComparer V_7) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0035 @@ -414,8 +414,8 @@ .method public hidebysig virtual final instance bool Equals(class XYZ.Expr obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 37 (0x25) .maxstack 4 .locals init (class XYZ.Expr V_0, @@ -453,8 +453,8 @@ .method public hidebysig virtual final instance bool Equals(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 .locals init (class XYZ.Expr V_0) @@ -475,9 +475,9 @@ .property instance int32 Tag() { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .get instance int32 XYZ.Expr::get_Tag() } // end of property Expr::Tag .property instance int32 Item() @@ -485,15 +485,15 @@ .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32, int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .get instance int32 XYZ.Expr::get_Item() } // end of property Expr::Item } // end of class XYZ.Expr .class public auto ansi serializable beforefieldinit XYZ.MyExn - extends [System.Runtime]System.Exception - implements [System.Runtime]System.Collections.IStructuralEquatable + extends [mscorlib]System.Exception + implements [mscorlib]System.Collections.IStructuralEquatable { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) .field assembly int32 Data0@ @@ -503,7 +503,7 @@ // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void [System.Runtime]System.Exception::.ctor() + IL_0001: call instance void [mscorlib]System.Exception::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 IL_0008: stfld int32 XYZ.MyExn::Data0@ @@ -516,21 +516,21 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void [System.Runtime]System.Exception::.ctor() + IL_0001: call instance void [mscorlib]System.Exception::.ctor() IL_0006: ret } // end of method MyExn::.ctor .method family specialname rtspecialname - instance void .ctor(class [System.Runtime]System.Runtime.Serialization.SerializationInfo info, - valuetype [System.Runtime]System.Runtime.Serialization.StreamingContext context) cil managed + instance void .ctor(class [mscorlib]System.Runtime.Serialization.SerializationInfo info, + valuetype [mscorlib]System.Runtime.Serialization.StreamingContext context) cil managed { // Code size 9 (0x9) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 IL_0002: ldarg.2 - IL_0003: call instance void [System.Runtime]System.Exception::.ctor(class [System.Runtime]System.Runtime.Serialization.SerializationInfo, - valuetype [System.Runtime]System.Runtime.Serialization.StreamingContext) + IL_0003: call instance void [mscorlib]System.Exception::.ctor(class [mscorlib]System.Runtime.Serialization.SerializationInfo, + valuetype [mscorlib]System.Runtime.Serialization.StreamingContext) IL_0008: ret } // end of method MyExn::.ctor @@ -544,17 +544,31 @@ IL_0006: ret } // end of method MyExn::get_Data0 + .method public strict virtual instance string + get_Message() 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_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.MyExn>::.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 MyExn::get_Message + .method public hidebysig virtual instance int32 - GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 41 (0x29) .maxstack 7 .locals init (int32 V_0, - class [System.Runtime]System.Collections.IEqualityComparer V_1, + class [mscorlib]System.Collections.IEqualityComparer V_1, int32 V_2, - class [System.Runtime]System.Collections.IEqualityComparer V_3) + class [mscorlib]System.Collections.IEqualityComparer V_3) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0027 @@ -590,36 +604,36 @@ .method public hidebysig virtual instance int32 GetHashCode() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call class [System.Runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 XYZ.MyExn::GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer) + IL_0001: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.MyExn::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) IL_000b: ret } // end of method MyExn::GetHashCode .method public hidebysig virtual instance bool Equals(object obj, - class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 78 (0x4e) .maxstack 4 - .locals init (class [System.Runtime]System.Exception V_0, - class [System.Runtime]System.Exception V_1, + .locals init (class [mscorlib]System.Exception V_0, + class [mscorlib]System.Exception V_1, object V_2, - class [System.Runtime]System.Collections.IEqualityComparer V_3, + class [mscorlib]System.Collections.IEqualityComparer V_3, int32 V_4, int32 V_5, - class [System.Runtime]System.Collections.IEqualityComparer V_6) + class [mscorlib]System.Collections.IEqualityComparer V_6) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0046 IL_0003: ldarg.1 - IL_0004: isinst [System.Runtime]System.Exception + IL_0004: isinst [mscorlib]System.Exception IL_0009: stloc.0 IL_000a: ldloc.0 IL_000b: brfalse.s IL_0044 @@ -666,10 +680,10 @@ } // end of method MyExn::Equals .method public hidebysig instance bool - Equals(class [System.Runtime]System.Exception obj) cil managed + Equals(class [mscorlib]System.Exception obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 56 (0x38) .maxstack 4 .locals init (object V_0) @@ -713,20 +727,20 @@ .method public hidebysig virtual instance bool Equals(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 - .locals init (class [System.Runtime]System.Exception V_0) + .locals init (class [mscorlib]System.Exception V_0) IL_0000: ldarg.1 - IL_0001: isinst [System.Runtime]System.Exception + IL_0001: isinst [mscorlib]System.Exception IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 IL_000a: ldarg.0 IL_000b: ldloc.0 - IL_000c: callvirt instance bool XYZ.MyExn::Equals(class [System.Runtime]System.Exception) + IL_000c: callvirt instance bool XYZ.MyExn::Equals(class [mscorlib]System.Exception) IL_0011: ret IL_0012: ldc.i4.0 @@ -742,7 +756,7 @@ } // end of class XYZ.MyExn .class public auto ansi serializable XYZ.A - extends [System.Runtime]System.Object + extends [mscorlib]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) .field assembly string x @@ -752,7 +766,7 @@ // Code size 16 (0x10) .maxstack 8 IL_0000: ldarg.0 - IL_0001: callvirt instance void [System.Runtime]System.Object::.ctor() + IL_0001: callvirt instance void [mscorlib]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: pop IL_0008: ldarg.0 @@ -778,24 +792,24 @@ } // end of class XYZ.A .class public abstract auto ansi sealed XYZ.ABC - extends [System.Runtime]System.Object + extends [mscorlib]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) .class auto autochar serializable sealed nested public beforefieldinit Expr - extends [System.Runtime]System.Object - implements class [System.Runtime]System.IEquatable`1, - [System.Runtime]System.Collections.IStructuralEquatable, - class [System.Runtime]System.IComparable`1, - [System.Runtime]System.IComparable, - [System.Runtime]System.Collections.IStructuralComparable + extends [mscorlib]System.Object + implements class [mscorlib]System.IEquatable`1, + [mscorlib]System.Collections.IStructuralEquatable, + class [mscorlib]System.IComparable`1, + [mscorlib]System.IComparable, + [mscorlib]System.Collections.IStructuralComparable { - .custom instance void [System.Runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C // ...{__DebugDispl - 61 79 28 29 2C 6E 71 7D 00 00 ) // ay(),nq}.. + .custom instance void [mscorlib]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C // ...{__DebugDispl + 61 79 28 29 2C 6E 71 7D 00 00 ) // ay(),nq}.. .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) .field assembly initonly int32 item - .custom instance void [System.Runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .method public static class XYZ.ABC/Expr NewNum(int32 item) cil managed { @@ -811,12 +825,12 @@ .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void [System.Runtime]System.Object::.ctor() + IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 IL_0008: stfld int32 XYZ.ABC/Expr::item @@ -826,8 +840,8 @@ .method public hidebysig instance int32 get_Item() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -838,8 +852,8 @@ .method public hidebysig instance int32 get_Tag() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 4 (0x4) .maxstack 8 IL_0000: ldarg.0 @@ -851,8 +865,8 @@ .method assembly hidebysig specialname instance object __DebugDisplay() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+0.8A" @@ -866,7 +880,7 @@ .method public strict virtual instance string ToString() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+A" @@ -880,16 +894,16 @@ .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/Expr obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 66 (0x42) .maxstack 5 .locals init (class XYZ.ABC/Expr V_0, class XYZ.ABC/Expr V_1, - class [System.Runtime]System.Collections.IComparer V_2, + class [mscorlib]System.Collections.IComparer V_2, int32 V_3, int32 V_4, - class [System.Runtime]System.Collections.IComparer V_5, + class [mscorlib]System.Collections.IComparer V_5, int32 V_6, int32 V_7) IL_0000: ldarg.0 @@ -904,7 +918,7 @@ IL_0009: stloc.0 IL_000a: ldarg.1 IL_000b: stloc.1 - IL_000c: call class [System.Runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_000c: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_0011: stloc.2 IL_0012: ldloc.0 IL_0013: ldfld int32 XYZ.ABC/Expr::item @@ -943,8 +957,8 @@ .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -956,19 +970,19 @@ .method public hidebysig virtual final instance int32 CompareTo(object obj, - class [System.Runtime]System.Collections.IComparer comp) cil managed + class [mscorlib]System.Collections.IComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 81 (0x51) .maxstack 5 .locals init (class XYZ.ABC/Expr V_0, class XYZ.ABC/Expr V_1, class XYZ.ABC/Expr V_2, - class [System.Runtime]System.Collections.IComparer V_3, + class [mscorlib]System.Collections.IComparer V_3, int32 V_4, int32 V_5, - class [System.Runtime]System.Collections.IComparer V_6, + class [mscorlib]System.Collections.IComparer V_6, int32 V_7, int32 V_8) IL_0000: ldarg.1 @@ -1025,17 +1039,17 @@ } // end of method Expr::CompareTo .method public hidebysig virtual final - instance int32 GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 43 (0x2b) .maxstack 7 .locals init (int32 V_0, class XYZ.ABC/Expr V_1, - class [System.Runtime]System.Collections.IEqualityComparer V_2, + class [mscorlib]System.Collections.IEqualityComparer V_2, int32 V_3, - class [System.Runtime]System.Collections.IEqualityComparer V_4) + class [mscorlib]System.Collections.IEqualityComparer V_4) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0029 @@ -1076,32 +1090,32 @@ .method public hidebysig virtual final instance int32 GetHashCode() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call class [System.Runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 XYZ.ABC/Expr::GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer) + IL_0001: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/Expr::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) IL_000b: ret } // end of method Expr::GetHashCode .method public hidebysig virtual final instance bool Equals(object obj, - class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 61 (0x3d) .maxstack 4 .locals init (class XYZ.ABC/Expr V_0, class XYZ.ABC/Expr V_1, class XYZ.ABC/Expr V_2, class XYZ.ABC/Expr V_3, - class [System.Runtime]System.Collections.IEqualityComparer V_4, + class [mscorlib]System.Collections.IEqualityComparer V_4, int32 V_5, int32 V_6, - class [System.Runtime]System.Collections.IEqualityComparer V_7) + class [mscorlib]System.Collections.IEqualityComparer V_7) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0035 @@ -1148,8 +1162,8 @@ .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/Expr obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 37 (0x25) .maxstack 4 .locals init (class XYZ.ABC/Expr V_0, @@ -1187,8 +1201,8 @@ .method public hidebysig virtual final instance bool Equals(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 .locals init (class XYZ.ABC/Expr V_0) @@ -1209,9 +1223,9 @@ .property instance int32 Tag() { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .get instance int32 XYZ.ABC/Expr::get_Tag() } // end of property Expr::Tag .property instance int32 Item() @@ -1219,15 +1233,15 @@ .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32, int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .get instance int32 XYZ.ABC/Expr::get_Item() } // end of property Expr::Item } // end of class Expr .class auto ansi serializable nested public beforefieldinit MyExn - extends [System.Runtime]System.Exception - implements [System.Runtime]System.Collections.IStructuralEquatable + extends [mscorlib]System.Exception + implements [mscorlib]System.Collections.IStructuralEquatable { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) .field assembly int32 Data0@ @@ -1237,7 +1251,7 @@ // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void [System.Runtime]System.Exception::.ctor() + IL_0001: call instance void [mscorlib]System.Exception::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 IL_0008: stfld int32 XYZ.ABC/MyExn::Data0@ @@ -1250,21 +1264,21 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void [System.Runtime]System.Exception::.ctor() + IL_0001: call instance void [mscorlib]System.Exception::.ctor() IL_0006: ret } // end of method MyExn::.ctor .method family specialname rtspecialname - instance void .ctor(class [System.Runtime]System.Runtime.Serialization.SerializationInfo info, - valuetype [System.Runtime]System.Runtime.Serialization.StreamingContext context) cil managed + instance void .ctor(class [mscorlib]System.Runtime.Serialization.SerializationInfo info, + valuetype [mscorlib]System.Runtime.Serialization.StreamingContext context) cil managed { // Code size 9 (0x9) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 IL_0002: ldarg.2 - IL_0003: call instance void [System.Runtime]System.Exception::.ctor(class [System.Runtime]System.Runtime.Serialization.SerializationInfo, - valuetype [System.Runtime]System.Runtime.Serialization.StreamingContext) + IL_0003: call instance void [mscorlib]System.Exception::.ctor(class [mscorlib]System.Runtime.Serialization.SerializationInfo, + valuetype [mscorlib]System.Runtime.Serialization.StreamingContext) IL_0008: ret } // end of method MyExn::.ctor @@ -1278,17 +1292,31 @@ IL_0006: ret } // end of method MyExn::get_Data0 + .method public strict virtual instance string + get_Message() 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_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/MyExn>::.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 MyExn::get_Message + .method public hidebysig virtual instance int32 - GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 41 (0x29) .maxstack 7 .locals init (int32 V_0, - class [System.Runtime]System.Collections.IEqualityComparer V_1, + class [mscorlib]System.Collections.IEqualityComparer V_1, int32 V_2, - class [System.Runtime]System.Collections.IEqualityComparer V_3) + class [mscorlib]System.Collections.IEqualityComparer V_3) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0027 @@ -1324,36 +1352,36 @@ .method public hidebysig virtual instance int32 GetHashCode() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call class [System.Runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 XYZ.ABC/MyExn::GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer) + IL_0001: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/MyExn::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) IL_000b: ret } // end of method MyExn::GetHashCode .method public hidebysig virtual instance bool Equals(object obj, - class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 78 (0x4e) .maxstack 4 - .locals init (class [System.Runtime]System.Exception V_0, - class [System.Runtime]System.Exception V_1, + .locals init (class [mscorlib]System.Exception V_0, + class [mscorlib]System.Exception V_1, object V_2, - class [System.Runtime]System.Collections.IEqualityComparer V_3, + class [mscorlib]System.Collections.IEqualityComparer V_3, int32 V_4, int32 V_5, - class [System.Runtime]System.Collections.IEqualityComparer V_6) + class [mscorlib]System.Collections.IEqualityComparer V_6) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0046 IL_0003: ldarg.1 - IL_0004: isinst [System.Runtime]System.Exception + IL_0004: isinst [mscorlib]System.Exception IL_0009: stloc.0 IL_000a: ldloc.0 IL_000b: brfalse.s IL_0044 @@ -1400,10 +1428,10 @@ } // end of method MyExn::Equals .method public hidebysig instance bool - Equals(class [System.Runtime]System.Exception obj) cil managed + Equals(class [mscorlib]System.Exception obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 56 (0x38) .maxstack 4 .locals init (object V_0) @@ -1447,20 +1475,20 @@ .method public hidebysig virtual instance bool Equals(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 - .locals init (class [System.Runtime]System.Exception V_0) + .locals init (class [mscorlib]System.Exception V_0) IL_0000: ldarg.1 - IL_0001: isinst [System.Runtime]System.Exception + IL_0001: isinst [mscorlib]System.Exception IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 IL_000a: ldarg.0 IL_000b: ldloc.0 - IL_000c: callvirt instance bool XYZ.ABC/MyExn::Equals(class [System.Runtime]System.Exception) + IL_000c: callvirt instance bool XYZ.ABC/MyExn::Equals(class [mscorlib]System.Exception) IL_0011: ret IL_0012: ldc.i4.0 @@ -1476,7 +1504,7 @@ } // end of class MyExn .class auto ansi serializable nested public A - extends [System.Runtime]System.Object + extends [mscorlib]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) .field assembly string x @@ -1486,7 +1514,7 @@ // Code size 16 (0x10) .maxstack 8 IL_0000: ldarg.0 - IL_0001: callvirt instance void [System.Runtime]System.Object::.ctor() + IL_0001: callvirt instance void [mscorlib]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: pop IL_0008: ldarg.0 @@ -1512,24 +1540,24 @@ } // end of class A .class abstract auto ansi sealed nested public ABC - extends [System.Runtime]System.Object + extends [mscorlib]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) .class auto autochar serializable sealed nested public beforefieldinit Expr - extends [System.Runtime]System.Object - implements class [System.Runtime]System.IEquatable`1, - [System.Runtime]System.Collections.IStructuralEquatable, - class [System.Runtime]System.IComparable`1, - [System.Runtime]System.IComparable, - [System.Runtime]System.Collections.IStructuralComparable + extends [mscorlib]System.Object + implements class [mscorlib]System.IEquatable`1, + [mscorlib]System.Collections.IStructuralEquatable, + class [mscorlib]System.IComparable`1, + [mscorlib]System.IComparable, + [mscorlib]System.Collections.IStructuralComparable { - .custom instance void [System.Runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C // ...{__DebugDispl - 61 79 28 29 2C 6E 71 7D 00 00 ) // ay(),nq}.. + .custom instance void [mscorlib]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C // ...{__DebugDispl + 61 79 28 29 2C 6E 71 7D 00 00 ) // ay(),nq}.. .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) .field assembly initonly int32 item - .custom instance void [System.Runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .method public static class XYZ.ABC/ABC/Expr NewNum(int32 item) cil managed { @@ -1545,12 +1573,12 @@ .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void [System.Runtime]System.Object::.ctor() + IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 IL_0008: stfld int32 XYZ.ABC/ABC/Expr::item @@ -1560,8 +1588,8 @@ .method public hidebysig instance int32 get_Item() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 @@ -1572,8 +1600,8 @@ .method public hidebysig instance int32 get_Tag() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 4 (0x4) .maxstack 8 IL_0000: ldarg.0 @@ -1585,8 +1613,8 @@ .method assembly hidebysig specialname instance object __DebugDisplay() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+0.8A" @@ -1600,7 +1628,7 @@ .method public strict virtual instance string ToString() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+A" @@ -1614,16 +1642,16 @@ .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/ABC/Expr obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 66 (0x42) .maxstack 5 .locals init (class XYZ.ABC/ABC/Expr V_0, class XYZ.ABC/ABC/Expr V_1, - class [System.Runtime]System.Collections.IComparer V_2, + class [mscorlib]System.Collections.IComparer V_2, int32 V_3, int32 V_4, - class [System.Runtime]System.Collections.IComparer V_5, + class [mscorlib]System.Collections.IComparer V_5, int32 V_6, int32 V_7) IL_0000: ldarg.0 @@ -1638,7 +1666,7 @@ IL_0009: stloc.0 IL_000a: ldarg.1 IL_000b: stloc.1 - IL_000c: call class [System.Runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_000c: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_0011: stloc.2 IL_0012: ldloc.0 IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item @@ -1677,8 +1705,8 @@ .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -1690,19 +1718,19 @@ .method public hidebysig virtual final instance int32 CompareTo(object obj, - class [System.Runtime]System.Collections.IComparer comp) cil managed + class [mscorlib]System.Collections.IComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 81 (0x51) .maxstack 5 .locals init (class XYZ.ABC/ABC/Expr V_0, class XYZ.ABC/ABC/Expr V_1, class XYZ.ABC/ABC/Expr V_2, - class [System.Runtime]System.Collections.IComparer V_3, + class [mscorlib]System.Collections.IComparer V_3, int32 V_4, int32 V_5, - class [System.Runtime]System.Collections.IComparer V_6, + class [mscorlib]System.Collections.IComparer V_6, int32 V_7, int32 V_8) IL_0000: ldarg.1 @@ -1759,17 +1787,17 @@ } // end of method Expr::CompareTo .method public hidebysig virtual final - instance int32 GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + instance int32 GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 43 (0x2b) .maxstack 7 .locals init (int32 V_0, class XYZ.ABC/ABC/Expr V_1, - class [System.Runtime]System.Collections.IEqualityComparer V_2, + class [mscorlib]System.Collections.IEqualityComparer V_2, int32 V_3, - class [System.Runtime]System.Collections.IEqualityComparer V_4) + class [mscorlib]System.Collections.IEqualityComparer V_4) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0029 @@ -1810,32 +1838,32 @@ .method public hidebysig virtual final instance int32 GetHashCode() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call class [System.Runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 XYZ.ABC/ABC/Expr::GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer) + IL_0001: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/Expr::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) IL_000b: ret } // end of method Expr::GetHashCode .method public hidebysig virtual final instance bool Equals(object obj, - class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 61 (0x3d) .maxstack 4 .locals init (class XYZ.ABC/ABC/Expr V_0, class XYZ.ABC/ABC/Expr V_1, class XYZ.ABC/ABC/Expr V_2, class XYZ.ABC/ABC/Expr V_3, - class [System.Runtime]System.Collections.IEqualityComparer V_4, + class [mscorlib]System.Collections.IEqualityComparer V_4, int32 V_5, int32 V_6, - class [System.Runtime]System.Collections.IEqualityComparer V_7) + class [mscorlib]System.Collections.IEqualityComparer V_7) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0035 @@ -1882,8 +1910,8 @@ .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/ABC/Expr obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 37 (0x25) .maxstack 4 .locals init (class XYZ.ABC/ABC/Expr V_0, @@ -1921,8 +1949,8 @@ .method public hidebysig virtual final instance bool Equals(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 .locals init (class XYZ.ABC/ABC/Expr V_0) @@ -1943,9 +1971,9 @@ .property instance int32 Tag() { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .get instance int32 XYZ.ABC/ABC/Expr::get_Tag() } // end of property Expr::Tag .property instance int32 Item() @@ -1953,15 +1981,15 @@ .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32, int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .get instance int32 XYZ.ABC/ABC/Expr::get_Item() } // end of property Expr::Item } // end of class Expr .class auto ansi serializable nested public beforefieldinit MyExn - extends [System.Runtime]System.Exception - implements [System.Runtime]System.Collections.IStructuralEquatable + extends [mscorlib]System.Exception + implements [mscorlib]System.Collections.IStructuralEquatable { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) .field assembly int32 Data0@ @@ -1971,7 +1999,7 @@ // Code size 14 (0xe) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void [System.Runtime]System.Exception::.ctor() + IL_0001: call instance void [mscorlib]System.Exception::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 IL_0008: stfld int32 XYZ.ABC/ABC/MyExn::Data0@ @@ -1984,21 +2012,21 @@ // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance void [System.Runtime]System.Exception::.ctor() + IL_0001: call instance void [mscorlib]System.Exception::.ctor() IL_0006: ret } // end of method MyExn::.ctor .method family specialname rtspecialname - instance void .ctor(class [System.Runtime]System.Runtime.Serialization.SerializationInfo info, - valuetype [System.Runtime]System.Runtime.Serialization.StreamingContext context) cil managed + instance void .ctor(class [mscorlib]System.Runtime.Serialization.SerializationInfo info, + valuetype [mscorlib]System.Runtime.Serialization.StreamingContext context) cil managed { // Code size 9 (0x9) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 IL_0002: ldarg.2 - IL_0003: call instance void [System.Runtime]System.Exception::.ctor(class [System.Runtime]System.Runtime.Serialization.SerializationInfo, - valuetype [System.Runtime]System.Runtime.Serialization.StreamingContext) + IL_0003: call instance void [mscorlib]System.Exception::.ctor(class [mscorlib]System.Runtime.Serialization.SerializationInfo, + valuetype [mscorlib]System.Runtime.Serialization.StreamingContext) IL_0008: ret } // end of method MyExn::.ctor @@ -2012,17 +2040,31 @@ IL_0006: ret } // end of method MyExn::get_Data0 + .method public strict virtual instance string + get_Message() 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_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/MyExn>::.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 MyExn::get_Message + .method public hidebysig virtual instance int32 - GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + GetHashCode(class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 41 (0x29) .maxstack 7 .locals init (int32 V_0, - class [System.Runtime]System.Collections.IEqualityComparer V_1, + class [mscorlib]System.Collections.IEqualityComparer V_1, int32 V_2, - class [System.Runtime]System.Collections.IEqualityComparer V_3) + class [mscorlib]System.Collections.IEqualityComparer V_3) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0027 @@ -2058,36 +2100,36 @@ .method public hidebysig virtual instance int32 GetHashCode() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call class [System.Runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 XYZ.ABC/ABC/MyExn::GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer) + IL_0001: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/MyExn::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) IL_000b: ret } // end of method MyExn::GetHashCode .method public hidebysig virtual instance bool Equals(object obj, - class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed + class [mscorlib]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 78 (0x4e) .maxstack 4 - .locals init (class [System.Runtime]System.Exception V_0, - class [System.Runtime]System.Exception V_1, + .locals init (class [mscorlib]System.Exception V_0, + class [mscorlib]System.Exception V_1, object V_2, - class [System.Runtime]System.Collections.IEqualityComparer V_3, + class [mscorlib]System.Collections.IEqualityComparer V_3, int32 V_4, int32 V_5, - class [System.Runtime]System.Collections.IEqualityComparer V_6) + class [mscorlib]System.Collections.IEqualityComparer V_6) IL_0000: ldarg.0 IL_0001: brfalse.s IL_0046 IL_0003: ldarg.1 - IL_0004: isinst [System.Runtime]System.Exception + IL_0004: isinst [mscorlib]System.Exception IL_0009: stloc.0 IL_000a: ldloc.0 IL_000b: brfalse.s IL_0044 @@ -2134,10 +2176,10 @@ } // end of method MyExn::Equals .method public hidebysig instance bool - Equals(class [System.Runtime]System.Exception obj) cil managed + Equals(class [mscorlib]System.Exception obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 56 (0x38) .maxstack 4 .locals init (object V_0) @@ -2181,20 +2223,20 @@ .method public hidebysig virtual instance bool Equals(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 - .locals init (class [System.Runtime]System.Exception V_0) + .locals init (class [mscorlib]System.Exception V_0) IL_0000: ldarg.1 - IL_0001: isinst [System.Runtime]System.Exception + IL_0001: isinst [mscorlib]System.Exception IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 IL_000a: ldarg.0 IL_000b: ldloc.0 - IL_000c: callvirt instance bool XYZ.ABC/ABC/MyExn::Equals(class [System.Runtime]System.Exception) + IL_000c: callvirt instance bool XYZ.ABC/ABC/MyExn::Equals(class [mscorlib]System.Exception) IL_0011: ret IL_0012: ldc.i4.0 @@ -2210,7 +2252,7 @@ } // end of class MyExn .class auto ansi serializable nested public A - extends [System.Runtime]System.Object + extends [mscorlib]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) .field assembly string x @@ -2220,7 +2262,7 @@ // Code size 16 (0x10) .maxstack 8 IL_0000: ldarg.0 - IL_0001: callvirt instance void [System.Runtime]System.Object::.ctor() + IL_0001: callvirt instance void [mscorlib]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: pop IL_0008: ldarg.0 @@ -2260,8 +2302,8 @@ .method public specialname static string get_greeting() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 6 (0x6) .maxstack 8 IL_0000: ldstr "hello" @@ -2289,8 +2331,8 @@ .method public specialname static string get_greeting() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 6 (0x6) .maxstack 8 IL_0000: ldstr "hello" @@ -2304,12 +2346,12 @@ } // end of class XYZ.ABC .class private abstract auto ansi sealed ''.$ToplevelNamespace - extends [System.Runtime]System.Object + extends [mscorlib]System.Object { .field static assembly int32 init@ - .custom instance void [System.Runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .method public static void main@() cil managed { .entrypoint @@ -2330,4 +2372,4 @@ // ============================================================= // *********** DISASSEMBLY COMPLETE *********************** -// WARNING: Created Win32 resource file C:\dev\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\Debug\net6.0\tests\EmittedIL\SerializableAttribute\ToplevelNamespace_fs\ToplevelNamespace.res +// WARNING: Created Win32 resource file C:\kevinransom\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\Debug\net472\tests\EmittedIL\SerializableAttribute\ToplevelNamespace_fs\ToplevelNamespace.res diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.il.release.bsl index 6cd3bc0ed4b..dfaf2444884 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.il.release.bsl @@ -12,7 +12,7 @@ .assembly extern FSharp.Core { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 6:0:0:0 + .ver 7:0:0:0 } .assembly ToplevelNamespace { @@ -21,29 +21,29 @@ int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) // --- The following custom attribute is added automatically, do not uncomment ------- - // .custom instance void [System.Runtime]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 03 01 00 00 00 00 ) + // .custom instance void [System.Runtime]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 01 01 00 00 00 00 ) .hash algorithm 0x00008004 .ver 0:0:0:0 } .mresource public FSharpSignatureData.ToplevelNamespace { - // Offset: 0x00000000 Length: 0x0000188E + // Offset: 0x00000000 Length: 0x00001884 // WARNING: managed resource file FSharpSignatureData.ToplevelNamespace created } .mresource public FSharpOptimizationData.ToplevelNamespace { - // Offset: 0x00001898 Length: 0x00000562 + // Offset: 0x00001888 Length: 0x00000562 // WARNING: managed resource file FSharpOptimizationData.ToplevelNamespace created } .module ToplevelNamespace.exe -// MVID: {628FBBC7-2DCF-3629-A745-0383C7BB8F62} +// MVID: {62F9A1B0-77E1-A901-A745-0383B0A1F962} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x0000028D685A0000 +// Image base: 0x0000023A2DE40000 // =============== CLASS MEMBERS DECLARATION =================== @@ -132,7 +132,7 @@ .method public strict virtual instance string ToString() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+A" @@ -146,8 +146,8 @@ .method public hidebysig virtual final instance int32 CompareTo(class XYZ.Expr obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 54 (0x36) .maxstack 5 .locals init (class XYZ.Expr V_0, @@ -200,8 +200,8 @@ .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -215,8 +215,8 @@ instance int32 CompareTo(object obj, class [System.Runtime]System.Collections.IComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 70 (0x46) .maxstack 5 .locals init (class XYZ.Expr V_0, @@ -275,8 +275,8 @@ .method public hidebysig virtual final instance int32 GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 38 (0x26) .maxstack 7 .locals init (int32 V_0, @@ -318,8 +318,8 @@ .method public hidebysig virtual final instance int32 GetHashCode() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 @@ -332,8 +332,8 @@ instance bool Equals(object obj, class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 49 (0x31) .maxstack 4 .locals init (class XYZ.Expr V_0, @@ -381,8 +381,8 @@ .method public hidebysig virtual final instance bool Equals(class XYZ.Expr obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 37 (0x25) .maxstack 4 .locals init (class XYZ.Expr V_0, @@ -420,8 +420,8 @@ .method public hidebysig virtual final instance bool Equals(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 .locals init (class XYZ.Expr V_0) @@ -511,11 +511,25 @@ IL_0006: ret } // end of method MyExn::get_Data0 + .method public strict virtual instance string + get_Message() cil managed + { + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // 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 XYZ.MyExn>::.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 MyExn::get_Message + .method public hidebysig virtual instance int32 GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 37 (0x25) .maxstack 7 .locals init (int32 V_0, @@ -551,8 +565,8 @@ .method public hidebysig virtual instance int32 GetHashCode() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 @@ -565,8 +579,8 @@ Equals(object obj, class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 67 (0x43) .maxstack 4 .locals init (class [System.Runtime]System.Exception V_0, @@ -620,8 +634,8 @@ .method public hidebysig instance bool Equals(class [System.Runtime]System.Exception obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 56 (0x38) .maxstack 4 .locals init (object V_0) @@ -665,8 +679,8 @@ .method public hidebysig virtual instance bool Equals(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 .locals init (class [System.Runtime]System.Exception V_0) @@ -818,7 +832,7 @@ .method public strict virtual instance string ToString() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+A" @@ -832,8 +846,8 @@ .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/Expr obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 54 (0x36) .maxstack 5 .locals init (class XYZ.ABC/Expr V_0, @@ -886,8 +900,8 @@ .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -901,8 +915,8 @@ instance int32 CompareTo(object obj, class [System.Runtime]System.Collections.IComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 70 (0x46) .maxstack 5 .locals init (class XYZ.ABC/Expr V_0, @@ -961,8 +975,8 @@ .method public hidebysig virtual final instance int32 GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 38 (0x26) .maxstack 7 .locals init (int32 V_0, @@ -1004,8 +1018,8 @@ .method public hidebysig virtual final instance int32 GetHashCode() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 @@ -1018,8 +1032,8 @@ instance bool Equals(object obj, class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 49 (0x31) .maxstack 4 .locals init (class XYZ.ABC/Expr V_0, @@ -1067,8 +1081,8 @@ .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/Expr obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 37 (0x25) .maxstack 4 .locals init (class XYZ.ABC/Expr V_0, @@ -1106,8 +1120,8 @@ .method public hidebysig virtual final instance bool Equals(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 .locals init (class XYZ.ABC/Expr V_0) @@ -1197,11 +1211,25 @@ IL_0006: ret } // end of method MyExn::get_Data0 + .method public strict virtual instance string + get_Message() cil managed + { + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // 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 XYZ.ABC/MyExn>::.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 MyExn::get_Message + .method public hidebysig virtual instance int32 GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 37 (0x25) .maxstack 7 .locals init (int32 V_0, @@ -1237,8 +1265,8 @@ .method public hidebysig virtual instance int32 GetHashCode() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 @@ -1251,8 +1279,8 @@ Equals(object obj, class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 67 (0x43) .maxstack 4 .locals init (class [System.Runtime]System.Exception V_0, @@ -1306,8 +1334,8 @@ .method public hidebysig instance bool Equals(class [System.Runtime]System.Exception obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 56 (0x38) .maxstack 4 .locals init (object V_0) @@ -1351,8 +1379,8 @@ .method public hidebysig virtual instance bool Equals(object obj) cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 .locals init (class [System.Runtime]System.Exception V_0) @@ -1504,7 +1532,7 @@ .method public strict virtual instance string ToString() cil managed { - .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "%+A" @@ -1519,7 +1547,7 @@ instance int32 CompareTo(class XYZ.ABC/ABC/Expr obj) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 54 (0x36) .maxstack 5 .locals init (class XYZ.ABC/ABC/Expr V_0, @@ -1573,7 +1601,7 @@ instance int32 CompareTo(object obj) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -1588,7 +1616,7 @@ class [System.Runtime]System.Collections.IComparer comp) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 70 (0x46) .maxstack 5 .locals init (class XYZ.ABC/ABC/Expr V_0, @@ -1648,7 +1676,7 @@ instance int32 GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 38 (0x26) .maxstack 7 .locals init (int32 V_0, @@ -1691,7 +1719,7 @@ instance int32 GetHashCode() cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 @@ -1705,7 +1733,7 @@ class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 49 (0x31) .maxstack 4 .locals init (class XYZ.ABC/ABC/Expr V_0, @@ -1754,7 +1782,7 @@ instance bool Equals(class XYZ.ABC/ABC/Expr obj) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 37 (0x25) .maxstack 4 .locals init (class XYZ.ABC/ABC/Expr V_0, @@ -1793,7 +1821,7 @@ instance bool Equals(object obj) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 .locals init (class XYZ.ABC/ABC/Expr V_0) @@ -1883,11 +1911,25 @@ IL_0006: ret } // end of method MyExn::get_Data0 + .method public strict virtual instance string + get_Message() cil managed + { + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + // 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 XYZ.ABC/ABC/MyExn>::.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 MyExn::get_Message + .method public hidebysig virtual instance int32 GetHashCode(class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 37 (0x25) .maxstack 7 .locals init (int32 V_0, @@ -1924,7 +1966,7 @@ GetHashCode() cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 @@ -1938,7 +1980,7 @@ class [System.Runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 67 (0x43) .maxstack 4 .locals init (class [System.Runtime]System.Exception V_0, @@ -1993,7 +2035,7 @@ Equals(class [System.Runtime]System.Exception obj) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 56 (0x38) .maxstack 4 .locals init (object V_0) @@ -2038,7 +2080,7 @@ Equals(object obj) cil managed { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 20 (0x14) .maxstack 4 .locals init (class [System.Runtime]System.Exception V_0) @@ -2186,4 +2228,4 @@ // ============================================================= // *********** DISASSEMBLY COMPLETE *********************** -// WARNING: Created Win32 resource file C:\Users\vzari\code\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\Release\net6.0\tests\EmittedIL\SerializableAttribute\ToplevelNamespace_fs\ToplevelNamespace.res +// WARNING: Created Win32 resource file C:\kevinransom\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\Release\net6.0\tests\EmittedIL\SerializableAttribute\ToplevelNamespace_fs\ToplevelNamespace.res diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj index 3015cfd8873..4a9e7f7c650 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj +++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj @@ -15,8 +15,13 @@ false $(OtherFlags) --warnon:1182 $(NoWarn);FS0988 - true - + $(DefineConstants);RELEASE + $(DefineConstants);DEBUG + + true + + + diff --git a/tests/FSharp.Compiler.ComponentTests/Interop/RequiredAndInitOnlyProperties.fs b/tests/FSharp.Compiler.ComponentTests/Interop/RequiredAndInitOnlyProperties.fs index 4af0d6d280a..a3e6b6b6ed7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Interop/RequiredAndInitOnlyProperties.fs +++ b/tests/FSharp.Compiler.ComponentTests/Interop/RequiredAndInitOnlyProperties.fs @@ -59,7 +59,7 @@ let main _ = """ FSharp fsharpSource |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpLib] |> compileAndRun |> shouldSucceed @@ -94,7 +94,7 @@ let main _ = """ FSharp fsharpSource |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpLib] |> compileAndRun |> shouldSucceed @@ -129,7 +129,7 @@ let main _ = """ FSharp fsharpSource |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpLib] |> compileAndRun |> shouldSucceed @@ -159,7 +159,7 @@ let main _ = """ FSharp fsharpSource |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpLib] |> compileAndRun |> shouldSucceed @@ -188,7 +188,7 @@ let main _ = """ FSharp fsharpSource |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpLib] |> compile |> shouldFail @@ -220,7 +220,7 @@ let main _ = """ FSharp fsharpSource |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpLib] |> compile |> shouldFail @@ -251,7 +251,7 @@ let main _ = """ FSharp fsharpSource |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpLib] |> compile |> shouldFail @@ -283,7 +283,7 @@ let main _ = """ FSharp fsharpSource |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpLib] |> compile |> shouldFail @@ -314,7 +314,7 @@ let main _ = """ FSharp fsharpSource |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpLib] |> compile |> shouldFail @@ -350,7 +350,7 @@ let main _ = """ FSharp fsharpSource |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpLib] |> compileAndRun |> shouldSucceed @@ -392,7 +392,7 @@ let main _ = """ FSharp fsharpSource |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpLib] |> compileAndRun |> shouldSucceed @@ -410,7 +410,7 @@ let main _ = """ FSharp fsharpSource2 |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpLib] |> compile |> shouldFail @@ -433,7 +433,7 @@ type RAIOFS() = """ FSharp fsharpSource |> asLibrary - |> withLangVersionPreview + |> withLangVersion70 |> compile |> shouldFail |> withSingleDiagnostic (Warning 202, Line 6, Col 7, Line 6, Col 21, "This attribute is currently unsupported by the F# compiler. Applying it will not achieve its intended effect.") \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/Interop/StaticsInInterfaces.fs b/tests/FSharp.Compiler.ComponentTests/Interop/StaticsInInterfaces.fs index 320804e2c7c..3d6afab3f3b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Interop/StaticsInInterfaces.fs +++ b/tests/FSharp.Compiler.ComponentTests/Interop/StaticsInInterfaces.fs @@ -106,7 +106,7 @@ let main _ = """ FSharp fsharpSource |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpOperators] |> compileAndRun |> shouldSucceed @@ -142,7 +142,7 @@ let main _ = """ FSharp fsharpSource |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpLib] |> compileAndRun |> shouldSucceed @@ -194,7 +194,7 @@ type MyRepeatSequence2() = static member Next(other: MyRepeatSequence2) : MyRepeatSequence2 = MyRepeatSequence2.Next(other) """ Fsx fsharpSource - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpLib] |> compile |> shouldSucceed @@ -312,7 +312,7 @@ let main _ = """ FSharp fsharpSource |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpLib] |> compileAndRun |> shouldSucceed @@ -339,7 +339,7 @@ let main _ = 0 """ FSharp fsharpSource |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> compileAndRun |> shouldSucceed @@ -365,7 +365,7 @@ let main _ = 0 """ FSharp fsharpSource |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> compileAndRun |> shouldSucceed @@ -400,7 +400,7 @@ module Test = 0 """ |> asExe - |> withLangVersionPreview + |> withLangVersion70 |> compileAndRun |> shouldSucceed |> verifyIL [ @@ -635,8 +635,6 @@ module Test = IL_002e: ldc.i4.0 IL_002f: ret } - -} """ #endif ] @@ -658,7 +656,7 @@ module Test = let F<'T when 'T :> IFoo<'T>>(x: 'T, y: 'T) = 'T.Foo(x, y) """ - |> withLangVersionPreview + |> withLangVersion70 |> withName "FsLibAssembly" |> withOptions ["--nowarn:3535"] diff --git a/tests/FSharp.Compiler.ComponentTests/Language/AttributeCheckingTests.fs b/tests/FSharp.Compiler.ComponentTests/Language/AttributeCheckingTests.fs index 9a24fdb8663..a5db85f88de 100644 --- a/tests/FSharp.Compiler.ComponentTests/Language/AttributeCheckingTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/Language/AttributeCheckingTests.fs @@ -77,7 +77,7 @@ type C() = ignore newChildCopy """ FSharp fsharpSource - |> withLangVersionPreview + |> withLangVersion70 |> withReferences [csharpBaseClass] |> compile |> shouldSucceed diff --git a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/ListLiterals.fs b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/ListLiterals.fs index a3388896d62..62998d31b55 100644 --- a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/ListLiterals.fs +++ b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/ListLiterals.fs @@ -22,6 +22,6 @@ module ListLiterals = let ``List literals have no limited length in langversion preview`` compilation = compilation |> asFsx - |> withLangVersionPreview + |> withLangVersion70 |> compile |> shouldSucceed \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/OCamlCompat.fs b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/OCamlCompat.fs index c94f95e8457..e40797ba218 100644 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/OCamlCompat.fs +++ b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/OCamlCompat.fs @@ -13,18 +13,20 @@ module ``OCamlCompat test cases`` = let ``E_IndentOff01_fs --warnaserror --test:ErrorRanges`` compilation = compilation |> asFsx - |> withOptions ["--warnaserror"; "--test:ErrorRanges"] + |> withOptions ["--test:ErrorRanges"] |> compile |> shouldFail - |> withErrorCode 0062 - |> withDiagnosticMessageMatches "This construct is for ML compatibility\. Consider using a file with extension '\.ml' or '\.mli' instead\. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'\." + |> withDiagnostics [ + (Error 62, Line 4, Col 1, Line 4, Col 14, """This construct is deprecated. The use of '#light "off"' or '#indent "off"' was deprecated in F# 2.0 and is no longer supported. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.""") + ] [] let ``IndentOff02_fs --warnaserror"; "--mlcompatibility`` compilation = compilation |> asFsx - |> withOptions ["--warnaserror"; "--mlcompatibility"] + |> withOcamlCompat + |> withLangVersion50 |> typecheck |> shouldSucceed @@ -37,8 +39,9 @@ module ``OCamlCompat test cases`` = |> withOptions ["--test:ErrorRanges"] |> compile |> shouldFail - |> withWarningCode 0062 - |> withDiagnosticMessageMatches "This construct is for ML compatibility\. Consider using a file with extension '\.ml' or '\.mli' instead\. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'\." + |> withDiagnostics [ + (Error 62, Line 4, Col 1, Line 4, Col 14, """This construct is deprecated. The use of '#light "off"' or '#indent "off"' was deprecated in F# 2.0 and is no longer supported. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.""") + ] //NoMT SOURCE=IndentOff04.fsx COMPILE_ONLY=1 SCFLAGS="--warnaserror --mlcompatibility" FSIMODE=PIPE # IndentOff04.fsx @@ -46,11 +49,13 @@ module ``OCamlCompat test cases`` = let ``IndentOff04_fsx --warnaserror --mlcompatibility`` compilation = compilation |> asFsx - |> withOptions ["--warnaserror"; " --mlcompatibility"] + |> withOptions ["--test:ErrorRanges"] + |> withOcamlCompat |> compile |> shouldFail - |> withErrorCode 62 - |> withDiagnosticMessageMatches "This construct is for ML compatibility\. Consider using a file with extension '\.ml' or '\.mli' instead\. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'\." + |> withDiagnostics [ + (Error 62, Line 3, Col 1, Line 3, Col 14, """This construct is deprecated. The use of '#light "off"' or '#indent "off"' was deprecated in F# 2.0 and is no longer supported. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.""") + ] //NoMT SOURCE=W_IndentOff05.fsx COMPILE_ONLY=1 SCFLAGS="--test:ErrorRanges" FSIMODE=PIPE # W_IndentOff05.fsx @@ -61,8 +66,9 @@ module ``OCamlCompat test cases`` = |> withOptions ["--test:ErrorRanges"] |> compile |> shouldFail - |> withWarningCode 0062 - |> withDiagnosticMessageMatches "This construct is for ML compatibility\. Consider using a file with extension '\.ml' or '\.mli' instead\. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'\." + |> withDiagnostics [ + (Error 62, Line 3, Col 1, Line 3, Col 14, """This construct is deprecated. The use of '#light "off"' or '#indent "off"' was deprecated in F# 2.0 and is no longer supported. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.""") + ] //NoMT SOURCE=E_IndentOff06.fsx COMPILE_ONLY=1 SCFLAGS="--warnaserror" FSIMODE=PIPE # E_IndentOff06.fsx @@ -70,11 +76,12 @@ module ``OCamlCompat test cases`` = let ``E_IndentOff06_fsx --test:ErrorRanges`` compilation = compilation |> asFsx - |> withOptions ["--warnaserror"; "--test:ErrorRanges"] + |> withOptions ["--test:ErrorRanges"] |> compile |> shouldFail - |> withErrorCode 0062 - |> withDiagnosticMessageMatches "This construct is for ML compatibility\. Consider using a file with extension '\.ml' or '\.mli' instead\. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'\." + |> withDiagnostics [ + (Error 62, Line 3, Col 1, Line 3, Col 14, """This construct is deprecated. The use of '#light "off"' or '#indent "off"' was deprecated in F# 2.0 and is no longer supported. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.""") + ] // SOURCE=E_mlExtension01.ml COMPILE_ONLY=1 SCFLAGS="--warnaserror --test:ErrorRanges" # E_mlExtension01.ml @@ -92,6 +99,7 @@ module ``OCamlCompat test cases`` = compilation |> asFsx |> withOptions ["--warnaserror"; "--mlcompatibility"] + |> withLangVersion50 |> compile |> shouldSucceed @@ -112,6 +120,7 @@ module ``OCamlCompat test cases`` = compilation |> asFsx |> withOptions ["--warnaserror"; "--mlcompatibility"] + |> withLangVersion50 |> typecheck |> shouldSucceed @@ -122,6 +131,7 @@ module ``OCamlCompat test cases`` = compilation |> asExe |> withOptions ["--test:ErrorRanges"; "--mlcompatibility"] + |> withLangVersion50 |> compile |> shouldSucceed @@ -142,9 +152,10 @@ module ``OCamlCompat test cases`` = |> asExe |> ignoreWarnings |> compile - |> shouldSucceed - |> withWarningCode 62 - |> withDiagnosticMessageMatches "This construct is for ML compatibility\. The syntax '\(typ,\.\.\.,typ\) ident' is not used in F# code. Consider using 'ident' instead. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'\." + |> shouldFail + |> withDiagnostics [ + (Error 62, Line 10, Col 19, Line 10, Col 48, """This construct is deprecated. The use of multiple parenthesized type parameters before a generic type name such as '(int, int) Map' was deprecated in F# 2.0 and is no longer supported. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.""") + ] // SOURCE=OCamlStyleArrayIndexing.fs SCFLAGS="--mlcompatibility" # OCamlStyleArrayIndexing.fs @@ -152,6 +163,7 @@ module ``OCamlCompat test cases`` = let ``OCamlStyleArrayIndexing_fs --mlcompatibility`` compilation = compilation |> asExe - |> withOptions ["--mlcompatibility"] + |> withOcamlCompat + |> withLangVersion50 |> compile |> shouldSucceed diff --git a/tests/FSharp.Compiler.UnitTests/ByteMemoryTests.fs b/tests/FSharp.Compiler.UnitTests/ByteMemoryTests.fs index 6a46f5ce74f..cdc2a981071 100644 --- a/tests/FSharp.Compiler.UnitTests/ByteMemoryTests.fs +++ b/tests/FSharp.Compiler.UnitTests/ByteMemoryTests.fs @@ -10,7 +10,8 @@ module ByteMemoryTests = open FSharp.Compiler.IO [] - let ``ByteMemory.CreateMemoryMappedFile succeeds with byte length of zero``() = + let ``ByteMemory.CreateMemoryMappedFile succeeds with byte length of zero`` () = + let memory = ByteMemory.Empty.AsReadOnly() let newMemory = ByteStorage.FromByteMemoryAndCopy(memory, useBackingMemoryMappedFile = true).GetByteMemory() - Assert.shouldBe(0, newMemory.Length) + Assert.shouldBe 0 newMemory.Length diff --git a/tests/FSharp.Compiler.UnitTests/ManglingNameOfProvidedTypes.fs b/tests/FSharp.Compiler.UnitTests/ManglingNameOfProvidedTypes.fs index 3d6651df05d..24516f3868d 100644 --- a/tests/FSharp.Compiler.UnitTests/ManglingNameOfProvidedTypes.fs +++ b/tests/FSharp.Compiler.UnitTests/ManglingNameOfProvidedTypes.fs @@ -63,7 +63,9 @@ type ManglingNamesOfProvidedTypesWithMultipleParameter() = [] member this.DemangleMultiParameter() = + let smashtogether arr = arr |> Seq.fold(fun acc (f,s) -> acc + $"-{f}-{s}") "" let name, parameters = PrettyNaming.DemangleProvidedTypeName "TestType,Foo=\"xyz\",Foo2=\"abc\"" Assert.shouldBe "TestType" name - Assert.shouldBe([| "Foo", "xyz" - "Foo2", "abc" |], parameters) + let parameters = smashtogether parameters + let expected = smashtogether [| "Foo", "xyz"; "Foo2", "abc" |] + Assert.shouldBe expected parameters diff --git a/tests/FSharp.Test.Utilities/Compiler.fs b/tests/FSharp.Test.Utilities/Compiler.fs index d227cc1630e..d70cffdafd4 100644 --- a/tests/FSharp.Test.Utilities/Compiler.fs +++ b/tests/FSharp.Test.Utilities/Compiler.fs @@ -388,6 +388,9 @@ module rec Compiler = let withLangVersion60 (cUnit: CompilationUnit) : CompilationUnit = withOptionsHelper [ "--langversion:6.0" ] "withLangVersion60 is only supported on F#" cUnit + let withLangVersion70 (cUnit: CompilationUnit) : CompilationUnit = + withOptionsHelper [ "--langversion:7.0" ] "withLangVersion70 is only supported on F#" cUnit + let withLangVersionPreview (cUnit: CompilationUnit) : CompilationUnit = withOptionsHelper [ "--langversion:preview" ] "withLangVersionPreview is only supported on F#" cUnit diff --git a/tests/fsharp/conformance/lexicalanalysis/E_LessThanDotOpenParen001.bsl b/tests/fsharp/conformance/lexicalanalysis/E_LessThanDotOpenParen001.bsl index 1bd18780642..07d69bc5277 100644 --- a/tests/fsharp/conformance/lexicalanalysis/E_LessThanDotOpenParen001.bsl +++ b/tests/fsharp/conformance/lexicalanalysis/E_LessThanDotOpenParen001.bsl @@ -1,7 +1,7 @@ E_LessThanDotOpenParen001.fsx(23,12,23,15): typecheck error FS0043: No overloads match for method 'op_PlusPlusPlus'. -Known return type: ^a +Known return type: 'a Known type parameters: < (string -> int) , TestType > diff --git a/tests/fsharp/single-test.fs b/tests/fsharp/single-test.fs index 02548f16e56..64857397705 100644 --- a/tests/fsharp/single-test.fs +++ b/tests/fsharp/single-test.fs @@ -105,6 +105,11 @@ let generateProjectArtifacts (pc:ProjectConfiguration) outputType (targetFramewo "FSharp.Core" (Path.GetFullPath(__SOURCE_DIRECTORY__) + "/../../artifacts/bin/" + compiler + "/" + configuration + "/netstandard2.0/FSharp.Core.dll") + let langver, options = + match languageVersion with + | "supports-ml" -> "5.0", "--mlcompatibility" + | v -> v, "" + let computeSourceItems addDirectory addCondition (compileItem:CompileItem) sources = let computeInclude src = let fileName = if addDirectory then Path.Combine(pc.SourceDirectory, src) else src @@ -142,6 +147,7 @@ let generateProjectArtifacts (pc:ProjectConfiguration) outputType (targetFramewo $(DEBUG) portable $(LANGUAGEVERSION) + $(OTHERFLAGS) $(OPTIMIZE) false NETCOREAPP @@ -196,7 +202,8 @@ let generateProjectArtifacts (pc:ProjectConfiguration) outputType (targetFramewo |> replaceTokens "$(OPTIMIZE)" optimize |> replaceTokens "$(DEBUG)" debug |> replaceTokens "$(TARGETFRAMEWORK)" targetFramework - |> replaceTokens "$(LANGUAGEVERSION)" languageVersion + |> replaceTokens "$(LANGUAGEVERSION)" langver + |> replaceTokens "$(OTHERFLAGS)" options |> replaceTokens "$(RestoreFromArtifactsPath)" (Path.GetFullPath(__SOURCE_DIRECTORY__) + "/../../artifacts/packages/" + configuration) generateProjBody @@ -376,10 +383,17 @@ let singleTestBuildAndRunVersion dir p version = let singleVersionedNegTest (cfg: TestConfig) version testname = + let options = + match version with + | "supports-ml" -> "--langversion:5.0 --mlcompatibility" + | "supports-ml*" -> "--mlcompatibility" + | v when not (String.IsNullOrEmpty(v)) -> $"--langversion:{v}" + | _ -> "" + let cfg = { cfg with - fsc_flags = sprintf "%s %s --preferreduilang:en-US --define:NEGATIVE" cfg.fsc_flags (if not (String.IsNullOrEmpty(version)) then "--langversion:" + version else "") - fsi_flags = sprintf "%s --preferreduilang:en-US %s" cfg.fsi_flags (if not (String.IsNullOrEmpty(version)) then "--langversion:" + version else "") + fsc_flags = sprintf "%s %s --preferreduilang:en-US --define:NEGATIVE" cfg.fsc_flags options + fsi_flags = sprintf "%s --preferreduilang:en-US %s" cfg.fsi_flags options } // REM == Set baseline (fsc vs vs, in case the vs baseline exists) diff --git a/tests/fsharp/tests.fs b/tests/fsharp/tests.fs index 3422922c449..58dab43e046 100644 --- a/tests/fsharp/tests.fs +++ b/tests/fsharp/tests.fs @@ -299,22 +299,22 @@ module CoreTests = let ``members-factors-mutrec-FSI`` () = singleTestBuildAndRun "core/members/factors-mutrec" FSI [] - let ``graph-FSC_DEBUG`` () = singleTestBuildAndRun "perf/graph" FSC_DEBUG + let ``graph-FSC_DEBUG`` () = singleTestBuildAndRunVersion "perf/graph" FSC_DEBUG "supports-ml" [] - let ``graph-FSC_OPTIMIZED`` () = singleTestBuildAndRun "perf/graph" FSC_OPTIMIZED + let ``graph-FSC_OPTIMIZED`` () = singleTestBuildAndRunVersion "perf/graph" FSC_OPTIMIZED "supports-ml" [] - let ``graph-FSI`` () = singleTestBuildAndRun "perf/graph" FSI + let ``graph-FSI`` () = singleTestBuildAndRunVersion "perf/graph" FSI "supports-ml" [] - let ``nbody-FSC_DEBUG`` () = singleTestBuildAndRun "perf/nbody" FSC_DEBUG + let ``nbody-FSC_DEBUG`` () = singleTestBuildAndRunVersion "perf/nbody" FSC_DEBUG "supports-ml" [] - let ``nbody-FSC_OPTIMIZED`` () = singleTestBuildAndRun "perf/nbody" FSC_OPTIMIZED + let ``nbody-FSC_OPTIMIZED`` () = singleTestBuildAndRunVersion "perf/nbody" FSC_OPTIMIZED "supports-ml" [] - let ``nbody-FSI`` () = singleTestBuildAndRun "perf/nbody" FSI + let ``nbody-FSI`` () = singleTestBuildAndRunVersion "perf/nbody" FSI "supports-ml" [] let ``forexpression-FSC_DEBUG`` () = singleTestBuildAndRun "core/forexpression" FSC_DEBUG @@ -939,7 +939,7 @@ module CoreTests = begin use testOkFile = fileguard cfg "test.ok" - fsiStdin cfg "test1.ml" "--maxerrors:1" [] + fsiStdin cfg "test1.ml" " --langversion:5.0 --mlcompatibility --maxerrors:1" [] testOkFile.CheckExists() end @@ -981,15 +981,15 @@ module CoreTests = let hiding () = let cfg = testConfig "core/hiding" - fsc cfg "%s -a --optimize -o:lib.dll" cfg.fsc_flags ["lib.mli";"lib.ml";"libv.ml"] + fsc cfg "%s -a --optimize --langversion:5.0 --mlcompatibility -o:lib.dll" cfg.fsc_flags ["lib.mli";"lib.ml";"libv.ml"] peverify cfg "lib.dll" - fsc cfg "%s -a --optimize -r:lib.dll -o:lib2.dll" cfg.fsc_flags ["lib2.mli";"lib2.ml";"lib3.ml"] + fsc cfg "%s -a --optimize --langversion:5.0 --mlcompatibility -r:lib.dll -o:lib2.dll" cfg.fsc_flags ["lib2.mli";"lib2.ml";"lib3.ml"] peverify cfg "lib2.dll" - fsc cfg "%s --optimize -r:lib.dll -r:lib2.dll -o:client.exe" cfg.fsc_flags ["client.ml"] + fsc cfg "%s --optimize --langversion:5.0 --mlcompatibility -r:lib.dll -r:lib2.dll -o:client.exe" cfg.fsc_flags ["client.ml"] peverify cfg "client.exe" @@ -1262,9 +1262,9 @@ module CoreTests = let parsing () = let cfg = testConfig "core/parsing" - fsc cfg "%s -a -o:crlf.dll -g" cfg.fsc_flags ["crlf.ml"] + fsc cfg "%s -a --langversion:5.0 --mlcompatibility -o:crlf.dll -g" cfg.fsc_flags ["crlf.ml"] - fsc cfg "%s -o:toplet.exe -g" cfg.fsc_flags ["toplet.ml"] + fsc cfg "%s --langversion:5.0 --mlcompatibility -o:toplet.exe -g" cfg.fsc_flags ["toplet.ml"] peverify cfg "toplet.exe" @@ -1298,7 +1298,7 @@ module CoreTests = let cfg = testConfig "core/internalsvisible" // Compiling F# Library - fsc cfg "%s --version:1.2.3 --keyfile:key.snk -a --optimize -o:library.dll" cfg.fsc_flags ["library.fsi"; "library.fs"] + fsc cfg "%s --version:1.2.3 --keyfile:key.snk --langversion:5.0 --mlcompatibility -a --optimize -o:library.dll" cfg.fsc_flags ["library.fsi"; "library.fs"] peverify cfg "library.dll" @@ -1308,7 +1308,7 @@ module CoreTests = peverify cfg "librarycs.dll" // Compiling F# main referencing C# and F# libraries - fsc cfg "%s --version:1.2.3 --keyfile:key.snk --optimize -r:library.dll -r:librarycs.dll -o:main.exe" cfg.fsc_flags ["main.fs"] + fsc cfg "%s --version:1.2.3 --keyfile:key.snk --optimize --langversion:5.0 --mlcompatibility -r:library.dll -r:librarycs.dll -o:main.exe" cfg.fsc_flags ["main.fs"] peverify cfg "main.exe" @@ -1882,19 +1882,19 @@ module CoreTests = let testResources () = let cfg = testConfig "core/resources" - fsc cfg "%s --resource:Resources.resources -o:test-embed.exe -g" cfg.fsc_flags ["test.fs"] + fsc cfg "%s --langversion:5.0 --mlcompatibility --resource:Resources.resources -o:test-embed.exe -g" cfg.fsc_flags ["test.fs"] peverify cfg "test-embed.exe" - fsc cfg "%s --linkresource:Resources.resources -o:test-link.exe -g" cfg.fsc_flags ["test.fs"] + fsc cfg "%s --langversion:5.0 --mlcompatibility --linkresource:Resources.resources -o:test-link.exe -g" cfg.fsc_flags ["test.fs"] peverify cfg "test-link.exe" - fsc cfg "%s --resource:Resources.resources,ResourceName.resources -o:test-embed-named.exe -g" cfg.fsc_flags ["test.fs"] + fsc cfg "%s --langversion:5.0 --mlcompatibility --resource:Resources.resources,ResourceName.resources -o:test-embed-named.exe -g" cfg.fsc_flags ["test.fs"] peverify cfg "test-embed-named.exe" - fsc cfg "%s --linkresource:Resources.resources,ResourceName.resources -o:test-link-named.exe -g" cfg.fsc_flags ["test.fs"] + fsc cfg "%s --langversion:5.0 --mlcompatibility --linkresource:Resources.resources,ResourceName.resources -o:test-link-named.exe -g" cfg.fsc_flags ["test.fs"] peverify cfg "test-link-named.exe" @@ -1950,13 +1950,13 @@ module CoreTests = peverify cfg "app69514-withsig.exe" - fsc cfg "%s -o:lib.dll -a -g" cfg.fsc_flags ["lib.ml"] + fsc cfg "%s -o:lib.dll -a --langversion:5.0 --mlcompatibility -g" cfg.fsc_flags ["lib.ml"] peverify cfg "lib.dll" csc cfg """/nologo /r:"%s" /r:lib.dll /out:test.exe """ cfg.FSCOREDLLPATH ["test.cs"] - fsc cfg "%s --optimize -o:lib--optimize.dll -a -g" cfg.fsc_flags ["lib.ml"] + fsc cfg "%s --optimize -o:lib--optimize.dll -a --langversion:5.0 --mlcompatibility -g" cfg.fsc_flags ["lib.ml"] peverify cfg "lib--optimize.dll" @@ -2111,19 +2111,19 @@ module ToolsTests = let cfg = testConfig "tools/bundle" - fsc cfg "%s --progress --standalone -o:test-one-fsharp-module.exe -g" cfg.fsc_flags ["test-one-fsharp-module.fs"] + fsc cfg "%s --progress --langversion:5.0 --mlcompatibility --standalone -o:test-one-fsharp-module.exe -g" cfg.fsc_flags ["test-one-fsharp-module.fs"] peverify cfg "test-one-fsharp-module.exe" - fsc cfg "%s -a -o:test_two_fsharp_modules_module_1.dll -g" cfg.fsc_flags ["test_two_fsharp_modules_module_1.fs"] + fsc cfg "%s -a --langversion:5.0 --mlcompatibility -o:test_two_fsharp_modules_module_1.dll -g" cfg.fsc_flags ["test_two_fsharp_modules_module_1.fs"] peverify cfg "test_two_fsharp_modules_module_1.dll" - fsc cfg "%s --standalone -r:test_two_fsharp_modules_module_1.dll -o:test_two_fsharp_modules_module_2.exe -g" cfg.fsc_flags ["test_two_fsharp_modules_module_2.fs"] + fsc cfg "%s --langversion:5.0 --mlcompatibility --standalone -r:test_two_fsharp_modules_module_1.dll -o:test_two_fsharp_modules_module_2.exe -g" cfg.fsc_flags ["test_two_fsharp_modules_module_2.fs"] peverify cfg "test_two_fsharp_modules_module_2.exe" - fsc cfg "%s -a --standalone -r:test_two_fsharp_modules_module_1.dll -o:test_two_fsharp_modules_module_2_as_dll.dll -g" cfg.fsc_flags ["test_two_fsharp_modules_module_2.fs"] + fsc cfg "%s -a --langversion:5.0 --mlcompatibility --standalone -r:test_two_fsharp_modules_module_1.dll -o:test_two_fsharp_modules_module_2_as_dll.dll -g" cfg.fsc_flags ["test_two_fsharp_modules_module_2.fs"] peverify cfg "test_two_fsharp_modules_module_2_as_dll.dll" #endif @@ -2152,7 +2152,7 @@ module RegressionTests = let ``struct-tuple-bug-1-FSC_OPTIMIZED`` () = singleTestBuildAndRun "regression/struct-tuple-bug-1" FSC_OPTIMIZED [] - let ``tuple-bug-1-FSC_OPTIMIZED`` () = singleTestBuildAndRun "regression/tuple-bug-1" FSC_OPTIMIZED + let ``tuple-bug-1-FSC_OPTIMIZED`` () = singleTestBuildAndRunVersion "regression/tuple-bug-1" FSC_OPTIMIZED "supports-ml" [] let ``12383-FSC_OPTIMIZED`` () = singleTestBuildAndRun "regression/12383" FSC_OPTIMIZED @@ -2262,10 +2262,10 @@ module RegressionTests = #endif [] - let ``26`` () = singleTestBuildAndRun "regression/26" FSC_OPTIMIZED + let ``26`` () = singleTestBuildAndRunVersion "regression/26" FSC_OPTIMIZED "supports-ml" [] - let ``321`` () = singleTestBuildAndRun "regression/321" FSC_OPTIMIZED + let ``321`` () = singleTestBuildAndRunVersion "regression/321" FSC_OPTIMIZED "supports-ml" #if !NETCOREAPP // This test is disabled in coreclr builds dependent on fixing : https://github.com/dotnet/fsharp/issues/2600 @@ -2273,11 +2273,11 @@ module RegressionTests = let ``655`` () = let cfg = testConfig "regression/655" - fsc cfg "%s -a -o:pack.dll" cfg.fsc_flags ["xlibC.ml"] + fsc cfg "%s --langversion:5.0 --mlcompatibility -a -o:pack.dll" cfg.fsc_flags ["xlibC.ml"] peverify cfg "pack.dll" - fsc cfg "%s -o:test.exe -r:pack.dll" cfg.fsc_flags ["main.fs"] + fsc cfg "%s --langversion:5.0 --mlcompatibility -o:test.exe -r:pack.dll" cfg.fsc_flags ["main.fs"] peverify cfg "test.exe" @@ -2292,7 +2292,7 @@ module RegressionTests = let ``656`` () = let cfg = testConfig "regression/656" - fsc cfg "%s -o:pack.exe" cfg.fsc_flags ["misc.fs mathhelper.fs filehelper.fs formshelper.fs plot.fs traj.fs playerrecord.fs trackedplayers.fs form.fs"] + fsc cfg "%s --langversion:5.0 --mlcompatibility -o:pack.exe" cfg.fsc_flags ["misc.fs mathhelper.fs filehelper.fs formshelper.fs plot.fs traj.fs playerrecord.fs trackedplayers.fs form.fs"] peverify cfg "pack.exe" #endif @@ -2300,22 +2300,22 @@ module RegressionTests = #if !NETCOREAPP // Requires WinForms [] - let ``83`` () = singleTestBuildAndRun "regression/83" FSC_OPTIMIZED + let ``83`` () = singleTestBuildAndRunVersion "regression/83" FSC_OPTIMIZED "supports-ml" [] - let ``84`` () = singleTestBuildAndRun "regression/84" FSC_OPTIMIZED + let ``84`` () = singleTestBuildAndRunVersion "regression/84" FSC_OPTIMIZED "supports-ml" [] let ``85`` () = let cfg = testConfig "regression/85" - fsc cfg "%s -r:Category.dll -a -o:petshop.dll" cfg.fsc_flags ["Category.ml"] + fsc cfg "%s --langversion:5.0 --mlcompatibility -r:Category.dll -a -o:petshop.dll" cfg.fsc_flags ["Category.ml"] peverify cfg "petshop.dll" #endif [] - let ``86`` () = singleTestBuildAndRun "regression/86" FSC_OPTIMIZED + let ``86`` () = singleTestBuildAndRunVersion "regression/86" FSC_OPTIMIZED "supports-ml" [] let ``struct-tuple-bug-1-FSI`` () = singleTestBuildAndRun "regression/struct-tuple-bug-1" FSI @@ -2472,7 +2472,7 @@ module TypecheckTests = SingleTest.singleTestBuildAndRunWithCopyDlls cfg "full-rank-arrays.dll" FSC_OPTIMIZED [] - let misc () = singleTestBuildAndRun "typecheck/misc" FSC_OPTIMIZED + let misc () = singleTestBuildAndRunVersion "typecheck/misc" FSC_OPTIMIZED "supports-ml" #if !NETCOREAPP @@ -2697,7 +2697,7 @@ module TypecheckTests = [] let ``sigs pos01a`` () = let cfg = testConfig "typecheck/sigs" - fsc cfg "%s -a -o:pos01a.dll" cfg.fsc_flags ["pos01a.fsi"; "pos01a.fs"] + fsc cfg "%s -a --langversion:5.0 --mlcompatibility -o:pos01a.dll" cfg.fsc_flags ["pos01a.fsi"; "pos01a.fs"] peverify cfg "pos01a.dll" [] @@ -2715,10 +2715,10 @@ module TypecheckTests = let ``type check neg01`` () = singleNegTest (testConfig "typecheck/sigs") "neg01" [] - let ``type check neg02`` () = singleNegTest (testConfig "typecheck/sigs") "neg02" + let ``type check neg02`` () = singleVersionedNegTest (testConfig "typecheck/sigs") "6.0" "neg02" [] - let ``type check neg03`` () = singleNegTest (testConfig "typecheck/sigs") "neg03" + let ``type check neg03`` () = singleVersionedNegTest (testConfig "typecheck/sigs") "supports-ml*" "neg03" [] let ``type check neg04`` () = singleNegTest (testConfig "typecheck/sigs") "neg04" @@ -3103,7 +3103,10 @@ module TypecheckTests = let ``type check neg118`` () = singleNegTest (testConfig "typecheck/sigs") "neg118" [] - let ``type check neg119`` () = singleNegTest (testConfig "typecheck/sigs") "neg119" + let ``type check neg119a`` () = singleVersionedNegTest (testConfig "typecheck/sigs") "6.0" "neg119a" + + [] + let ``type check neg119b`` () = singleVersionedNegTest (testConfig "typecheck/sigs") "7.0" "neg119b" [] let ``type check neg120`` () = singleNegTest (testConfig "typecheck/sigs") "neg120" diff --git a/tests/fsharp/typecheck/sigs/neg02.vsbsl b/tests/fsharp/typecheck/sigs/neg02.vsbsl index 914fb1c02a6..46e4ce5cb46 100644 --- a/tests/fsharp/typecheck/sigs/neg02.vsbsl +++ b/tests/fsharp/typecheck/sigs/neg02.vsbsl @@ -5,6 +5,6 @@ neg02.fs(6,8,6,15): parse error FS0010: Unexpected identifier in member definiti neg02.fs(17,21,17,26): typecheck error FS3351: Feature 'static abstract interface members' is not supported by target runtime. -neg02.fs(17,21,17,26): typecheck error FS3350: Feature 'static abstract interface members' is not available in F# 6.0. Please use language version 'PREVIEW' or greater. +neg02.fs(17,21,17,26): typecheck error FS3350: Feature 'static abstract interface members' is not available in F# 6.0. Please use language version 7.0 or greater. neg02.fs(17,21,17,24): typecheck error FS0855: No abstract or interface member was found that corresponds to this override diff --git a/tests/fsharp/typecheck/sigs/neg116.bsl b/tests/fsharp/typecheck/sigs/neg116.bsl index 9bd22489ddc..5acda959ee3 100644 --- a/tests/fsharp/typecheck/sigs/neg116.bsl +++ b/tests/fsharp/typecheck/sigs/neg116.bsl @@ -1,10 +1,10 @@ -neg116.fs(10,44,10,45): typecheck error FS0043: No overloads match for method 'op_Multiply'. +neg116.fs(10,34,10,47): ilxgen error FS0041: No overloads match for method 'op_Multiply'. -Known return type: ^a +Known return type: 'a -Known type parameters: < float , Polynomial > +Known type parameters: < Microsoft.FSharp.Core.float , Neg116.Polynomial > Available overloads: - - static member Polynomial.( * ) : s: Complex * p: Polynomial -> Polynomial // Argument 's' doesn't match - - static member Polynomial.( * ) : s: decimal * p: Polynomial -> Polynomial // Argument 's' doesn't match + - static member Neg116.Polynomial.( * ) : s: Microsoft.FSharp.Core.decimal * p: Neg116.Polynomial -> Neg116.Polynomial // Argument 's' doesn't match + - static member Neg116.Polynomial.( * ) : s: Neg116.Complex * p: Neg116.Polynomial -> Neg116.Polynomial // Argument 's' doesn't match diff --git a/tests/fsharp/typecheck/sigs/neg119.bsl b/tests/fsharp/typecheck/sigs/neg119a.bsl similarity index 80% rename from tests/fsharp/typecheck/sigs/neg119.bsl rename to tests/fsharp/typecheck/sigs/neg119a.bsl index ffd7087e301..58a84ff82a8 100644 --- a/tests/fsharp/typecheck/sigs/neg119.bsl +++ b/tests/fsharp/typecheck/sigs/neg119a.bsl @@ -1,5 +1,5 @@ -neg119.fs(40,20,40,22): typecheck error FS0071: Type constraint mismatch when applying the default type 'obj' for a type inference variable. No overloads match for method 'Return'. +neg119a.fs(40,20,40,22): typecheck error FS0071: Type constraint mismatch when applying the default type 'obj' for a type inference variable. No overloads match for method 'Return'. Known return type: ((int -> int -> int) -> obj) diff --git a/tests/fsharp/typecheck/sigs/neg119.fs b/tests/fsharp/typecheck/sigs/neg119a.fs similarity index 100% rename from tests/fsharp/typecheck/sigs/neg119.fs rename to tests/fsharp/typecheck/sigs/neg119a.fs diff --git a/tests/fsharp/typecheck/sigs/neg119b.bsl b/tests/fsharp/typecheck/sigs/neg119b.bsl new file mode 100644 index 00000000000..e5edc502670 --- /dev/null +++ b/tests/fsharp/typecheck/sigs/neg119b.bsl @@ -0,0 +1,4 @@ + +neg119b.fs(40,9,40,17): typecheck error FS0030: Value restriction. The value 'res2n3n4' has been inferred to have generic type + val res2n3n4: ^_a when (^_b or Applicatives.ZipList or ^_a) : (static member (<*>) : ^_b * Applicatives.ZipList -> ^_a) and (^_c or obj or ^_b) : (static member (<*>) : ^_c * obj -> ^_b) and (Applicatives.Ap or ^_c) : (static member Return: ^_c * Applicatives.Ap -> ((int -> int -> int) -> ^_c)) +Either define 'res2n3n4' as a simple data term, make it a function with explicit arguments or, if you do not intend for it to be generic, add a type annotation. diff --git a/tests/fsharp/typecheck/sigs/neg119b.fs b/tests/fsharp/typecheck/sigs/neg119b.fs new file mode 100644 index 00000000000..46d64d49395 --- /dev/null +++ b/tests/fsharp/typecheck/sigs/neg119b.fs @@ -0,0 +1,40 @@ +module Neg119 + +// This is an example provided by Gustavo Leon in https://github.com/dotnet/fsharp/pull/4173 +// The code is potentially valid and, if that PR had been accepted, would compile. +// It's being added as a negative test case to capture the fact that it currently +// fails to compile. + +module Applicatives = + open System + + type Ap = Ap with + static member inline Invoke (x:'T) : '``Applicative<'T>`` = + let inline call (mthd : ^M, output : ^R) = ((^M or ^R) : (static member Return: _*_ -> _) output, mthd) + call (Ap, Unchecked.defaultof<'``Applicative<'T>``>) x + static member inline InvokeOnInstance (x:'T) = (^``Applicative<'T>`` : (static member Return: ^T -> ^``Applicative<'T>``) x) + static member inline Return (r:'R , _:obj) = Ap.InvokeOnInstance :_ -> 'R + static member Return (_:seq<'a> , Ap ) = fun x -> Seq.singleton x : seq<'a> + static member Return (_:Tuple<'a>, Ap ) = fun x -> Tuple x : Tuple<'a> + static member Return (_:'r -> 'a , Ap ) = fun k _ -> k : 'a -> 'r -> _ + + let inline result (x:'T) = Ap.Invoke x + + let inline (<*>) (f:'``Applicative<'T->'U>``) (x:'``Applicative<'T>``) : '``Applicative<'U>`` = + (( ^``Applicative<'T->'U>`` or ^``Applicative<'T>`` or ^``Applicative<'U>``) : (static member (<*>): _*_ -> _) f, x) + + let inline (+) (a:'Num) (b:'Num) :'Num = a + b + + type ZipList<'s> = ZipList of 's seq with + static member Return (x:'a) = ZipList (Seq.initInfinite (fun _ -> x)) + static member (<*>) (ZipList (f:seq<'a->'b>), ZipList x) = ZipList (Seq.zip f x |> Seq.map (fun (f, x) -> f x)) :ZipList<'b> + + type Ii = Ii + type Idiomatic = Idiomatic with + static member inline ($) (Idiomatic, si) = fun sfi x -> (Idiomatic $ x) (sfi <*> si) + static member ($) (Idiomatic, Ii) = id + let inline idiomatic a b = (Idiomatic $ b) a + let inline iI x = (idiomatic << result) x + + let res1n2n3 = iI (+) (result 0M ) (ZipList [1M;2M;3M]) Ii + let res2n3n4 = iI (+) (result LanguagePrimitives.GenericOne) (ZipList [1 ;2 ;3 ]) Ii diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/langversion/langversionhelp.437.1033.bsl b/tests/fsharpqa/Source/CompilerOptions/fsc/langversion/langversionhelp.437.1033.bsl index d8234d15843..2e3e65520ac 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/langversion/langversionhelp.437.1033.bsl +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/langversion/langversionhelp.437.1033.bsl @@ -6,4 +6,5 @@ latestmajor 4.6 4.7 5.0 -6.0 (Default) \ No newline at end of file +6.0 +7.0 (Default) \ No newline at end of file diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/langversionhelp.437.1033.bsl b/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/langversionhelp.437.1033.bsl index d8234d15843..2e3e65520ac 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/langversionhelp.437.1033.bsl +++ b/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/langversionhelp.437.1033.bsl @@ -6,4 +6,5 @@ latestmajor 4.6 4.7 5.0 -6.0 (Default) \ No newline at end of file +6.0 +7.0 (Default) \ No newline at end of file diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ComputationExpressions/env.lst b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ComputationExpressions/env.lst index ad4c32d6e78..238632d2bc7 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ComputationExpressions/env.lst +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ComputationExpressions/env.lst @@ -1,6 +1,6 @@ - SOURCE=CombineResults01.fs SCFLAGS=-a # CombineResults01.fs - SOURCE=ForLoop01.fs # ForLoop01.fs - SOURCE=Regressions01.fs # Regressions01.fs + SOURCE=CombineResults01.fs SCFLAGS=-a --langversion:5.0 --mlcompatibility # CombineResults01.fs + SOURCE=ForLoop01.fs SCFLAGS=--langversion:5.0 --mlcompatibility # ForLoop01.fs + SOURCE=Regressions01.fs SCFLAGS=--langversion:5.0 --mlcompatibility # Regressions01.fs SOURCE=MinMaxValuesInLoop01.fs # MinMaxValuesInLoop01.fs SOURCE=MinMaxValuesInLoop02.fs # MinMaxValuesInLoop02.fs diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/NamespacesFragmentsAndImplementationFiles/global/env.lst b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/NamespacesFragmentsAndImplementationFiles/global/env.lst index 7ca75fe1902..1e785f64c22 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/NamespacesFragmentsAndImplementationFiles/global/env.lst +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/NamespacesFragmentsAndImplementationFiles/global/env.lst @@ -2,7 +2,7 @@ NoMT SOURCE=FSharpImportCSharp.fs PRECMD="\$CSC_PIPE /t:library CSharpDll.cs" SC SOURCE=MiscNegativeTests.fs SCFLAGS="--test:ErrorRanges" # MiscNegativeTests.fs SOURCE=AsPrefix.fsx SCFLAGS="--test:ErrorRanges" # AsPrefix.fsx - SOURCE=E_Abbreviation.fsx SCFLAGS="--test:ErrorRanges" # E_Abbreviation.fsx + SOURCE=E_Abbreviation.fsx SCFLAGS="--langversion:5.0 --test:ErrorRanges" # E_Abbreviation.fsx SOURCE=E_AsATypeInFunctionDecl.fsx SCFLAGS="--test:ErrorRanges" # E_AsATypeInFunctionDecl.fsx SOURCE=E_AsModuleName.fsx SCFLAGS="--test:ErrorRanges" # E_AsModuleName.fsx diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/RequireQualifiedAccess/env.lst b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/RequireQualifiedAccess/env.lst index 69673ec37a1..ee88eeb11ef 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/RequireQualifiedAccess/env.lst +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/RequireQualifiedAccess/env.lst @@ -9,4 +9,4 @@ SOURCE=OnRecordVsUnion_NoRQA.fs # OnRecordVsUnion_NoRQA.fs SOURCE=OnRecordVsUnion_NoRQA2.fs # OnRecordVsUnion_NoRQA2.fs SOURCE=OnUnionWithCaseOfSameName.fs # OnUnionWithCaseOfSameName.fs - SOURCE=OnUnionWithCaseOfSameName2.fs # OnUnionWithCaseOfSameName2.fs + SOURCE=OnUnionWithCaseOfSameName2.fs SCFLAGS=--langversion:6.0 # OnUnionWithCaseOfSameName2.fs diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/env.lst b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/env.lst index b8388cdb3f3..defbbf4e3b9 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/env.lst +++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/env.lst @@ -5,14 +5,14 @@ ##### - SOURCE=indent_off_01.fs SCFLAGS="--warnaserror --mlcompatibility" # indent_off_01.fs - SOURCE=indent_off_01.fsi # indent_off_01.fsi - SOURCE=indent_off_01.fsx # indent_off_01.fsx - SOURCE=indent_off_01.fsscript # indent_off_01.fsscript - SOURCE=indent_off_after_comment01.fs SCFLAGS="-a --warnaserror --mlcompatibility" # indent_off_after_comment01.fs + SOURCE=indent_off_01.fs SCFLAGS=--langversion:5.0 --mlcompatibility # indent_off_01.fs + SOURCE=indent_off_01.fsi SCFLAGS=--langversion:5.0 --mlcompatibility # indent_off_01.fsi + SOURCE=indent_off_01.fsx SCFLAGS=--langversion:5.0 --mlcompatibility # indent_off_01.fsx + SOURCE=indent_off_01.fsscript SCFLAGS=--langversion:5.0 --mlcompatibility # indent_off_01.fsscript + SOURCE=indent_off_after_comment01.fs SCFLAGS="-a --langversion:5.0 --mlcompatibility" # indent_off_after_comment01.fs SOURCE=First_Non_Comment_Text01.fs # First_Non_Comment_Text01.fs - SOURCE=light_off_01.fs SCFLAGS="--warnaserror --mlcompatibility" # light_off_01.fs + SOURCE=light_off_01.fs SCFLAGS="--warnaserror --mlcompatibility --langversion:5.0" # light_off_01.fs NoMT SOURCE=default_in_fsi01.fs COMPILE_ONLY=1 FSIMODE=PIPE # default_in_fsi01.fs NoMT SOURCE=default_in_fsi02.fs COMPILE_ONLY=1 FSIMODE=EXEC # default_in_fsi02.fs diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/env.lst b/tests/fsharpqa/Source/Diagnostics/NONTERM/env.lst index a6aa35ba77f..676d5fb9969 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/env.lst +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/env.lst @@ -17,11 +17,11 @@ NoMT SOURCE=fileModuleImpl03b.fs FSIMODE=PIPE COMPILE_ONLY=1 # fileModuleImpl SOURCE=typ01.fs SCFLAGS="--test:ErrorRanges" # typ01.fs SOURCE=typ01b.fs SCFLAGS="--test:ErrorRanges" # typ01b.fs - SOURCE=quoteExpr01.fs SCFLAGS="--test:ErrorRanges" # quoteExpr01.fs - SOURCE=quoteExpr01b.fs SCFLAGS="--test:ErrorRanges" # quoteExpr01b.fs + SOURCE=quoteExpr01.fs SCFLAGS="--langversion:5.0 --mlcompatibility --test:ErrorRanges" # quoteExpr01.fs + SOURCE=quoteExpr01b.fs SCFLAGS="--langversion:5.0 --mlcompatibility --test:ErrorRanges" # quoteExpr01b.fs - SOURCE=braceExpr01.fs SCFLAGS="--test:ErrorRanges" # braceExpr01.fs - SOURCE=braceExpr01b.fs SCFLAGS="--test:ErrorRanges" # braceExpr01b.fs + SOURCE=braceExpr01.fs SCFLAGS="--langversion:5.0 --mlcompatibility --test:ErrorRanges" # braceExpr01.fs + SOURCE=braceExpr01b.fs SCFLAGS="--langversion:5.0 --mlcompatibility --test:ErrorRanges" # braceExpr01b.fs SOURCE=fileModuleImpl01.fs SCFLAGS="--test:ErrorRanges" # fileModuleImpl01.fs @@ -32,8 +32,6 @@ NoMT SOURCE=fileModuleImpl03b.fs FSIMODE=PIPE COMPILE_ONLY=1 # fileModuleImpl SOURCE=typedSeqExprBlock01.fs SCFLAGS="--test:ErrorRanges" # typedSeqExprBlock01.fs SOURCE=typedSeqExprBlock02.fs SCFLAGS="--test:ErrorRanges" # typedSeqExprBlock02.fs - SOURCE=declExpr01.fs SCFLAGS="--test:ErrorRanges" # declExpr01.fs - SOURCE=interactiveExprOrDefinitionsTerminator01.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator01.fs SOURCE=interactiveExprOrDefinitionsTerminator02.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator02.fs SOURCE=interactiveExprOrDefinitionsTerminator03.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator03.fs @@ -47,15 +45,16 @@ NoMT SOURCE=fileModuleImpl03b.fs FSIMODE=PIPE COMPILE_ONLY=1 # fileModuleImpl # This is an artifact to deal with the current harness: there is not reason we could not do 1 verification at once... SOURCE=fileModuleImpl01b.fs SCFLAGS="--nowarn:62" # fileModuleImpl01b.fs - SOURCE=monadicExprNonEmptyInitial01b.fs # monadicExprNonEmptyInitial01b.fs + SOURCE=monadicExprNonEmptyInitial01b.fs # monadicExprNonEmptyInitial01b.fs SOURCE=monadicPatternClauses01b.fs # monadicPatternClauses01b.fs - SOURCE=typedSeqExprBlock01b.fs # typedSeqExprBlock01b.fs + SOURCE=typedSeqExprBlock01b.fs SCFLAGS="--langversion:5.0 --mlcompatibility" # typedSeqExprBlock01b.fs SOURCE=typedSeqExprBlock02b.fs # typedSeqExprBlock02b.fs - SOURCE=declExpr01b.fs SCFLAGS="--test:ErrorRanges" # declExpr01b.fs + SOURCE=declExpr01.fs SCFLAGS="--test:ErrorRanges" # declExpr01.fs + SOURCE=declExpr01b.fs SCFLAGS="--langversion:5.0 --mlcompatibility --test:ErrorRanges" # declExpr01b.fs - SOURCE=interactiveExprOrDefinitionsTerminator01b.fs # interactiveExprOrDefinitionsTerminator01b.fs + SOURCE=interactiveExprOrDefinitionsTerminator01b.fs # interactiveExprOrDefinitionsTerminator01b.fs SOURCE=interactiveExprOrDefinitionsTerminator02b.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator02b.fs SOURCE=interactiveExprOrDefinitionsTerminator03b.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator03b.fs SOURCE=interactiveExprOrDefinitionsTerminator04b.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator04b.fs diff --git a/tests/fsharpqa/Source/InteractiveSession/Misc/E_load_badextension.fsx b/tests/fsharpqa/Source/InteractiveSession/Misc/E_load_badextension.fsx index 09e5e6cc62a..1e8cc8b61e3 100644 --- a/tests/fsharpqa/Source/InteractiveSession/Misc/E_load_badextension.fsx +++ b/tests/fsharpqa/Source/InteractiveSession/Misc/E_load_badextension.fsx @@ -2,4 +2,4 @@ () -//The file extension of '.+\\dummy\.txt' is not recognized\. Source files must have extension \.fs, \.fsi, \.fsx, \.fsscript, \.ml or \.mli\.$ \ No newline at end of file +//The file extension of '.+\\dummy\.txt' is not recognized\. Source files must have extension \.fs, \.fsi, \.fsx or \.fsscript$ \ No newline at end of file diff --git a/tests/service/Common.fs b/tests/service/Common.fs index b683dd9dce1..fe50b7b5a8e 100644 --- a/tests/service/Common.fs +++ b/tests/service/Common.fs @@ -184,6 +184,7 @@ let parseAndCheckScriptWithOptions (file:string, input, opts) = let parseAndCheckScript (file, input) = parseAndCheckScriptWithOptions (file, input, [| |]) let parseAndCheckScript50 (file, input) = parseAndCheckScriptWithOptions (file, input, [| "--langversion:5.0" |]) +let parseAndCheckScript70 (file, input) = parseAndCheckScriptWithOptions (file, input, [| "--langversion:7.0" |]) let parseAndCheckScriptPreview (file, input) = parseAndCheckScriptWithOptions (file, input, [| "--langversion:preview" |]) let parseSourceCode (name: string, code: string) = @@ -355,6 +356,9 @@ let getParseAndCheckResultsPreview (source: string) = let getParseAndCheckResults50 (source: string) = parseAndCheckScript50("Test.fsx", source) +let getParseAndCheckResults70 (source: string) = + parseAndCheckScript70("Test.fsx", source) + let inline dumpDiagnostics (results: FSharpCheckFileResults) = results.Diagnostics diff --git a/tests/service/ExprTests.fs b/tests/service/ExprTests.fs index 69b4cf1fcb3..428e08d96e1 100644 --- a/tests/service/ExprTests.fs +++ b/tests/service/ExprTests.fs @@ -3263,7 +3263,7 @@ let f7() = callXY (C()) (D()) let f8() = callXY (D()) (C()) """ - let createOptions() = createOptionsAux [fileSource1] ["--langversion:preview"] + let createOptions() = createOptionsAux [fileSource1] ["--langversion:7.0"] [] let ``Test ProjectForWitnesses1`` () = @@ -3387,7 +3387,7 @@ type MyNumberWrapper = { MyNumber: MyNumber } """ - let createOptions() = createOptionsAux [fileSource1] ["--langversion:preview"] + let createOptions() = createOptionsAux [fileSource1] ["--langversion:7.0"] [] let ``Test ProjectForWitnesses2`` () = @@ -3442,11 +3442,11 @@ let s2 = sign p1 """ - let createOptions() = createOptionsAux [fileSource1] ["--langversion:preview"] + let createOptions() = createOptionsAux [fileSource1] ["--langversion:7.0"] [] let ``Test ProjectForWitnesses3`` () = - let cleanup, options = createOptionsAux [ ProjectForWitnesses3.fileSource1 ] ["--langversion:preview"] + let cleanup, options = createOptionsAux [ ProjectForWitnesses3.fileSource1 ] ["--langversion:7.0"] use _holder = cleanup let exprChecker = FSharpChecker.Create(keepAssemblyContents=true) let wholeProjectResults = exprChecker.ParseAndCheckProject(options) |> Async.RunImmediate @@ -3536,7 +3536,7 @@ let isNullQuoted (ts : 't[]) = """ - let createOptions() = createOptionsAux [fileSource1] ["--langversion:preview"] + let createOptions() = createOptionsAux [fileSource1] ["--langversion:7.0"] [] let ``Test ProjectForWitnesses4 GetWitnessPassingInfo`` () = diff --git a/tests/service/PatternMatchCompilationTests.fs b/tests/service/PatternMatchCompilationTests.fs index 9ca4362ead7..4e56b7672e2 100644 --- a/tests/service/PatternMatchCompilationTests.fs +++ b/tests/service/PatternMatchCompilationTests.fs @@ -370,7 +370,7 @@ match A with [] let ``As 01 - names and wildcards`` () = - let _, checkResults = getParseAndCheckResultsPreview """ + let _, checkResults = getParseAndCheckResults70 """ match 1 with | _ as w -> let x = w + 1 in () @@ -389,7 +389,7 @@ match 3 with [] #endif let ``As 02 - type testing`` () = - let _, checkResults = getParseAndCheckResultsPreview """ + let _, checkResults = getParseAndCheckResults70 """ let (|Id|) = id match box 1 with | :? int as a -> let b = a + 1 in () @@ -414,7 +414,7 @@ match box 1 with [] #endif let ``As 03 - impossible type testing`` () = - let _, checkResults = getParseAndCheckResultsPreview """ + let _, checkResults = getParseAndCheckResults70 """ match Unchecked.defaultof with | :? System.Enum as (:? System.ConsoleKey as a) -> let b = a + enum 1 in () | :? System.Enum as (:? System.ConsoleKey as c) -> let d = c + enum 1 in () @@ -432,7 +432,7 @@ match Unchecked.defaultof with [] #endif let ``As 04 - duplicate type testing`` () = - let _, checkResults = getParseAndCheckResultsPreview """ + let _, checkResults = getParseAndCheckResults70 """ match Unchecked.defaultof with | :? System.Enum as (a & b) -> let c = a = b in () | :? System.Enum as (:? System.ConsoleKey as (d & e)) -> let f = d + e + enum 1 in () @@ -448,7 +448,7 @@ match Unchecked.defaultof with [] #endif let ``As 05 - inferred type testing`` () = - let _, checkResults = getParseAndCheckResultsPreview """ + let _, checkResults = getParseAndCheckResults70 """ match Unchecked.defaultof with | :? _ as a -> let _ = a in () @@ -463,7 +463,7 @@ match Unchecked.defaultof with [] let ``As 06 - completeness`` () = - let _, checkResults = getParseAndCheckResultsPreview """ + let _, checkResults = getParseAndCheckResults70 """ match Unchecked.defaultof with | true as a -> if a then () | b as false -> if not b then () @@ -532,7 +532,7 @@ parenPattern: | parenPattern COLON_COLON parenPattern | constrPattern *) - let _, checkResults = getParseAndCheckResultsPreview $""" + let _, checkResults = getParseAndCheckResults70 $""" let eq<'T> (x:'T option) = () // FS-1093-safe type assert function let (|Id0|) = ignore let (|Id1|) = id @@ -563,7 +563,7 @@ Some v |> eq [] #endif let ``As 08 - syntactical precedence matrix testing right - partial patterns`` () = - let _, checkResults = getParseAndCheckResultsPreview """ + let _, checkResults = getParseAndCheckResults70 """ let eq<'T> (x:'T option) = () // FS-1093-safe type assert function let (|Unit1|_|) x = if System.Random().NextDouble() < 0.5 then Some Unit1 else None let (|Unit2|_|) _ = (|Unit1|_|) @@ -623,7 +623,7 @@ Some w |> eq [] #endif let ``As 09 - syntactical precedence matrix testing right - erroneous patterns`` () = - let _, checkResults = getParseAndCheckResultsPreview """ + let _, checkResults = getParseAndCheckResults70 """ let (|DefinedPattern|) = id let a as 1 = true let b as true = 2 @@ -667,7 +667,7 @@ let z as [] let ``As 10 - syntactical precedence matrix testing left - total patterns`` () = - let _, checkResults = getParseAndCheckResultsPreview $""" + let _, checkResults = getParseAndCheckResults70 $""" let eq<'T> (x:'T option) = () // FS-1093-safe type assert function let (|Id0|) = ignore let (|Id1|) = id @@ -699,7 +699,7 @@ Some x |> eq [] #endif let ``As 11 - syntactical precedence matrix testing left - partial patterns`` () = - let _, checkResults = getParseAndCheckResultsPreview """ + let _, checkResults = getParseAndCheckResults70 """ let eq<'T> (x:'T option) = () // FS-1093-safe type assert function let (|Unit1|_|) x = if System.Random().NextDouble() < 0.5 then Some Unit1 else None let (|Unit2|_|) _ = (|Unit1|_|) @@ -759,7 +759,7 @@ Some w |> eq [] #endif let ``As 12 - syntactical precedence matrix testing left - erroneous patterns`` () = - let _, checkResults = getParseAndCheckResultsPreview """ + let _, checkResults = getParseAndCheckResults70 """ let (|DefinedPattern|) = id let 1 as a = true let true as b = 2 @@ -810,7 +810,7 @@ let z as = [] #endif let ``As 13 - syntactical precedence matrix testing right with type tests - total patterns`` () = - let _, checkResults = getParseAndCheckResultsPreview $""" + let _, checkResults = getParseAndCheckResults70 $""" let eq<'T> (x:'T option) = () // FS-1093-safe type assert function let (|Id0|) = ignore let (|Id1|) = id @@ -874,7 +874,7 @@ Some x |> eq [] #endif let ``As 14 - syntactical precedence matrix testing right with type tests - partial patterns`` () = - let _, checkResults = getParseAndCheckResultsPreview """ + let _, checkResults = getParseAndCheckResults70 """ let eq<'T> (x:'T option) = () // FS-1093-safe type assert function let (|Unit1|_|) x = if System.Random().NextDouble() < 0.5 then Some Unit1 else None let (|Unit2|_|) _ = (|Unit1|_|) @@ -953,7 +953,7 @@ Some w |> eq [] #endif let ``As 15 - syntactical precedence matrix testing right with type tests - erroneous patterns`` () = - let _, checkResults = getParseAndCheckResultsPreview """ + let _, checkResults = getParseAndCheckResults70 """ let (|DefinedPattern|) = id let :? a as 1 = true let :? b as true = 2 @@ -1010,7 +1010,7 @@ let :? z as #endif let ``As 16 - syntactical precedence matrix testing left with type tests - total patterns`` () = let validSet = set { 'a'..'x' } - set [ 'p'; 'q' ] |> Set.map string - let _, checkResults = getParseAndCheckResultsPreview $""" + let _, checkResults = getParseAndCheckResults70 $""" let eq<'T> (x:'T option) = () // FS-1093-safe type assert function let (|Id0|) = ignore let (|Id1|) = id @@ -1066,7 +1066,7 @@ Some "" |> eq // No more type checks after the above line? [] #endif let ``As 17 - syntactical precedence matrix testing left with type tests - partial patterns`` () = - let _, checkResults = getParseAndCheckResultsPreview """ + let _, checkResults = getParseAndCheckResults70 """ let eq<'T> (x:'T option) = () // FS-1093-safe type assert function let (|Unit1|_|) x = if System.Random().NextDouble() < 0.5 then Some Unit1 else None let (|Unit2|_|) _ = (|Unit1|_|) @@ -1160,7 +1160,7 @@ Some "" |> eq [] #endif let ``As 18 - syntactical precedence matrix testing left with type tests - erroneous patterns`` () = - let _, checkResults = getParseAndCheckResultsPreview """ + let _, checkResults = getParseAndCheckResults70 """ let (|DefinedPattern|) = id let 1 as :? a = true let true as :? b = 2 @@ -1219,7 +1219,7 @@ let as :? z = [] #endif let ``As 19 - syntactical precedence matrix testing - valid syntactic patterns that cause type errors later`` () = - let _, checkResults = getParseAndCheckResultsPreview """ + let _, checkResults = getParseAndCheckResults70 """ type I() = inherit System.Attribute() type M() = inherit I() let 'a'..'b' as c = 'd'