diff --git a/src/Compiler/AbstractIL/il.fs b/src/Compiler/AbstractIL/il.fs index 2470c7ae21..1504c4f2fd 100644 --- a/src/Compiler/AbstractIL/il.fs +++ b/src/Compiler/AbstractIL/il.fs @@ -3274,6 +3274,9 @@ let destILArrTy ty = // Sigs of special types built-in // -------------------------------------------------------------------- +[] +let tname_Attribute = "System.Attribute" + [] let tname_Object = "System.Object" @@ -3347,6 +3350,8 @@ type ILGlobals(primaryScopeRef: ILScopeRef, equivPrimaryAssemblyRefs: ILAssembly member x.primaryAssemblyName = x.primaryAssemblyRef.Name + member val typ_Attribute = mkILBoxedType (mkILNonGenericTySpec (mkSysILTypeRef tname_Attribute)) + member val typ_Object = mkILBoxedType (mkILNonGenericTySpec (mkSysILTypeRef tname_Object)) member val typ_String = mkILBoxedType (mkILNonGenericTySpec (mkSysILTypeRef tname_String)) diff --git a/src/Compiler/AbstractIL/il.fsi b/src/Compiler/AbstractIL/il.fsi index cf4400582c..ef467fa973 100644 --- a/src/Compiler/AbstractIL/il.fsi +++ b/src/Compiler/AbstractIL/il.fsi @@ -1815,6 +1815,7 @@ type internal ILGlobals = member primaryAssemblyScopeRef: ILScopeRef member primaryAssemblyRef: ILAssemblyRef member primaryAssemblyName: string + member typ_Attribute: ILType member typ_Object: ILType member typ_String: ILType member typ_Type: ILType diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index f130a63fa6..2a821d65a7 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -610,16 +610,10 @@ type PtrsOK = | PtrTypesNotOK let GenReadOnlyAttribute (g: TcGlobals) = - mkILCustomAttribute (g.attrib_IsReadOnlyAttribute.TypeRef, [], [], []) + g.AddEmbeddableSystemAttribute(g.attrib_IsReadOnlyAttribute.TypeRef, [], [], []) let GenReadOnlyAttributeIfNecessary (g: TcGlobals) ty = - let add = - false - && g.isSystem_Runtime_CompilerServices_IsReadOnlyAttributeAvailable - && isInByrefTy g ty - && g.attrib_IsReadOnlyAttribute.TyconRef.CanDeref - - if add then + if isInByrefTy g ty then let attr = GenReadOnlyAttribute g Some attr else @@ -2088,15 +2082,7 @@ type AnonTypeGenerationTable() = let ilMethods = [ for propName, fldName, fldTy in flds -> - let attrs = - if - false - && g.isSystem_Runtime_CompilerServices_IsReadOnlyAttributeAvailable - && isStruct - then - [ GenReadOnlyAttribute g ] - else - [] + let attrs = if isStruct then [ GenReadOnlyAttribute g ] else [] mkLdfldMethodDef ("get_" + propName, ILMemberAccess.Public, false, ilTy, fldName, fldTy, attrs) |> g.AddMethodGeneratedAttributes @@ -10897,12 +10883,7 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) = let isStruct = isStructTyconRef tcref let attrs = - if - false - && g.isSystem_Runtime_CompilerServices_IsReadOnlyAttributeAvailable - && isStruct - && not isStatic - then + if isStruct && not isStatic then [ GenReadOnlyAttribute g ] else [] diff --git a/src/Compiler/Driver/CompilerImports.fs b/src/Compiler/Driver/CompilerImports.fs index 2b6fc09a65..c649df2603 100644 --- a/src/Compiler/Driver/CompilerImports.fs +++ b/src/Compiler/Driver/CompilerImports.fs @@ -1163,7 +1163,7 @@ and [] TcImports | ResolvedCcu ccu -> Some ccu | UnresolvedCcu _ -> None - static let ccuHasType (ccu: CcuThunk) (nsname: string list) (tname: string) = + static let ccuHasType (ccu: CcuThunk) (nsname: string list) (tname: string) (publicOnly: bool) = let matchNameSpace (entityOpt: Entity option) n = match entityOpt with | None -> None @@ -1172,7 +1172,14 @@ and [] TcImports match (Some ccu.Contents, nsname) ||> List.fold matchNameSpace with | Some ns -> match Map.tryFind tname ns.ModuleOrNamespaceType.TypesByMangledName with - | Some _ -> true + | Some e -> + if publicOnly then + match e.TypeReprInfo with + | TILObjectRepr data -> + let (TILObjectReprData(_, _, tyDef)) = data + tyDef.Access = ILTypeDefAccess.Public + | _ -> false + else true | None -> false | None -> false @@ -2461,8 +2468,8 @@ and [] TcImports ccu |] - let tryFindSysTypeCcu path typeName = - sysCcus |> Array.tryFind (fun ccu -> ccuHasType ccu path typeName) + let tryFindSysTypeCcu path typeName publicOnly = + sysCcus |> Array.tryFind (fun ccu -> ccuHasType ccu path typeName publicOnly) let ilGlobals = mkILGlobals (primaryScopeRef, equivPrimaryAssemblyRefs, fsharpCoreAssemblyScopeRef) diff --git a/src/Compiler/Driver/CompilerOptions.fs b/src/Compiler/Driver/CompilerOptions.fs index f74c049d3d..59ab3f396c 100644 --- a/src/Compiler/Driver/CompilerOptions.fs +++ b/src/Compiler/Driver/CompilerOptions.fs @@ -331,25 +331,25 @@ let ParseCompilerOptions (collectOtherArgument: string -> unit, blocks: Compiler let rec processArg args = match args with | [] -> () - | rsp: string :: t when rsp.StartsWithOrdinal("@") -> + | opt: string :: t when opt.StartsWithOrdinal("@") -> let responseFileOptions = let fullpath = try - Some(rsp.TrimStart('@') |> FileSystem.GetFullPathShim) + Some(opt.TrimStart('@') |> FileSystem.GetFullPathShim) with _ -> None match fullpath with | None -> - errorR (Error(FSComp.SR.optsResponseFileNameInvalid rsp, rangeCmdArgs)) + errorR (Error(FSComp.SR.optsResponseFileNameInvalid opt, rangeCmdArgs)) [] | Some path when not (FileSystem.FileExistsShim path) -> - errorR (Error(FSComp.SR.optsResponseFileNotFound (rsp, path), rangeCmdArgs)) + errorR (Error(FSComp.SR.optsResponseFileNotFound (opt, path), rangeCmdArgs)) [] | Some path -> match ResponseFile.parseFile path with | Choice2Of2 _ -> - errorR (Error(FSComp.SR.optsInvalidResponseFile (rsp, path), rangeCmdArgs)) + errorR (Error(FSComp.SR.optsInvalidResponseFile (opt, path), rangeCmdArgs)) [] | Choice1Of2 rspData -> let onlyOptions l = diff --git a/src/Compiler/Driver/CreateILModule.fs b/src/Compiler/Driver/CreateILModule.fs index 60c588263e..95a60326df 100644 --- a/src/Compiler/Driver/CreateILModule.fs +++ b/src/Compiler/Driver/CreateILModule.fs @@ -286,7 +286,7 @@ module MainModuleBuilder = ( ctok, tcConfig: TcConfig, - tcGlobals, + tcGlobals: TcGlobals, tcImports: TcImports, pdbfile, assemblyName, @@ -304,8 +304,7 @@ module MainModuleBuilder = RequireCompilationThread ctok let ilTypeDefs = - //let topTypeDef = mkILTypeDefForGlobalFunctions tcGlobals.ilg (mkILMethods [], emptyILFields) - mkILTypeDefs codegenResults.ilTypeDefs + mkILTypeDefs (codegenResults.ilTypeDefs @ tcGlobals.embeddedTypeDefs) let mainModule = let hashAlg = diff --git a/src/Compiler/TypedTree/TcGlobals.fs b/src/Compiler/TypedTree/TcGlobals.fs index d45349f954..b9bb006f31 100755 --- a/src/Compiler/TypedTree/TcGlobals.fs +++ b/src/Compiler/TypedTree/TcGlobals.fs @@ -12,6 +12,7 @@ open System.Collections.Concurrent open System.Diagnostics open Internal.Utilities.Library +open Internal.Utilities.Library.Extras open FSharp.Compiler.AbstractIL.IL open FSharp.Compiler.AbstractIL.ILX open FSharp.Compiler.CompilerGlobalState @@ -102,7 +103,6 @@ let mk_MFCompilerServices_tcref ccu n = mkNonLocalTyconRef2 ccu CompilerServices let mk_MFRuntimeHelpers_tcref ccu n = mkNonLocalTyconRef2 ccu RuntimeHelpersPath n let mk_MFControl_tcref ccu n = mkNonLocalTyconRef2 ccu ControlPathArray n - type [] BuiltinAttribInfo = @@ -184,6 +184,8 @@ let tname_IAsyncResult = "System.IAsyncResult" [] let tname_IsByRefLikeAttribute = "System.Runtime.CompilerServices.IsByRefLikeAttribute" + + //------------------------------------------------------------------------- // Table of all these "globals" //------------------------------------------------------------------------- @@ -197,12 +199,18 @@ type TcGlobals( isInteractive: bool, useReflectionFreeCodeGen: bool, // The helper to find system types amongst referenced DLLs - tryFindSysTypeCcu, + tryFindSysTypeCcuHelper, emitDebugInfoInQuotations: bool, noDebugAttributes: bool, pathMap: PathMap, langVersion: LanguageVersion) = + let tryFindSysTypeCcu path nm = + tryFindSysTypeCcuHelper path nm false + + let tryFindPublicSysTypeCcu path nm = + tryFindSysTypeCcuHelper path nm true + let vara = Construct.NewRigidTypar "a" envRange let varb = Construct.NewRigidTypar "b" envRange let varc = Construct.NewRigidTypar "c" envRange @@ -249,17 +257,19 @@ type TcGlobals( let v_puint16_tcr = mk_MFCore_tcref fslibCcu "uint16`1" let v_puint64_tcr = mk_MFCore_tcref fslibCcu "uint64`1" let v_punativeint_tcr = mk_MFCore_tcref fslibCcu "unativeint`1" - let v_byref_tcr = mk_MFCore_tcref fslibCcu "byref`1" + let v_byref_tcr = mk_MFCore_tcref fslibCcu "byref`1" let v_byref2_tcr = mk_MFCore_tcref fslibCcu "byref`2" let v_outref_tcr = mk_MFCore_tcref fslibCcu "outref`1" - let v_inref_tcr = mk_MFCore_tcref fslibCcu "inref`1" - let v_nativeptr_tcr = mk_MFCore_tcref fslibCcu "nativeptr`1" - let v_voidptr_tcr = mk_MFCore_tcref fslibCcu "voidptr" - let v_ilsigptr_tcr = mk_MFCore_tcref fslibCcu "ilsigptr`1" - let v_fastFunc_tcr = mk_MFCore_tcref fslibCcu "FSharpFunc`2" + let v_inref_tcr = mk_MFCore_tcref fslibCcu "inref`1" + let v_nativeptr_tcr = mk_MFCore_tcref fslibCcu "nativeptr`1" + let v_voidptr_tcr = mk_MFCore_tcref fslibCcu "voidptr" + let v_ilsigptr_tcr = mk_MFCore_tcref fslibCcu "ilsigptr`1" + let v_fastFunc_tcr = mk_MFCore_tcref fslibCcu "FSharpFunc`2" let v_refcell_tcr_canon = mk_MFCore_tcref fslibCcu "Ref`1" let v_refcell_tcr_nice = mk_MFCore_tcref fslibCcu "ref`1" - let v_mfe_tcr = mk_MFCore_tcref fslibCcu "MatchFailureException" + let v_mfe_tcr = mk_MFCore_tcref fslibCcu "MatchFailureException" + + let mutable embeddedILTypeDefs = ConcurrentDictionary() let dummyAssemblyNameCarryingUsefulErrorInformation path typeName = FSComp.SR.tcGlobalsSystemTypeNotFound (String.concat "." path + "." + typeName) @@ -280,7 +290,7 @@ type TcGlobals( let ccu = findSysTypeCcu path nm mkNonLocalTyconRef2 ccu (Array.ofList path) nm - let findSysILTypeRef (nm:string) = + let findSysILTypeRef nm = let path, typeName = splitILTypeName nm let scoref = match tryFindSysTypeCcu path typeName with @@ -288,21 +298,60 @@ type TcGlobals( | Some ccu -> ccu.ILScopeRef mkILTyRef (scoref, nm) - let tryFindSysILTypeRef (nm:string) = + let tryFindSysILTypeRef nm = let path, typeName = splitILTypeName nm tryFindSysTypeCcu path typeName |> Option.map (fun ccu -> mkILTyRef (ccu.ILScopeRef, nm)) - let findSysAttrib (nm:string) = + let findSysAttrib nm = let tref = findSysILTypeRef nm let path, typeName = splitILTypeName nm AttribInfo(tref, findSysTyconRef path typeName) let tryFindSysAttrib nm = let path, typeName = splitILTypeName nm + + // System Attributes must be public types. match tryFindSysTypeCcu path typeName with | Some _ -> Some (findSysAttrib nm) | None -> None + let findPublicSysAttrib nm = + let path, typeName = splitILTypeName nm + let scoref, ccu = + match tryFindPublicSysTypeCcu path typeName with + | None -> + ILScopeRef.Assembly (mkSimpleAssemblyRef (dummyAssemblyNameCarryingUsefulErrorInformation path typeName)), + CcuThunk.CreateDelayed(dummyAssemblyNameCarryingUsefulErrorInformation path typeName) + | Some ccu -> + ccu.ILScopeRef, + ccu + let tref = mkILTyRef (scoref, nm) + let tcref = mkNonLocalTyconRef2 ccu (Array.ofList path) typeName + AttribInfo(tref, tcref) + + let findOrEmbedSysPublicAttribute nm = + let sysAttrib = findPublicSysAttrib nm + if sysAttrib.TyconRef.CanDeref then + sysAttrib + else + let attrRef = ILTypeRef.Create(ILScopeRef.Local, [], nm) + let attrTycon = + Construct.NewTycon( + Some (CompPath(ILScopeRef.Local, [])), + attrRef.Name, + range0, + taccessInternal, + taccessInternal, + TyparKind.Type, + LazyWithContext.NotLazy [], + FSharp.Compiler.Xml.XmlDoc.Empty, + false, + false, + false, + MaybeLazy.Strict(Construct.NewEmptyModuleOrNamespaceType ModuleOrType) + ) + AttribInfo(attrRef, mkLocalTyconRef attrTycon) + let mkSysNonGenericTy path n = mkNonGenericTy(findSysTyconRef path n) let tryMkSysNonGenericTy path n = tryFindSysTyconRef path n |> Option.map mkNonGenericTy @@ -811,7 +860,7 @@ type TcGlobals( let v_check_this_info = makeIntrinsicValRef(fslib_MFIntrinsicFunctions_nleref, "CheckThis" , None , None , [vara], ([[varaTy]], varaTy)) let v_quote_to_linq_lambda_info = makeIntrinsicValRef(fslib_MFLinqRuntimeHelpersQuotationConverter_nleref, "QuotationToLambdaExpression" , None , None , [vara], ([[mkQuotedExprTy varaTy]], mkLinqExpressionTy varaTy)) - let tref_DebuggableAttribute = findSysILTypeRef tname_DebuggableAttribute + let tref_DebuggableAttribute = findSysILTypeRef tname_DebuggableAttribute let tref_CompilerGeneratedAttribute = findSysILTypeRef tname_CompilerGeneratedAttribute let tref_InternalsVisibleToAttribute = findSysILTypeRef tname_InternalsVisibleToAttribute @@ -863,6 +912,33 @@ type TcGlobals( let mkDebuggerTypeProxyAttribute (ty : ILType) = mkILCustomAttribute (findSysILTypeRef tname_DebuggerTypeProxyAttribute, [ilg.typ_Type], [ILAttribElem.TypeRef (Some ty.TypeRef)], []) + // Todo: Review mkILCustomAttribute throughout fsc/fsi/ fcs to ensure that we use embedable attributes where appropriate + let mkLocalPrivateAttributeWithDefaultConstructor (ilg: ILGlobals, name: string) = + + let ctor = addMethodGeneratedAttrs (mkILNonGenericEmptyCtor (ilg.typ_Attribute, None, None)) + + mkILGenericClass ( + name, + ILTypeDefAccess.Private, + ILGenericParameterDefs.Empty, + ilg.typ_Attribute, + ILTypes.Empty, + mkILMethods [ ctor ], + emptyILFields, + emptyILTypeDefs, + emptyILProperties, + emptyILEvents, + emptyILCustomAttrs, + ILTypeInit.BeforeField + ) + + let addEmbeddableCustomAttribute (tref: ILTypeRef, argTys, argvs, propvs) = + + if tref.Scope = ILScopeRef.Local && not(embeddedILTypeDefs.ContainsKey(tref.Name)) then + embeddedILTypeDefs.TryAdd(tref.Name, mkLocalPrivateAttributeWithDefaultConstructor (ilg, tref.Name)) |> ignore + + mkILCustomAttribute (tref, argTys, argvs, propvs) + let betterTyconEntries = [| "Int32" , v_int_tcr "IntPtr" , v_nativeint_tcr @@ -998,6 +1074,8 @@ type TcGlobals( member _.ilg = ilg + member _.embeddedTypeDefs = embeddedILTypeDefs.Values |> Seq.toList + // A table of all intrinsics that the compiler cares about member _.knownIntrinsics = v_knownIntrinsics @@ -1164,6 +1242,8 @@ type TcGlobals( member val ArrayCollector_tcr = mk_MFCompilerServices_tcref fslibCcu "ArrayCollector`1" + member g.AddEmbeddableSystemAttribute (tref: ILTypeRef, argTys, argvs, propvs) = addEmbeddableCustomAttribute (tref, argTys, argvs, propvs) + member g.mk_GeneratedSequenceBase_ty seqElemTy = TType_app(g.seq_base_tcr,[seqElemTy], v_knownWithoutNull) member val ResumableStateMachine_tcr = mk_MFCompilerServices_tcref fslibCcu "ResumableStateMachine`1" @@ -1242,7 +1322,8 @@ type TcGlobals( member val exn_ty = mkNonGenericTy v_exn_tcr member val float_ty = v_float_ty member val float32_ty = v_float32_ty - /// Memoization table to help minimize the number of ILSourceDocument objects we create + + /// Memoization table to help minimize the number of ILSourceDocument objects we create member _.memoize_file x = v_memoize_file.Apply x member val system_Array_ty = mkSysNonGenericTy sys "Array" @@ -1347,8 +1428,6 @@ type TcGlobals( member val iltyp_RuntimeMethodHandle = findSysILTypeRef tname_RuntimeMethodHandle |> mkILNonGenericValueTy member val iltyp_RuntimeTypeHandle = findSysILTypeRef tname_RuntimeTypeHandle |> mkILNonGenericValueTy member val iltyp_ReferenceAssemblyAttributeOpt = tryFindSysILTypeRef tname_ReferenceAssemblyAttribute |> Option.map mkILNonGenericBoxedTy - - member val attrib_AttributeUsageAttribute = findSysAttrib "System.AttributeUsageAttribute" member val attrib_ParamArrayAttribute = findSysAttrib "System.ParamArrayAttribute" member val attrib_IDispatchConstantAttribute = tryFindSysAttrib "System.Runtime.CompilerServices.IDispatchConstantAttribute" @@ -1356,8 +1435,7 @@ type TcGlobals( // We use 'findSysAttrib' here because lookup on attribute is done by name comparison, and can proceed // even if the type is not found in a system assembly. - member val attrib_IsReadOnlyAttribute = findSysAttrib "System.Runtime.CompilerServices.IsReadOnlyAttribute" - + member val attrib_IsReadOnlyAttribute = findOrEmbedSysPublicAttribute "System.Runtime.CompilerServices.IsReadOnlyAttribute" member val attrib_SystemObsolete = findSysAttrib "System.ObsoleteAttribute" member val attrib_DllImportAttribute = tryFindSysAttrib "System.Runtime.InteropServices.DllImportAttribute" member val attrib_StructLayoutAttribute = findSysAttrib "System.Runtime.InteropServices.StructLayoutAttribute" @@ -1729,9 +1807,6 @@ type TcGlobals( /// Indicates if we can use System.Array.Empty when emitting IL for empty array literals member val isArrayEmptyAvailable = v_Array_tcref.ILTyconRawMetadata.Methods.FindByName "Empty" |> List.isEmpty |> not - /// Indicates if we can emit the System.Runtime.CompilerServices.IsReadOnlyAttribute - member val isSystem_Runtime_CompilerServices_IsReadOnlyAttributeAvailable = tryFindSysTypeCcu sysCompilerServices "IsReadOnlyAttribute" |> Option.isSome - member _.FindSysTyconRef path nm = findSysTyconRef path nm member _.TryFindSysTyconRef path nm = tryFindSysTyconRef path nm diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs.il.debug.bsl index 0d829bd476..4537f5e078 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs.il.debug.bsl @@ -37,13 +37,13 @@ // WARNING: managed resource file FSharpOptimizationData.Structs02 created } .module Structs02.exe -// MVID: {63E6EA31-BE14-39D7-A745-038331EAE663} +// MVID: {63EB287E-BE14-39D7-A745-03837E28EB63} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x000002A17A200000 +// Image base: 0x0000013176FA0000 // =============== CLASS MEMBERS DECLARATION =================== @@ -66,6 +66,7 @@ .method public hidebysig specialname instance int32 get_hash() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.IsReadOnlyAttribute::.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) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs.il.release.bsl index 58df8fea49..0a16a6bca1 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs.il.release.bsl @@ -4,10 +4,10 @@ // Metadata version: v4.0.30319 -.assembly extern System.Runtime +.assembly extern mscorlib { - .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 7:0:0:0 + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 } .assembly extern FSharp.Core { @@ -21,44 +21,44 @@ 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 01 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.Structs02 { - // Offset: 0x00000000 Length: 0x000007B3 + // Offset: 0x00000000 Length: 0x000007B6 // WARNING: managed resource file FSharpSignatureData.Structs02 created } .mresource public FSharpOptimizationData.Structs02 { - // Offset: 0x000007B8 Length: 0x0000023D + // Offset: 0x000007C0 Length: 0x00000237 // WARNING: managed resource file FSharpOptimizationData.Structs02 created } .module Structs02.exe -// MVID: {63DBF1DE-9F75-7AA4-A745-0383DEF1DB63} +// MVID: {63EB2A5A-BE14-39D7-A745-03835A2AEB63} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x0000024203AB0000 +// Image base: 0x000001FDA5220000 // =============== CLASS MEMBERS DECLARATION =================== .class public abstract auto ansi sealed Experiment.Test - 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 sequential ansi serializable sealed nested public Repro - extends [System.Runtime]System.ValueType - 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.ValueType + 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 [FSharp.Core]Microsoft.FSharp.Core.StructAttribute::.ctor() = ( 01 00 00 00 ) .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 ) @@ -66,8 +66,9 @@ .method public hidebysig specialname instance int32 get_hash() 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.IsReadOnlyAttribute::.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 @@ -78,16 +79,16 @@ .method public hidebysig virtual final instance int32 CompareTo(valuetype Experiment.Test/Repro obj) 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 33 (0x21) .maxstack 5 .locals init (valuetype Experiment.Test/Repro& V_0, - class [System.Runtime]System.Collections.IComparer V_1, + class [mscorlib]System.Collections.IComparer V_1, int32 V_2, int32 V_3) IL_0000: ldarga.s obj IL_0002: stloc.0 - IL_0003: call class [System.Runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0003: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_0008: stloc.1 IL_0009: ldarg.0 IL_000a: ldfld int32 Experiment.Test/Repro::hash@ @@ -108,7 +109,7 @@ .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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -120,14 +121,14 @@ .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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 39 (0x27) .maxstack 5 .locals init (valuetype Experiment.Test/Repro V_0, valuetype Experiment.Test/Repro& V_1, - class [System.Runtime]System.Collections.IComparer V_2, + class [mscorlib]System.Collections.IComparer V_2, int32 V_3, int32 V_4) IL_0000: ldarg.1 @@ -154,13 +155,13 @@ } // end of method Repro::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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 27 (0x1b) .maxstack 7 .locals init (int32 V_0, - class [System.Runtime]System.Collections.IEqualityComparer V_1) + class [mscorlib]System.Collections.IEqualityComparer V_1) IL_0000: ldc.i4.0 IL_0001: stloc.0 IL_0002: ldc.i4 0x9e3779b9 @@ -185,26 +186,26 @@ .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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.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: call instance int32 Experiment.Test/Repro::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: call instance int32 Experiment.Test/Repro::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) IL_000b: ret } // end of method Repro::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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 42 (0x2a) .maxstack 4 .locals init (object V_0, valuetype Experiment.Test/Repro V_1, valuetype Experiment.Test/Repro& V_2, - class [System.Runtime]System.Collections.IEqualityComparer V_3) + class [mscorlib]System.Collections.IEqualityComparer V_3) IL_0000: ldarg.1 IL_0001: stloc.0 IL_0002: ldloc.0 @@ -277,7 +278,7 @@ .method public hidebysig virtual final instance bool Equals(valuetype Experiment.Test/Repro obj) 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 18 (0x12) .maxstack 4 .locals init (valuetype Experiment.Test/Repro& V_0) @@ -294,7 +295,7 @@ .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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 30 (0x1e) .maxstack 4 .locals init (object V_0, @@ -343,7 +344,7 @@ } // end of class Experiment.Test .class private abstract auto ansi sealed '.$Experiment'.Test - extends [System.Runtime]System.Object + extends [mscorlib]System.Object { .method public static void main@() cil managed { @@ -359,4 +360,4 @@ // ============================================================= // *********** DISASSEMBLY COMPLETE *********************** -// WARNING: Created Win32 resource file D:\code\FS\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\Release\net7.0\tests\EmittedIL\Misc\Structs02_fs\Structs02.res +// WARNING: Created Win32 resource file C:\kevinransom\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\Release\net472\tests\EmittedIL\Misc\Structs02_fs\Structs02.res diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs.il.debug.bsl index 44822a0a90..dcc61118de 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs.il.debug.bsl @@ -42,13 +42,13 @@ // WARNING: managed resource file FSharpOptimizationData.Structs02_asNetStandard20 created } .module Structs02_asNetStandard20.dll -// MVID: {63EADB4E-37AB-0DD0-A745-03834EDBEA63} +// MVID: {63EC9609-37AB-0DD0-A745-03830996EC63} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x0000024835680000 +// Image base: 0x000001D3ECF40000 // =============== CLASS MEMBERS DECLARATION =================== @@ -71,6 +71,7 @@ .method public hidebysig specialname instance int32 get_hash() cil managed { + .custom instance void System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [netstandard]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 7 (0x7) @@ -385,8 +386,25 @@ { } // end of class '.$Experiment'.Test +.class private auto ansi beforefieldinit System.Runtime.CompilerServices.IsReadOnlyAttribute + extends [mscorlib]System.Attribute +{ + .method public specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [netstandard]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Attribute::.ctor() + IL_0006: ret + } // end of method IsReadOnlyAttribute::.ctor + +} // end of class System.Runtime.CompilerServices.IsReadOnlyAttribute + // ============================================================= // *********** DISASSEMBLY COMPLETE *********************** -// WARNING: Created Win32 resource file C:\kevinransom\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\Debug\net472\tests\EmittedIL\Misc\Structs02_asNetStandard20_fs\Structs02_asNetStandard20.res +// WARNING: Created Win32 resource file C:\kevinransom\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\debug\net472\tests\EmittedIL\Misc\Structs02_asNetStandard20_fs\Structs02_asNetStandard20.res diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs.il.release.bsl index 412cae2efa..d69123aa3f 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs.il.release.bsl @@ -4,10 +4,10 @@ // Metadata version: v4.0.30319 -.assembly extern System.Runtime +.assembly extern mscorlib { - .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 4:1:2:0 + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 } .assembly extern netstandard { @@ -42,19 +42,19 @@ // WARNING: managed resource file FSharpOptimizationData.Structs02_asNetStandard20 created } .module Structs02_asNetStandard20.dll -// MVID: {63EADE74-4477-7170-A745-038374DEEA63} +// MVID: {63EC9111-37AB-0DD0-A745-03831191EC63} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x0000025E8FF30000 +// Image base: 0x000002C5E0CF0000 // =============== CLASS MEMBERS DECLARATION =================== .class public abstract auto ansi sealed Experiment.Test - 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 sequential ansi serializable sealed nested public Repro @@ -71,6 +71,7 @@ .method public hidebysig specialname instance int32 get_hash() cil managed { + .custom instance void System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [netstandard]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) // Code size 7 (0x7) @@ -348,12 +349,29 @@ } // end of class Experiment.Test .class private abstract auto ansi sealed '.$Experiment'.Test - extends [System.Runtime]System.Object + extends [mscorlib]System.Object { } // end of class '.$Experiment'.Test +.class private auto ansi beforefieldinit System.Runtime.CompilerServices.IsReadOnlyAttribute + extends [mscorlib]System.Attribute +{ + .method public specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [netstandard]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Attribute::.ctor() + IL_0006: ret + } // end of method IsReadOnlyAttribute::.ctor + +} // end of class System.Runtime.CompilerServices.IsReadOnlyAttribute + // ============================================================= // *********** DISASSEMBLY COMPLETE *********************** -// WARNING: Created Win32 resource file C:\kevinransom\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\Release\net7.0\tests\EmittedIL\Misc\Structs02_asNetStandard20_fs\Structs02_asNetStandard20.res +// WARNING: Created Win32 resource file C:\kevinransom\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\release\net472\tests\EmittedIL\Misc\Structs02_asNetStandard20_fs\Structs02_asNetStandard20.res diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles.fs.il.debug.bsl index bb11af3007..2789a10a4d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles.fs.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles.fs.il.debug.bsl @@ -37,13 +37,13 @@ // WARNING: managed resource file FSharpOptimizationData.FloatsAndDoubles created } .module FloatsAndDoubles.exe -// MVID: {63E6EA31-274A-A48B-A745-038331EAE663} +// MVID: {63EB2B21-274A-A48B-A745-0383212BEB63} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x0000015AA6730000 +// Image base: 0x000001AE7E770000 // =============== CLASS MEMBERS DECLARATION =================== @@ -65,6 +65,7 @@ .method public hidebysig specialname instance float64 get_F() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.IsReadOnlyAttribute::.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) @@ -411,6 +412,7 @@ .method public hidebysig specialname instance float64 get_D() cil managed { + .custom instance void [mscorlib]System.Runtime.CompilerServices.IsReadOnlyAttribute::.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) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles.fs.il.release.bsl index 078664438a..ceaf99f810 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles.fs.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles.fs.il.release.bsl @@ -4,10 +4,10 @@ // Metadata version: v4.0.30319 -.assembly extern System.Runtime +.assembly extern mscorlib { - .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 7:0:0:0 + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 4:0:0:0 } .assembly extern FSharp.Core { @@ -21,52 +21,53 @@ 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 01 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.FloatsAndDoubles { - // Offset: 0x00000000 Length: 0x00000C66 + // Offset: 0x00000000 Length: 0x00000C68 // WARNING: managed resource file FSharpSignatureData.FloatsAndDoubles created } .mresource public FSharpOptimizationData.FloatsAndDoubles { - // Offset: 0x00000C70 Length: 0x0000034E + // Offset: 0x00000C70 Length: 0x00000348 // WARNING: managed resource file FSharpOptimizationData.FloatsAndDoubles created } .module FloatsAndDoubles.exe -// MVID: {63DBF1DE-5559-9AC8-A745-0383DEF1DB63} +// MVID: {63EB310D-274A-A48B-A745-03830D31EB63} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x000001AD44060000 +// Image base: 0x000001F8CCAE0000 // =============== CLASS MEMBERS DECLARATION =================== .class public abstract auto ansi sealed floatsanddoubles - 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 sequential ansi serializable sealed nested public Float - extends [System.Runtime]System.ValueType - 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.ValueType + 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 [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) .field assembly float64 F@ .method public hidebysig specialname instance float64 get_F() 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.IsReadOnlyAttribute::.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 @@ -77,16 +78,16 @@ .method public hidebysig virtual final instance int32 CompareTo(valuetype floatsanddoubles/Float obj) 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 58 (0x3a) .maxstack 5 .locals init (valuetype floatsanddoubles/Float& V_0, - class [System.Runtime]System.Collections.IComparer V_1, + class [mscorlib]System.Collections.IComparer V_1, float64 V_2, float64 V_3) IL_0000: ldarga.s obj IL_0002: stloc.0 - IL_0003: call class [System.Runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0003: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_0008: stloc.1 IL_0009: ldarg.0 IL_000a: ldfld float64 floatsanddoubles/Float::F@ @@ -122,7 +123,7 @@ IL_0030: ldloc.2 IL_0031: ldloc.3 IL_0032: tail. - IL_0034: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [System.Runtime]System.Collections.IComparer, + IL_0034: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [mscorlib]System.Collections.IComparer, !!0, !!0) IL_0039: ret @@ -131,7 +132,7 @@ .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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -143,14 +144,14 @@ .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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 66 (0x42) .maxstack 5 .locals init (valuetype floatsanddoubles/Float V_0, valuetype floatsanddoubles/Float& V_1, - class [System.Runtime]System.Collections.IComparer V_2, + class [mscorlib]System.Collections.IComparer V_2, float64 V_3, float64 V_4) IL_0000: ldarg.1 @@ -194,16 +195,16 @@ IL_0037: ldloc.3 IL_0038: ldloc.s V_4 IL_003a: tail. - IL_003c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [System.Runtime]System.Collections.IComparer, + IL_003c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [mscorlib]System.Collections.IComparer, !!0, !!0) IL_0041: ret } // end of method Float::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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 31 (0x1f) .maxstack 7 .locals init (int32 V_0) @@ -213,7 +214,7 @@ IL_0007: ldarg.1 IL_0008: ldarg.0 IL_0009: ldfld float64 floatsanddoubles/Float::F@ - IL_000e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [System.Runtime]System.Collections.IEqualityComparer, + IL_000e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, !!0) IL_0013: ldloc.0 IL_0014: ldc.i4.6 @@ -232,26 +233,26 @@ .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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.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: call instance int32 floatsanddoubles/Float::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: call instance int32 floatsanddoubles/Float::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) IL_000b: ret } // end of method Float::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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 42 (0x2a) .maxstack 4 .locals init (object V_0, valuetype floatsanddoubles/Float V_1, valuetype floatsanddoubles/Float& V_2, - class [System.Runtime]System.Collections.IEqualityComparer V_3) + class [mscorlib]System.Collections.IEqualityComparer V_3) IL_0000: ldarg.1 IL_0001: stloc.0 IL_0002: ldloc.0 @@ -292,7 +293,7 @@ .method public hidebysig virtual final instance bool Equals(valuetype floatsanddoubles/Float obj) 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 39 (0x27) .maxstack 4 .locals init (valuetype floatsanddoubles/Float& V_0, @@ -332,7 +333,7 @@ .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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 30 (0x1e) .maxstack 4 .locals init (object V_0, @@ -366,20 +367,21 @@ } // end of class Float .class sequential ansi serializable sealed nested public Double - extends [System.Runtime]System.ValueType - 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.ValueType + 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 [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) .field assembly float64 D@ .method public hidebysig specialname instance float64 get_D() 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.IsReadOnlyAttribute::.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 @@ -390,16 +392,16 @@ .method public hidebysig virtual final instance int32 CompareTo(valuetype floatsanddoubles/Double obj) 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 58 (0x3a) .maxstack 5 .locals init (valuetype floatsanddoubles/Double& V_0, - class [System.Runtime]System.Collections.IComparer V_1, + class [mscorlib]System.Collections.IComparer V_1, float64 V_2, float64 V_3) IL_0000: ldarga.s obj IL_0002: stloc.0 - IL_0003: call class [System.Runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0003: call class [mscorlib]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_0008: stloc.1 IL_0009: ldarg.0 IL_000a: ldfld float64 floatsanddoubles/Double::D@ @@ -435,7 +437,7 @@ IL_0030: ldloc.2 IL_0031: ldloc.3 IL_0032: tail. - IL_0034: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [System.Runtime]System.Collections.IComparer, + IL_0034: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [mscorlib]System.Collections.IComparer, !!0, !!0) IL_0039: ret @@ -444,7 +446,7 @@ .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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 13 (0xd) .maxstack 8 IL_0000: ldarg.0 @@ -456,14 +458,14 @@ .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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 66 (0x42) .maxstack 5 .locals init (valuetype floatsanddoubles/Double V_0, valuetype floatsanddoubles/Double& V_1, - class [System.Runtime]System.Collections.IComparer V_2, + class [mscorlib]System.Collections.IComparer V_2, float64 V_3, float64 V_4) IL_0000: ldarg.1 @@ -507,16 +509,16 @@ IL_0037: ldloc.3 IL_0038: ldloc.s V_4 IL_003a: tail. - IL_003c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [System.Runtime]System.Collections.IComparer, + IL_003c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [mscorlib]System.Collections.IComparer, !!0, !!0) IL_0041: ret } // end of method Double::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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 31 (0x1f) .maxstack 7 .locals init (int32 V_0) @@ -526,7 +528,7 @@ IL_0007: ldarg.1 IL_0008: ldarg.0 IL_0009: ldfld float64 floatsanddoubles/Double::D@ - IL_000e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [System.Runtime]System.Collections.IEqualityComparer, + IL_000e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [mscorlib]System.Collections.IEqualityComparer, !!0) IL_0013: ldloc.0 IL_0014: ldc.i4.6 @@ -545,26 +547,26 @@ .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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.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: call instance int32 floatsanddoubles/Double::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: call instance int32 floatsanddoubles/Double::GetHashCode(class [mscorlib]System.Collections.IEqualityComparer) IL_000b: ret } // end of method Double::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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 42 (0x2a) .maxstack 4 .locals init (object V_0, valuetype floatsanddoubles/Double V_1, valuetype floatsanddoubles/Double& V_2, - class [System.Runtime]System.Collections.IEqualityComparer V_3) + class [mscorlib]System.Collections.IEqualityComparer V_3) IL_0000: ldarg.1 IL_0001: stloc.0 IL_0002: ldloc.0 @@ -605,7 +607,7 @@ .method public hidebysig virtual final instance bool Equals(valuetype floatsanddoubles/Double obj) 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 39 (0x27) .maxstack 4 .locals init (valuetype floatsanddoubles/Double& V_0, @@ -645,7 +647,7 @@ .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 [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 30 (0x1e) .maxstack 4 .locals init (object V_0, @@ -682,14 +684,14 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 clo5 - .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 assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 clo5) 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 @@ -719,14 +721,14 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> clo4 - .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 assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> clo4) 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 @@ -759,14 +761,14 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> { .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> clo3 - .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 assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> clo3) 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 @@ -799,14 +801,14 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> { .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> clo2 - .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 assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> clo2) 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 @@ -839,14 +841,14 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> { .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> clo1 - .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 assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> clo1) 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 @@ -879,14 +881,14 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 clo5 - .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 assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 clo5) 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 @@ -916,14 +918,14 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> { .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> clo4 - .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 assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> clo4) 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 @@ -956,14 +958,14 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> { .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> clo3 - .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 assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> clo3) 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 @@ -996,14 +998,14 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> { .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> clo2 - .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 assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> clo2) 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 @@ -1036,14 +1038,14 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> { .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> clo1 - .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 assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> clo1) 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 @@ -1124,17 +1126,17 @@ IL_0015: br.s IL_0093 IL_0017: ldstr "Doubles: %-17s = %-17s is: %-5b Values %f = %f" - IL_001c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5>>>>,class [System.Runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [System.Runtime]System.Tuple`5>::.ctor(string) - IL_0021: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>>>>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_001c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5>>>>,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [mscorlib]System.Tuple`5>::.ctor(string) + IL_0021: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>>>>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_0026: stloc.2 IL_0027: ldloc.2 IL_0028: newobj instance void floatsanddoubles/main@31::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>) IL_002d: call string[] floatsanddoubles::get_names() IL_0032: ldloc.0 - IL_0033: ldelem [System.Runtime]System.String + IL_0033: ldelem [mscorlib]System.String IL_0038: call string[] floatsanddoubles::get_names() IL_003d: ldloc.1 - IL_003e: ldelem [System.Runtime]System.String + IL_003e: ldelem [mscorlib]System.String IL_0043: call valuetype floatsanddoubles/Double[] floatsanddoubles::get_doubles() IL_0048: ldloc.0 IL_0049: ldelema floatsanddoubles/Double @@ -1143,7 +1145,7 @@ IL_0054: ldelem floatsanddoubles/Double IL_0059: box floatsanddoubles/Double IL_005e: constrained. floatsanddoubles/Double - IL_0064: callvirt instance bool [System.Runtime]System.Object::Equals(object) + IL_0064: callvirt instance bool [mscorlib]System.Object::Equals(object) IL_0069: call valuetype floatsanddoubles/Double[] floatsanddoubles::get_doubles() IL_006e: ldloc.0 IL_006f: ldelema floatsanddoubles/Double @@ -1170,8 +1172,8 @@ IL_009b: blt IL_0017 IL_00a0: ldstr "" - IL_00a5: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_00aa: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_00a5: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_00aa: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_00af: pop IL_00b0: ldloc.0 IL_00b1: ldc.i4.1 @@ -1192,17 +1194,17 @@ IL_00cb: br IL_0153 IL_00d0: ldstr "Floats: %-17s = %-17s is: %-5b Values %f = %f" - IL_00d5: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5>>>>,class [System.Runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [System.Runtime]System.Tuple`5>::.ctor(string) - IL_00da: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>>>>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_00d5: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5>>>>,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [mscorlib]System.Tuple`5>::.ctor(string) + IL_00da: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>>>>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_00df: stloc.s V_5 IL_00e1: ldloc.s V_5 IL_00e3: newobj instance void floatsanddoubles/'main@36-5'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>) IL_00e8: call string[] floatsanddoubles::get_names() IL_00ed: ldloc.3 - IL_00ee: ldelem [System.Runtime]System.String + IL_00ee: ldelem [mscorlib]System.String IL_00f3: call string[] floatsanddoubles::get_names() IL_00f8: ldloc.s V_4 - IL_00fa: ldelem [System.Runtime]System.String + IL_00fa: ldelem [mscorlib]System.String IL_00ff: call valuetype floatsanddoubles/Float[] floatsanddoubles::get_floats() IL_0104: ldloc.3 IL_0105: ldelema floatsanddoubles/Float @@ -1211,7 +1213,7 @@ IL_0111: ldelem floatsanddoubles/Float IL_0116: box floatsanddoubles/Float IL_011b: constrained. floatsanddoubles/Float - IL_0121: callvirt instance bool [System.Runtime]System.Object::Equals(object) + IL_0121: callvirt instance bool [mscorlib]System.Object::Equals(object) IL_0126: call valuetype floatsanddoubles/Float[] floatsanddoubles::get_floats() IL_012b: ldloc.3 IL_012c: ldelema floatsanddoubles/Float @@ -1238,8 +1240,8 @@ IL_015c: blt IL_00d0 IL_0161: ldstr "" - IL_0166: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_016b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0166: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_016b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_0170: pop IL_0171: ldloc.3 IL_0172: ldc.i4.1 @@ -1275,18 +1277,18 @@ } // end of class floatsanddoubles .class private abstract auto ansi sealed ''.$floatsanddoubles - extends [System.Runtime]System.Object + extends [mscorlib]System.Object { .field static assembly initonly valuetype floatsanddoubles/Float[] floats@22 - .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.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .field static assembly initonly valuetype floatsanddoubles/Double[] doubles@23 - .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.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .field static assembly initonly string[] names@24 - .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.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .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 private specialname rtspecialname static void .cctor() cil managed { @@ -1376,35 +1378,35 @@ IL_013a: stsfld valuetype floatsanddoubles/Double[] ''.$floatsanddoubles::doubles@23 IL_013f: stloc.1 IL_0140: ldc.i4.7 - IL_0141: newarr [System.Runtime]System.String + IL_0141: newarr [mscorlib]System.String IL_0146: dup IL_0147: ldc.i4.0 IL_0148: ldstr "Epsilon" - IL_014d: stelem [System.Runtime]System.String + IL_014d: stelem [mscorlib]System.String IL_0152: dup IL_0153: ldc.i4.1 IL_0154: ldstr "MinValue" - IL_0159: stelem [System.Runtime]System.String + IL_0159: stelem [mscorlib]System.String IL_015e: dup IL_015f: ldc.i4.2 IL_0160: ldstr "MaxValue" - IL_0165: stelem [System.Runtime]System.String + IL_0165: stelem [mscorlib]System.String IL_016a: dup IL_016b: ldc.i4.3 IL_016c: ldstr "NegativeInfinity" - IL_0171: stelem [System.Runtime]System.String + IL_0171: stelem [mscorlib]System.String IL_0176: dup IL_0177: ldc.i4.4 IL_0178: ldstr "PositiveInfinity" - IL_017d: stelem [System.Runtime]System.String + IL_017d: stelem [mscorlib]System.String IL_0182: dup IL_0183: ldc.i4.5 IL_0184: ldstr "NaN" - IL_0189: stelem [System.Runtime]System.String + IL_0189: stelem [mscorlib]System.String IL_018e: dup IL_018f: ldc.i4.6 IL_0190: ldstr "Number" - IL_0195: stelem [System.Runtime]System.String + IL_0195: stelem [mscorlib]System.String IL_019a: dup IL_019b: stsfld string[] ''.$floatsanddoubles::names@24 IL_01a0: stloc.2 @@ -1417,4 +1419,4 @@ // ============================================================= // *********** DISASSEMBLY COMPLETE *********************** -// WARNING: Created Win32 resource file D:\code\FS\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\Release\net7.0\tests\EmittedIL\Structure\FloatsAndDoubles_fs\FloatsAndDoubles.res +// WARNING: Created Win32 resource file C:\kevinransom\fsharp\artifacts\bin\FSharp.Compiler.ComponentTests\Release\net472\tests\EmittedIL\Structure\FloatsAndDoubles_fs\FloatsAndDoubles.res