Netstandard2.0 FSharp.Core in master + netcoreapp3.1 fix for tests (#9870)

* Net Standard 2.0 only FSharp.Core (#9801)

* Net standard only FSharp.Core

* temp

* Cherry-pick of FSharp.Core netstandard + fix for netcoreapp3.1 tests

* Fixed netcoreapp30 -> netcoreapp31 test references

* Cleaned up projects, added testplatform package, moved some tests to new suite

* Tests changes

* Revert accidental revert

* Added missing tests

* Cleaned up packages, fixed tests

* Add System.Runtime to references

Co-authored-by: Kevin Ransom (msft) <codecutter@hotmail.com>
This commit is contained in:
Vlad Zarytovskii 2020-08-06 21:28:58 +02:00 коммит произвёл GitHub
Родитель b42686c3c8
Коммит 8b24224632
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
84 изменённых файлов: 1063 добавлений и 3827 удалений

Просмотреть файл

@ -52,7 +52,7 @@ Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Compiler.Private.Scr
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "DependencyManager", "src\fsharp\Microsoft.DotNet.DependencyManager\Microsoft.DotNet.DependencyManager.fsproj", "{B5A043F8-6D7F-4D4E-B8AD-5880070180B6}"
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Compiler.ComponentTests", "tests\FSharp.Compiler.ComponentTests\FSharp.Compiler.ComponentTests.fsproj", "{FAC5A3BF-C0D6-437A-868A-E962AA00B418}"
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Compiler.ComponentTests", "tests\FSharp.Compiler.ComponentTests\FSharp.Compiler.ComponentTests.fsproj", "{FAC5A3BF-C0D6-437A-868A-E962AA00B418}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "fsharpqa", "fsharpqa", "{292C4F92-A313-4CAF-9552-731F39C6C21F}"
EndProject

Просмотреть файл

@ -140,8 +140,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NuGet", "NuGet", "{647810D0
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.FSharp.Compiler", "src\fsharp\FSharp.Compiler.nuget\Microsoft.FSharp.Compiler.csproj", "{04C59F6E-1C76-4F6A-AC21-2EA7F296A1B8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FSharp.Core.nuget", "src\fsharp\FSharp.Core.nuget\FSharp.Core.nuget.csproj", "{8EC30B2E-F1F9-4A98-BBB5-DD0CF6C84DDC}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Compiler.Private.Scripting", "src\fsharp\FSharp.Compiler.Private.Scripting\FSharp.Compiler.Private.Scripting.fsproj", "{20B7BC36-CF51-4D75-9E13-66681C07977F}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Compiler.Private.Scripting.UnitTests", "tests\FSharp.Compiler.Private.Scripting.UnitTests\FSharp.Compiler.Private.Scripting.UnitTests.fsproj", "{09F56540-AFA5-4694-B7A6-0DBF6D4618C2}"
@ -832,18 +830,6 @@ Global
{04C59F6E-1C76-4F6A-AC21-2EA7F296A1B8}.Release|Any CPU.Build.0 = Release|Any CPU
{04C59F6E-1C76-4F6A-AC21-2EA7F296A1B8}.Release|x86.ActiveCfg = Release|Any CPU
{04C59F6E-1C76-4F6A-AC21-2EA7F296A1B8}.Release|x86.Build.0 = Release|Any CPU
{8EC30B2E-F1F9-4A98-BBB5-DD0CF6C84DDC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8EC30B2E-F1F9-4A98-BBB5-DD0CF6C84DDC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8EC30B2E-F1F9-4A98-BBB5-DD0CF6C84DDC}.Debug|x86.ActiveCfg = Debug|Any CPU
{8EC30B2E-F1F9-4A98-BBB5-DD0CF6C84DDC}.Debug|x86.Build.0 = Debug|Any CPU
{8EC30B2E-F1F9-4A98-BBB5-DD0CF6C84DDC}.Proto|Any CPU.ActiveCfg = Release|Any CPU
{8EC30B2E-F1F9-4A98-BBB5-DD0CF6C84DDC}.Proto|Any CPU.Build.0 = Release|Any CPU
{8EC30B2E-F1F9-4A98-BBB5-DD0CF6C84DDC}.Proto|x86.ActiveCfg = Release|Any CPU
{8EC30B2E-F1F9-4A98-BBB5-DD0CF6C84DDC}.Proto|x86.Build.0 = Release|Any CPU
{8EC30B2E-F1F9-4A98-BBB5-DD0CF6C84DDC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8EC30B2E-F1F9-4A98-BBB5-DD0CF6C84DDC}.Release|Any CPU.Build.0 = Release|Any CPU
{8EC30B2E-F1F9-4A98-BBB5-DD0CF6C84DDC}.Release|x86.ActiveCfg = Release|Any CPU
{8EC30B2E-F1F9-4A98-BBB5-DD0CF6C84DDC}.Release|x86.Build.0 = Release|Any CPU
{20B7BC36-CF51-4D75-9E13-66681C07977F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{20B7BC36-CF51-4D75-9E13-66681C07977F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{20B7BC36-CF51-4D75-9E13-66681C07977F}.Debug|x86.ActiveCfg = Debug|Any CPU
@ -1017,7 +1003,6 @@ Global
{E93E7D28-1C6B-4E04-BE83-68428CF7E039} = {6235B3AF-774D-4EA1-8F37-789E767F6368}
{9482211E-23D0-4BD0-9893-E4AA5559F67A} = {6235B3AF-774D-4EA1-8F37-789E767F6368}
{04C59F6E-1C76-4F6A-AC21-2EA7F296A1B8} = {647810D0-5307-448F-99A2-E83917010DAE}
{8EC30B2E-F1F9-4A98-BBB5-DD0CF6C84DDC} = {647810D0-5307-448F-99A2-E83917010DAE}
{20B7BC36-CF51-4D75-9E13-66681C07977F} = {B8DDA694-7939-42E3-95E5-265C2217C142}
{09F56540-AFA5-4694-B7A6-0DBF6D4618C2} = {CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
{DFA30881-C0B1-4813-B087-C21B5AF9B77F} = {3881429D-A97A-49EB-B7AE-A82BA5FE9C77}

Просмотреть файл

@ -505,8 +505,10 @@ try {
if ($testCompiler) {
if (-not $noVisualStudio) {
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.ComponentTests\FSharp.Compiler.ComponentTests.fsproj" -targetFramework $desktopTargetFramework
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.UnitTests\FSharp.Compiler.UnitTests.fsproj" -targetFramework $desktopTargetFramework
}
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.ComponentTests\FSharp.Compiler.ComponentTests.fsproj" -targetFramework $coreclrTargetFramework
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.UnitTests\FSharp.Compiler.UnitTests.fsproj" -targetFramework $coreclrTargetFramework
}

Просмотреть файл

@ -174,6 +174,7 @@
<MicrosoftCompositionVersion>1.0.30</MicrosoftCompositionVersion>
<MicrosoftMSXMLVersion>8.0.0-alpha</MicrosoftMSXMLVersion>
<MicrosoftNetCompilersVersion>2.7.0</MicrosoftNetCompilersVersion>
<MicrosoftNETCoreAppRefVersion>3.1.0</MicrosoftNETCoreAppRefVersion>
<MicrosoftNETCoreILDAsmVersion>3.0.0-preview-27318-01</MicrosoftNETCoreILDAsmVersion>
<MicrosoftNETCoreILAsmVersion>3.0.0-preview-27318-01</MicrosoftNETCoreILAsmVersion>
<MicrosoftNETTestSdkVersion>16.6.1</MicrosoftNETTestSdkVersion>

Просмотреть файл

@ -19,6 +19,11 @@
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<DebugType>embedded</DebugType>
<MicrosoftBuildOverallPackagesVersion>16.6</MicrosoftBuildOverallPackagesVersion>
<MicrosoftBuildVersion>$(MicrosoftBuildOverallPackagesVersion)</MicrosoftBuildVersion>
<MicrosoftBuildFrameworkVersion>$(MicrosoftBuildOverallPackagesVersion)</MicrosoftBuildFrameworkVersion>
<MicrosoftBuildTasksCoreVersion>$(MicrosoftBuildOverallPackagesVersion)</MicrosoftBuildTasksCoreVersion>
<MicrosoftBuildUtilitiesCoreVersion>$(MicrosoftBuildOverallPackagesVersion)</MicrosoftBuildUtilitiesCoreVersion>
</PropertyGroup>
<PropertyGroup>
<Summary>The F# compiler as library. For editors, for tools, for scripting. For you.</Summary>
@ -723,6 +728,9 @@
<PackageReference Include="System.Buffers" Version="4.5.0" />
<PackageReference Include="System.Memory" Version="4.5.3" />
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
<PackageReference Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildVersion)" />
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildVersion)" />
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildVersion)" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
<PackageReference Include="System.Reflection.Emit" Version="4.3.0" />

Просмотреть файл

@ -20,6 +20,8 @@
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net462'">$(BaseFrameworkPathOverrideForMono)/4.6.2-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net47'">$(BaseFrameworkPathOverrideForMono)/4.7-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net471'">$(BaseFrameworkPathOverrideForMono)/4.7.1-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net472'">$(BaseFrameworkPathOverrideForMono)/4.7.2-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net48'">$(BaseFrameworkPathOverrideForMono)/4.8-api</FrameworkPathOverride>
<EnableFrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != ''">true</EnableFrameworkPathOverride>
<!-- Add the Facades directory. Not sure how else to do this. Necessary at least for .NET 4.5 -->

Просмотреть файл

@ -48,7 +48,7 @@ folder "InstallDir:Common7\IDE\CommonExtensions\Microsoft\FSharp\%(_XlfLanguages
file source="$(ArtifactsBinDir)FSharp.Build\$(Configuration)\$(TargetFramework)\%(_XlfLanguages.Identity)\FSharp.Build.resources.dll"
file source="$(ArtifactsBinDir)FSharp.Compiler.Interactive.Settings\$(Configuration)\$(TargetFramework)\%(_XlfLanguages.Identity)\FSharp.Compiler.Interactive.Settings.resources.dll"
file source="$(ArtifactsBinDir)FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\%(_XlfLanguages.Identity)\FSharp.Compiler.Private.resources.dll"
file source="$(ArtifactsBinDir)FSharp.Core\$(Configuration)\net45\%(_XlfLanguages.Identity)\FSharp.Core.resources.dll"
file source="$(ArtifactsBinDir)FSharp.Core\$(Configuration)\netstandard2.0\%(_XlfLanguages.Identity)\FSharp.Core.resources.dll"
]]>
</_Line>
</PropertyGroup>
@ -98,9 +98,9 @@ folder "InstallDir:Common7\IDE\CommonExtensions\Microsoft\FSharp"
file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Runtime.CompilerServices.Unsafe.dll"
file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\$(TargetFramework)\System.Threading.Tasks.Dataflow.dll"
file source="$(BinariesFolder)\FSharp.Compiler.Server.Shared\$(Configuration)\$(TargetFramework)\FSharp.Compiler.Server.Shared.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2
file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\net45\FSharp.Core.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2
file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\net45\FSharp.Core.optdata"
file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\net45\FSharp.Core.sigdata"
file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\netstandard2.0\FSharp.Core.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2
file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\netstandard2.0\FSharp.Core.optdata"
file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\netstandard2.0\FSharp.Core.sigdata"
file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\$(TargetFramework)\FSharp.Build.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2
file source="$(BinariesFolder)\Microsoft.DotNet.DependencyManager\$(Configuration)\net472\Microsoft.DotNet.DependencyManager.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2
file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\$(TargetFramework)\Microsoft.Build.Framework.dll"

Просмотреть файл

@ -3700,12 +3700,17 @@ type TcAssemblyResolutions(tcConfig: TcConfig, results: AssemblyResolution list,
static member GetAllDllReferences (tcConfig: TcConfig) = [
let primaryReference = tcConfig.PrimaryAssemblyDllReference()
//yield primaryReference
let assumeDotNetFramework = primaryReference.SimpleAssemblyNameIs("mscorlib")
if not tcConfig.compilingFslib then
yield tcConfig.CoreLibraryDllReference()
if assumeDotNetFramework then
// When building desktop then we need these additional dependencies
yield AssemblyReference(rangeStartup, "System.Numerics.dll", None)
yield AssemblyReference(rangeStartup, "System.dll", None)
yield AssemblyReference(rangeStartup, "netstandard.dll", None)
let assumeDotNetFramework = primaryReference.SimpleAssemblyNameIs("mscorlib")
if tcConfig.framework then
for s in defaultReferencesForScriptsAndOutOfProjectSources tcConfig.useFsiAuxLib assumeDotNetFramework tcConfig.useSdkRefs do
yield AssemblyReference(rangeStartup, (if s.EndsWith(".dll", StringComparison.OrdinalIgnoreCase) then s else s+".dll"), None)
@ -4108,7 +4113,6 @@ and [<Sealed>] TcImports(tcConfigP: TcConfigProvider, initialResolutions: TcAsse
tcImports.ImplicitLoadIfAllowed(ctok, m, assemblyName, lookupOnly)
look tcImports
member tcImports.FindDllInfo (ctok, m, assemblyName) =
match tcImports.TryFindDllInfo (ctok, m, assemblyName, lookupOnly=false) with
| Some res -> res
@ -4861,10 +4865,8 @@ and [<Sealed>] TcImports(tcConfigP: TcConfigProvider, initialResolutions: TcAsse
// Note, if mode=ResolveAssemblyReferenceMode.Speculative and the resolution failed then TryResolveLibsUsingMSBuildRules returns
// the empty list and we convert the failure into an AssemblyNotResolved here.
ErrorD(AssemblyNotResolved(assemblyReference.Text, assemblyReference.Range))
#endif
member tcImports.ResolveAssemblyReference(ctok, assemblyReference, mode) : AssemblyResolution list =
CommitOperationResult(tcImports.TryResolveAssemblyReference(ctok, assemblyReference, mode))

Просмотреть файл

@ -673,6 +673,8 @@ type TcImports =
member ReportUnresolvedAssemblyReferences: UnresolvedAssemblyReference list -> unit
member SystemRuntimeContainsType: string -> bool
member internal Base: TcImports option
static member BuildFrameworkTcImports : CompilationThreadToken * TcConfigProvider * AssemblyResolution list * AssemblyResolution list -> Cancellable<TcGlobals * TcImports>
static member BuildNonFrameworkTcImports : CompilationThreadToken * TcConfigProvider * TcGlobals * TcImports * AssemblyResolution list * UnresolvedAssemblyReference list -> Cancellable<TcImports>
static member BuildTcImports : CompilationThreadToken * TcConfigProvider -> Cancellable<TcGlobals * TcImports>

Просмотреть файл

@ -983,7 +983,9 @@ let advancedFlagsFsc tcConfigB =
yield CompilerOption
("staticlink", tagFile,
OptionString (fun s -> tcConfigB.extraStaticLinkRoots <- tcConfigB.extraStaticLinkRoots @ [s]), None,
OptionString (fun s ->
tcConfigB.extraStaticLinkRoots <- tcConfigB.extraStaticLinkRoots @ [s]
tcConfigB.implicitlyResolveAssemblies <- true), None,
Some (FSComp.SR.optsStaticlink()))
#if ENABLE_MONO_SUPPORT

Просмотреть файл

@ -1,9 +0,0 @@
<Project>
<PropertyGroup>
<UseFSharpPackageVersion>true</UseFSharpPackageVersion>
</PropertyGroup>
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
</Project>

Просмотреть файл

@ -1,20 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<PropertyGroup>
<PreRelease>true</PreRelease>
<TargetFrameworks>net45;netstandard2.0</TargetFrameworks>
<PackageId>FSharp.Core</PackageId>
<NuspecFile>FSharp.Core.nuspec</NuspecFile>
<IsPackable>true</IsPackable>
<PackageDescription>FSharp.Core redistributables from Visual F# Tools version $(FSPackageMajorVersion) For F# $(FSCoreMajorVersion). Contains code from the F# Software Foundation.</PackageDescription>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\FSharp.Core\FSharp.Core.fsproj">
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Target Name="Build" />
</Project>

Просмотреть файл

@ -4,8 +4,7 @@
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFrameworks>net45;netstandard2.0</TargetFrameworks>
<TargetFrameworks Condition="'$(OS)' == 'Unix'">netstandard2.0</TargetFrameworks>
<TargetFrameworks>netstandard2.0</TargetFrameworks>
<NoWarn>$(NoWarn);45;55;62;75;1204</NoWarn>
<AllowCrossTargeting>true</AllowCrossTargeting>
<DefineConstants>$(DefineConstants);FSHARP_CORE</DefineConstants>
@ -13,6 +12,12 @@
<OtherFlags>$(OtherFlags) --warnon:1182 --compiling-fslib --compiling-fslib-40 --maxerrors:20 --extraoptimizationloops:1 --nowarn:57</OtherFlags>
<Tailcalls>true</Tailcalls> <!-- .tail annotations always emitted for this binary, even in debug mode -->
<NGenBinary>true</NGenBinary>
<PreRelease>true</PreRelease>
<PackageId>FSharp.Core</PackageId>
<NuspecFile>FSharp.Core.nuspec</NuspecFile>
<IsPackable>true</IsPackable>
<PackageDescription>FSharp.Core redistributables from Visual F# Tools version $(FSPackageMajorVersion) For F# $(FSCoreMajorVersion). Contains code from the F# Software Foundation.</PackageDescription>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -5,7 +5,6 @@
<language>en-US</language>
<dependencies>
<group targetFramework=".NETStandard2.0" />
<group targetFramework="net45" />
</dependencies>
</metadata>
<files>
@ -16,13 +15,7 @@
<file src="FSharp.Core\$Configuration$\netstandard2.0\FSharp.Core.optdata" target="lib\netstandard2.0" />
<file src="FSharp.Core\$Configuration$\netstandard2.0\FSharp.Core.xml" target="lib\netstandard2.0" />
<file src="FSharp.Core\$Configuration$\net45\FSharp.Core.dll" target="lib\net45" />
<file src="FSharp.Core\$Configuration$\net45\FSharp.Core.sigdata" target="lib\net45" />
<file src="FSharp.Core\$Configuration$\net45\FSharp.Core.optdata" target="lib\net45" />
<file src="FSharp.Core\$Configuration$\net45\FSharp.Core.xml" target="lib\net45" />
<!-- resources -->
<file src="FSharp.Core\$Configuration$\netstandard2.0\**\FSharp.Core.resources.dll" target="lib\netstandard2.0" />
<file src="FSharp.Core\$Configuration$\net45\**\FSharp.Core.resources.dll" target="lib\net45" />
</files>
</package>

Просмотреть файл

@ -10,26 +10,90 @@ open System
open System.IO
open System.Reflection
open Microsoft.Win32
open Microsoft.Build.Utilities
open FSharp.Compiler.ReferenceResolver
open FSharp.Compiler.AbstractIL.Internal.Library
// ATTENTION!: the following code needs to be updated every time we are switching to the new MSBuild version because new .NET framework version was released
// 1. List of frameworks
// 2. DeriveTargetFrameworkDirectoriesFor45Plus
// 3. HighestInstalledRefAssembliesOrDotNETFramework
// 4. GetPathToDotNetFrameworkImlpementationAssemblies
[<Literal>]
let private Net45 = "v4.5"
[<Literal>]
let private Net451 = "v4.5.1"
[<Literal>]
let private Net452 = "v4.5.2" // not available in Dev15 MSBuild version
[<Literal>]
let private Net46 = "v4.6"
[<Literal>]
let private Net461 = "v4.6.1"
[<Literal>]
let private Net462 = "v4.6.2"
[<Literal>]
let private Net47 = "v4.7"
[<Literal>]
let private Net471 = "v4.7.1"
[<Literal>]
let private Net472 = "v4.7.2"
[<Literal>]
let private Net48 = "v4.8"
let SupportedDesktopFrameworkVersions = [ Net48; Net472; Net471; Net47; Net462; Net461; Net46; Net452; Net451; Net45 ]
let private SimulatedMSBuildResolver =
let supportedFrameworks = [|
"v4.7.2"
"v4.7.1"
"v4.7"
"v4.6.2"
"v4.6.1"
"v4.6"
"v4.5.1"
"v4.5"
"v4.0"
|]
/// Get the path to the .NET Framework implementation assemblies by using ToolLocationHelper.GetPathToDotNetFramework
/// This is only used to specify the "last resort" path for assembly resolution.
let GetPathToDotNetFrameworkImlpementationAssemblies(v) =
let v =
match v with
| Net45 -> Some TargetDotNetFrameworkVersion.Version45
| Net451 -> Some TargetDotNetFrameworkVersion.Version451
#if MSBUILD_AT_LEAST_15
| Net452 -> Some TargetDotNetFrameworkVersion.Version452
| Net46 -> Some TargetDotNetFrameworkVersion.Version46
| Net461 -> Some TargetDotNetFrameworkVersion.Version461
| Net462 -> Some TargetDotNetFrameworkVersion.Version462
| Net47 -> Some TargetDotNetFrameworkVersion.Version47
| Net471 -> Some TargetDotNetFrameworkVersion.Version471
| Net472 -> Some TargetDotNetFrameworkVersion.Version472
| Net48 -> Some TargetDotNetFrameworkVersion.Version48
#endif
| _ -> assert false; None
match v with
| Some v ->
match ToolLocationHelper.GetPathToDotNetFramework v with
| null -> []
| x -> [x]
| _ -> []
let GetPathToDotNetFrameworkReferenceAssemblies(version) =
#if NETSTANDARD
ignore version
let r : string list = []
r
#else
match Microsoft.Build.Utilities.ToolLocationHelper.GetPathToStandardLibraries(".NETFramework",version,"") with
| null | "" -> []
| x -> [x]
#endif
{ new Resolver with
member x.HighestInstalledNetFrameworkVersion() =
let root = x.DotNetFrameworkReferenceAssembliesRootDirectory
let fwOpt = supportedFrameworks |> Seq.tryFind(fun fw -> Directory.Exists(Path.Combine(root, fw) ))
let fwOpt = SupportedDesktopFrameworkVersions |> Seq.tryFind(fun fw -> Directory.Exists(Path.Combine(root, fw) ))
match fwOpt with
| Some fw -> fw
| None -> "v4.5"
@ -86,6 +150,8 @@ let private SimulatedMSBuildResolver =
if System.Environment.OSVersion.Platform = System.PlatformID.Win32NT then
yield! registrySearchPaths()
#endif
yield! GetPathToDotNetFrameworkReferenceAssemblies targetFrameworkVersion
yield! GetPathToDotNetFrameworkImlpementationAssemblies targetFrameworkVersion
]
for (r, baggage) in references do

Просмотреть файл

@ -1314,7 +1314,7 @@ module StaticLinker =
data=ilxMainModule // any old module
edges = []
visited = true }
let assumedIndependentSet = set [ "mscorlib"; "System"; "System.Core"; "System.Xml"; "Microsoft.Build.Framework"; "Microsoft.Build.Utilities" ]
let assumedIndependentSet = set [ "mscorlib"; "System"; "System.Core"; "System.Xml"; "Microsoft.Build.Framework"; "Microsoft.Build.Utilities"; "netstandard" ]
begin
let mutable remaining = (computeILRefs ilGlobals ilxMainModule).AssemblyReferences

Просмотреть файл

@ -4,6 +4,7 @@
<OutputType>Library</OutputType>
<TargetFrameworks>netcoreapp3.1;net472</TargetFrameworks>
<FSharpCoreImplicitPackageVersion>$(FSharpCoreShippedPackageVersion)</FSharpCoreImplicitPackageVersion>
<TargetFrameworks>netcoreapp3.1;net472</TargetFrameworks>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -7,7 +7,6 @@ open FSharp.Test.Utilities.Compiler
module ``Confusing Type Name`` =
[<Fact>]
let ``Expected types with multiple references`` () =
let csLibA =
@ -55,5 +54,4 @@ printfn "%A" (b = otherB)
(Warning 686, Line 9, Col 14, Line 9, Col 36, "The method or function 'makeOtherB' should not be given explicit type argument(s) because it does not declare its type parameters explicitly")
(Error 1, Line 6, Col 19, Line 6, Col 25, "This expression was expected to have type\n 'A (libA, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null)' \nbut here has type\n 'A (libB, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null)' ")
(Error 1, Line 11, Col 19, Line 11, Col 25, "This expression was expected to have type\n 'B<Microsoft.FSharp.Core.int> (libA, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null)' \nbut here has type\n 'B<Microsoft.FSharp.Core.int> (libB, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null)' ")
]

Просмотреть файл

@ -1,14 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net472;netcoreapp3.1</TargetFrameworks>
<RuntimeIdentifiers>win-x86;win-x64;linux-x64;osx-x64</RuntimeIdentifiers>
<TargetFrameworks Condition="'$(OS)' == 'Unix'">netcoreapp3.1</TargetFrameworks>
<RuntimeIdentifiers Condition="'$(OS)' == 'Unix'">linux-x64;osx-x64</RuntimeIdentifiers>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81</AssetTargetFallback>
<ReferenceVsAssemblies>true</ReferenceVsAssemblies>
<OutputType>Library</OutputType>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
<Optimize>false</Optimize>
@ -42,6 +37,7 @@
<Compile Include="ConstraintSolver\PrimitiveConstraints.fs" />
<Compile Include="ConstraintSolver\MemberConstraints.fs" />
<Compile Include="Interop\SimpleInteropTests.fs" />
<Compile Include="Interop\VisibilityTests.fs" />
</ItemGroup>
<ItemGroup>
@ -49,17 +45,4 @@
<ProjectReference Include="$(FSharpSourcesRoot)\fsharp\FSharp.Core\FSharp.Core.fsproj" />
<ProjectReference Include="$(FSharpTestsRoot)\FSharp.Test.Utilities\FSharp.Test.Utilities.fsproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Net.Compilers" Version="$(MicrosoftNetCompilersVersion)" />
<PackageReference Include="Microsoft.NETCore.ILDAsm" Version="$(MicrosoftNETCoreILDAsmVersion)" />
<PackageReference Include="Microsoft.NETCore.ILAsm" Version="$(MicrosoftNETCoreILAsmVersion)" />
<PackageReference Include="System.Collections.Immutable" Version="$(SystemCollectionsImmutableVersion)" />
<PackageReference Include="System.Memory" Version="$(SystemMemoryVersion)" />
<PackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataVersion)" />
<PackageReference Include="System.Runtime.Loader" Version="$(SystemRuntimeLoaderVersion)" />
<PackageReference Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="$(MicrosoftCodeAnalysisWorkspacesCommonVersion)" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="$(MicrosoftCodeAnalysisCSharpVersion)" />
<PackageReference Include="Microsoft.CodeAnalysis.Test.Resources.Proprietary" Version="$(MicrosoftCodeAnalysisTestResourcesProprietaryVersion)" />
</ItemGroup>
</Project>

Просмотреть файл

@ -31,8 +31,7 @@ let a = AMaker.makeA()
|> compile
|> shouldSucceed
[<Fact(Skip="TODO: This is broken RN, since netcoreapp30 is used for C# and 3.1 for F#, should be fixed as part of https://github.com/dotnet/fsharp/issues/9740")>]
[<Fact>]
let ``Instantiate F# type from C#`` () =
let FSLib =
FSharp """

Просмотреть файл

@ -1,16 +1,9 @@
// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
namespace FSharp.Compiler.ComponentTests.Interop
namespace FSharp.Compiler.UnitTests
open Xunit
open FSharp.Test.Utilities.Compiler
open FSharp.Compiler.SourceCodeServices
open FSharp.Reflection
open FSharp.Test
open FSharp.Test.Utilities
open FSharp.Test.Utilities.Utilities
open NUnit.Framework
[<TestFixture>]
module ILMemberAccessTests =
module ``Verify visibility of properties`` =
let csharpBaseClass = """
namespace ExhaustiveCombinations
@ -29,8 +22,7 @@ namespace ExhaustiveCombinations
public string SetPublicGetProtectedInternal { protected internal get; set; }
public string SetPublicGetPrivate { private get; set; }
}
}
"""
}"""
let fsharpBaseClass = """
namespace ExhaustiveCombinations
@ -38,17 +30,15 @@ namespace ExhaustiveCombinations
open System
type FSharpBaseClass () =
member this.GetPublicSetInternal with public get() = "" and internal set (parameter:string) = ignore parameter
member this.GetPublicSetPrivate with public get() = "" and private set (parameter:string) = ignore parameter
member this.SetPublicGetInternal with internal get() = "" and public set (parameter:string) = ignore parameter
member this.SetPublicGetPrivate with private get() = "" and public set (parameter:string) = ignore parameter
member this.SetPublicGetPrivate with private get() = "" and public set (parameter:string) = ignore parameter"""
"""
[<Fact>]
let ``C# class F# derived class - access public`` () =
[<Test>]
let ``VerifyVisibility of Properties C# class F# derived class -- AccessPublicStuff`` () =
let csharpLib = CSharp csharpBaseClass |> withName "csLib"
let fsharpSource =
fsharpBaseClass + """
@ -76,25 +66,23 @@ type MyFSharpClass () =
let _ = this.GetPublicSetPrivate // Accessible
()
"""
Fsx fsharpSource
|> withOptions ["--langversion:preview"]
|> withReferences [csharpLib]
|> compile
|> shouldFail
|> withDiagnostics [
(Error 491, Line 19, Col 9, Line 19, Col 41,
"The member or object constructor 'GetPublicSetInternal' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")
(Error 491, Line 22, Col 9, Line 22, Col 49,
"The member or object constructor 'GetPublicSetPrivateProtected' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")
(Error 491, Line 31, Col 9, Line 31, Col 40,
"The member or object constructor 'GetPublicSetPrivate' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")]
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpBaseClass, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
|> CompilationReference.Create
[<Fact>]
let ``C# class F# non-derived class - access public`` () =
let fsCmpl =
Compilation.Create(fsharpSource, Fsx, Exe, options = [|"--langversion:preview"|], cmplRefs = [csCmpl])
CompilerAssert.CompileWithErrors(fsCmpl, [|
(FSharpErrorSeverity.Error, 491, (22, 9, 22, 41),
"The member or object constructor 'GetPublicSetInternal' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.");
(FSharpErrorSeverity.Error, 491, (25, 9, 25, 49),
"The member or object constructor 'GetPublicSetPrivateProtected' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.");
(FSharpErrorSeverity.Error, 491, (34, 9, 34, 40),
"The member or object constructor 'GetPublicSetPrivate' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")|])
[<Test>]
let ``VerifyVisibility of Properties C# class F# non-derived class -- AccessPublicStuff`` () =
let csharpLib = CSharp csharpBaseClass |> withName "csLib"
let fsharpSource =
fsharpBaseClass + """
@ -123,30 +111,29 @@ type MyFSharpClass () =
()
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpBaseClass, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
|> CompilationReference.Create
let fsCmpl =
Compilation.Create(fsharpSource, Fsx, Exe, options = [|"--langversion:preview"|], cmplRefs = [csCmpl])
CompilerAssert.CompileWithErrors(fsCmpl, [|
(FSharpErrorSeverity.Error, 491, (22, 9, 22, 39),
"The member or object constructor 'GetPublicSetInternal' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.");
(FSharpErrorSeverity.Error, 491, (25, 9, 25, 47),
"The member or object constructor 'GetPublicSetPrivateProtected' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.");
(FSharpErrorSeverity.Error, 491, (28, 9, 28, 48),
"The member or object constructor 'GetPublicSetProtectedInternal' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.");
(FSharpErrorSeverity.Error, 491, (31, 9, 31, 40),
"The member or object constructor 'GetPublicSetProtected' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.");
(FSharpErrorSeverity.Error, 491, (32, 17, 32, 41),
Fsx fsharpSource
|> withOptions ["--langversion:preview"]
|> withReferences [csharpLib]
|> compile
|> shouldFail
|> withDiagnostics [
(Error 491, Line 19, Col 9, Line 19, Col 39,
"The member or object constructor 'GetPublicSetInternal' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")
(Error 491, Line 22, Col 9, Line 22, Col 47,
"The member or object constructor 'GetPublicSetPrivateProtected' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")
(Error 491, Line 25, Col 9, Line 25, Col 48,
"The member or object constructor 'GetPublicSetProtectedInternal' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")
(Error 491, Line 28, Col 9, Line 28, Col 40,
"The member or object constructor 'GetPublicSetProtected' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")
(Error 491, Line 29, Col 17, Line 29, Col 41,
"The member or object constructor 'SetPublicGetProtected' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.");
(FSharpErrorSeverity.Error, 491, (34, 9, 34, 38),
"The member or object constructor 'GetPublicSetPrivate' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")|])
(Error 491, Line 31, Col 9, Line 31, Col 38,
"The member or object constructor 'GetPublicSetPrivate' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")]
[<Fact>]
let ``F# base F# derived class - access public`` () =
[<Test>]
let ``VerifyVisibility of Properties F# base F# derived class -- AccessPublicStuff`` () =
let csharpLib = CSharp csharpBaseClass |> withName "csLib"
let fsharpSource =
fsharpBaseClass + """
@ -155,7 +142,6 @@ open ExhaustiveCombinations
type MyFSharpClass () =
inherit FSharpBaseClass()
member this.AccessPublicStuff() =
this.GetPublicSetInternal <- "1" // Inaccessible
@ -170,26 +156,20 @@ type MyFSharpClass () =
this.SetPublicGetPrivate <- "1" // Accessible
let _ = this.SetPublicGetPrivate // accessible
()
"""
()"""
Fsx fsharpSource
|> withOptions ["--langversion:preview"]
|> withReferences [csharpLib]
|> compile
|> shouldFail
|> withDiagnostics [
(Error 810, Line 21, Col 9, Line 21, Col 33, "Property 'GetPublicSetPrivate' cannot be set")
(Error 807, Line 28, Col 17, Line 28, Col 41, "Property 'SetPublicGetPrivate' is not readable")]
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpBaseClass, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
|> CompilationReference.Create
[<Fact>]
let ``F# class F# non-derived class - access public`` () =
let fsCmpl =
Compilation.Create(fsharpSource, Fsx, Exe, options = [|"--langversion:preview"|], cmplRefs = [csCmpl])
CompilerAssert.CompileWithErrors(fsCmpl, [|
(FSharpErrorSeverity.Error, 810, (25, 9, 25, 33),
"Property 'GetPublicSetPrivate' cannot be set");
(FSharpErrorSeverity.Error, 807, (32, 17, 32, 41),
"Property 'SetPublicGetPrivate' is not readable")
|])
[<Test>]
let ``VerifyVisibility of Properties F# class F# non-derived class -- AccessPublicStuff`` () =
let csharpLib = CSharp csharpBaseClass |> withName "csLib"
let fsharpSource =
fsharpBaseClass + """
@ -197,7 +177,6 @@ open System
open ExhaustiveCombinations
type MyFSharpClass () =
member _.AccessPublicStuff() =
let bc = new FSharpBaseClass()
@ -206,19 +185,11 @@ type MyFSharpClass () =
bc.GetPublicSetPrivate <- "1" // Inaccessible
let _ = bc.GetPublicSetPrivate // Accessible
()
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpBaseClass, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
|> CompilationReference.Create
let fsCmpl =
Compilation.Create(fsharpSource, Fsx, Exe, options = [|"--langversion:preview"|], cmplRefs = [csCmpl])
CompilerAssert.CompileWithErrors(fsCmpl, [|
(FSharpErrorSeverity.Error, 810, (25, 9, 25, 31),
"Property 'GetPublicSetPrivate' cannot be set")|])
()"""
Fsx fsharpSource
|> withOptions ["--langversion:preview"]
|> withReferences [csharpLib]
|> compile
|> shouldFail
|> withSingleDiagnostic (Error 810, Line 21, Col 9, Line 21, Col 31, "Property 'GetPublicSetPrivate' cannot be set")

Просмотреть файл

@ -85,9 +85,7 @@
<Compile Include="FSharp.Core\Microsoft.FSharp.Quotations\FSharpQuotations.fs" />
<Compile Include="TypeForwarding.fs" />
<Compile Include="StructTuples.fs" />
<Compile Include="SurfaceArea.coreclr.fs" Condition="$(TargetFramework.StartsWith('netcoreapp'))" />
<Compile Include="SurfaceArea.net40.fs" Condition="$(TargetFramework.StartsWith('net4'))" />
<Compile Include="SurfaceArea.fs" />
</ItemGroup>
<ItemGroup />

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -105,7 +105,7 @@ module rec Compiler =
| _ ->
{ Source = Text source
LangVersion = CSharpLanguageVersion.CSharp8
TargetFramework = TargetFramework.NetCoreApp30
TargetFramework = TargetFramework.NetCoreApp31
Name = None
References = [] }
@ -274,6 +274,7 @@ module rec Compiler =
Directory.CreateDirectory(outputPath) |> ignore
let filename = compilation.AssemblyName
let output = Path.Combine(outputPath, Path.ChangeExtension(filename, ".dll"))
let cmplResult = compilation.Emit (output)

Просмотреть файл

@ -84,18 +84,32 @@ type CompilerAssert private () =
static let _ = config |> ignore
// Do a one time dotnet sdk build to compute the proper set of reference assemblies to pass to the compiler
#if NETCOREAPP
static let projectFile = """
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>$TARGETFRAMEWORK</TargetFramework>
<UseFSharpPreview>true</UseFSharpPreview>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
</PropertyGroup>
<ItemGroup><Compile Include="Program.fs" /></ItemGroup>
<ItemGroup><Reference Include="$FSHARPCORELOCATION" /></ItemGroup>
<ItemGroup Condition="'$(TARGETFRAMEWORK)'=='net472'">
<Reference Include="System" />
<Reference Include="System.Runtime" />
<Reference Include="System.Core.dll" />
<Reference Include="System.Xml.Linq.dll" />
<Reference Include="System.Data.DataSetExtensions.dll" />
<Reference Include="Microsoft.CSharp.dll" />
<Reference Include="System.Data.dll" />
<Reference Include="System.Deployment.dll" />
<Reference Include="System.Drawing.dll" />
<Reference Include="System.Net.Http.dll" />
<Reference Include="System.Windows.Forms.dll" />
<Reference Include="System.Xml.dll" />
</ItemGroup>
<Target Name="WriteFrameworkReferences" AfterTargets="AfterBuild">
<WriteLinesToFile File="FrameworkReferences.txt" Lines="@(ReferencePath)" Overwrite="true" WriteOnlyWhenDifferent="true" />
@ -114,14 +128,18 @@ let main argv = 0"""
let mutable errors = ""
let mutable cleanUp = true
let projectDirectory = Path.Combine(Path.GetTempPath(), "CompilerAssert", Path.GetRandomFileName())
let pathToFSharpCore = typeof<RequireQualifiedAccessAttribute>.Assembly.Location
try
try
Directory.CreateDirectory(projectDirectory) |> ignore
let projectFileName = Path.Combine(projectDirectory, "ProjectFile.fsproj")
let programFsFileName = Path.Combine(projectDirectory, "Program.fs")
let frameworkReferencesFileName = Path.Combine(projectDirectory, "FrameworkReferences.txt")
File.WriteAllText(projectFileName, projectFile)
#if NETCOREAPP
File.WriteAllText(projectFileName, projectFile.Replace("$TARGETFRAMEWORK", "netcoreapp3.1").Replace("$FSHARPCORELOCATION", pathToFSharpCore))
#else
File.WriteAllText(projectFileName, projectFile.Replace("$TARGETFRAMEWORK", "net472").Replace("$FSHARPCORELOCATION", pathToFSharpCore))
#endif
File.WriteAllText(programFsFileName, programFs)
let pInfo = ProcessStartInfo ()
@ -133,13 +151,13 @@ let main argv = 0"""
pInfo.UseShellExecute <- false
let p = Process.Start(pInfo)
p.WaitForExit()
let succeeded = p.WaitForExit(10000)
output <- p.StandardOutput.ReadToEnd ()
errors <- p.StandardError.ReadToEnd ()
if not (String.IsNullOrWhiteSpace errors) then Assert.Fail errors
if p.ExitCode <> 0 then Assert.Fail(sprintf "Program exited with exit code %d" p.ExitCode)
if p.ExitCode <> 0 || not succeeded then Assert.Fail(sprintf "Program exited with exit code %d" p.ExitCode)
File.ReadLines(frameworkReferencesFileName) |> Seq.toArray
with | e ->
@ -150,7 +168,6 @@ let main argv = 0"""
finally
if cleanUp then
try Directory.Delete(projectDirectory) with | _ -> ()
#endif
#if FX_NO_APP_DOMAINS
static let executeBuiltApp assembly deps =
@ -186,12 +203,12 @@ let main argv = 0"""
ProjectFileName = "Z:\\test.fsproj"
ProjectId = None
SourceFiles = [|"test.fs"|]
#if NETCOREAPP
OtherOptions =
let assemblies = getNetCoreAppReferences |> Array.map (fun x -> sprintf "-r:%s" x)
Array.append [|"--preferreduilang:en-US"; "--targetprofile:netcore"; "--noframework";"--warn:5"|] assemblies
#if NETCOREAPP
Array.append [|"--preferreduilang:en-US"; "--targetprofile:netcore"; "--noframework"; "--simpleresolution"; "--warn:5"|] assemblies
#else
OtherOptions = [|"--preferreduilang:en-US";"--warn:5"|]
Array.append [|"--preferreduilang:en-US"; "--targetprofile:mscorlib"; "--noframework"; "--warn:5"|] assemblies
#endif
ReferencedProjects = [||]
IsIncompleteTypeCheckEnvironment = false
@ -210,7 +227,6 @@ let main argv = 0"""
|> Array.append defaultProjectOptions.OtherOptions
|> Array.append [| "fsc.exe"; inputFilePath; "-o:" + outputFilePath; (if isExe then "--target:exe" else "--target:library"); "--nowin32manifest" |]
let errors, _ = checker.Compile args |> Async.RunSynchronously
errors, outputFilePath
static let compileAux isExe options source f : unit =
@ -635,7 +651,7 @@ let main argv = 0"""
#if NETCOREAPP
let args = Array.append argv [|"--noninteractive"; "--targetprofile:netcore"|]
#else
let args = Array.append argv [|"--noninteractive"|]
let args = Array.append argv [|"--noninteractive"; "--targetprofile:mscorlib"|]
#endif
let allArgs = Array.append args options

Просмотреть файл

@ -25,6 +25,8 @@
<Compile Include="Compiler.fs" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<!-- CompilerAssert dependencies.
Make sure they are getting built with the Utilities. -->
@ -35,7 +37,11 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Net.Compilers.Toolset" Version="$(MicrosoftNetCompilersToolsetVersion)" />
<PackageReference Include="NUnit" Version="$(NUnitVersion)" /> <!-- TODO: This should be removed once all NUnit frameworks are migrated to xUnit -->
<PackageReference Include="FluentAssertions" Version="$(FluentAssertionsVersion)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Net.Compilers" Version="$(MicrosoftNetCompilersVersion)" />
<PackageReference Include="Microsoft.NETCore.ILDAsm" Version="$(MicrosoftNETCoreILDAsmVersion)" />
<PackageReference Include="Microsoft.NETCore.ILAsm" Version="$(MicrosoftNETCoreILAsmVersion)" />
<PackageReference Include="System.Collections.Immutable" Version="$(SystemCollectionsImmutableVersion)" />
@ -45,7 +51,29 @@
<PackageReference Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="$(MicrosoftCodeAnalysisWorkspacesCommonVersion)" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="$(MicrosoftCodeAnalysisCSharpVersion)" />
<PackageReference Include="Microsoft.CodeAnalysis.Test.Resources.Proprietary" Version="$(MicrosoftCodeAnalysisTestResourcesProprietaryVersion)" />
<PackageReference Include="NUnit" Version="$(NUnitVersion)" /> <!-- TODO: This should be removed once all NUnit frameworks are migrated to xUnit -->
<PackageReference Include="FluentAssertions" Version="$(FluentAssertionsVersion)" />
<PackageReference Include="Microsoft.NETCore.App.Ref" Version="3.1.0" IncludeAssets="none" PrivateAssets="all" GeneratePathProperty="true" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="$(PkgMicrosoft_NETCore_App_Ref)\ref\netcoreapp3.1\mscorlib.dll" LogicalName="netcoreapp31.mscorlib.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="$(PkgMicrosoft_NETCore_App_Ref)\ref\netcoreapp3.1\System.dll" LogicalName="netcoreapp31.System.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="$(PkgMicrosoft_NETCore_App_Ref)\ref\netcoreapp3.1\System.Core.dll" LogicalName="netcoreapp31.System.Core.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="$(PkgMicrosoft_NETCore_App_Ref)\ref\netcoreapp3.1\System.Console.dll" LogicalName="netcoreapp31.System.Console.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="$(PkgMicrosoft_NETCore_App_Ref)\ref\netcoreapp3.1\System.Runtime.dll" LogicalName="netcoreapp31.System.Runtime.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="$(PkgMicrosoft_NETCore_App_Ref)\ref\netcoreapp3.1\System.Dynamic.Runtime.dll" LogicalName="netcoreapp31.System.Runtime.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="$(PkgMicrosoft_NETCore_App_Ref)\ref\netcoreapp3.1\netstandard.dll" LogicalName="netcoreapp31.netstandard.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
</ItemGroup>
</Project>

Просмотреть файл

@ -94,10 +94,10 @@ module Commands =
#endif
let csc exec cscExe flags srcFiles =
exec cscExe (sprintf "%s %s" flags (srcFiles |> Seq.ofList |> String.concat " "))
exec cscExe (sprintf "%s %s /reference:netstandard.dll" flags (srcFiles |> Seq.ofList |> String.concat " "))
let vbc exec vbcExe flags srcFiles =
exec vbcExe (sprintf "%s %s" flags (srcFiles |> Seq.ofList |> String.concat " "))
exec vbcExe (sprintf "%s %s /reference:netstandard.dll" flags (srcFiles |> Seq.ofList |> String.concat " "))
let fsi exec fsiExe flags sources =
exec fsiExe (sprintf "%s %s" flags (sources |> Seq.ofList |> String.concat " "))
@ -202,7 +202,7 @@ let config configurationName envVars =
#if NET472
let fscArchitecture = "net472"
let fsiArchitecture = "net472"
let fsharpCoreArchitecture = "net45"
let fsharpCoreArchitecture = "netstandard2.0"
let fsharpBuildArchitecture = "net472"
let fsharpCompilerInteractiveSettingsArchitecture = "net472"
let peverifyArchitecture = "net472"

Просмотреть файл

@ -18,7 +18,28 @@ module Utilities =
[<RequireQualifiedAccess>]
type TargetFramework =
| NetStandard20
| NetCoreApp30
| NetCoreApp31
let private getResourceStream name =
let assembly = typeof<TargetFramework>.GetTypeInfo().Assembly
let stream = assembly.GetManifestResourceStream(name);
match stream with
| null -> failwith (sprintf "Resource '%s' not found in %s." name assembly.FullName)
| _ -> stream
let private getResourceBlob name =
use stream = getResourceStream name
let (bytes: byte[]) = Array.zeroCreate (int stream.Length)
use memoryStream = new MemoryStream (bytes)
stream.CopyTo(memoryStream)
bytes
let private getOrCreateResource (resource: byref<byte[]>) (name: string) =
match resource with
| null -> getResourceBlob name
| _ -> resource
module private TestReferences =
[<RequireQualifiedAccess>]
@ -29,15 +50,29 @@ module Utilities =
let systemCoreRef = lazy AssemblyMetadata.CreateFromImage(TestResources.NetFX.netstandard20.System_Core).GetReference(display = "System.Core.dll (netstandard 2.0 ref)")
let systemDynamicRuntimeRef = lazy AssemblyMetadata.CreateFromImage(TestResources.NetFX.netstandard20.System_Dynamic_Runtime).GetReference(display = "System.Dynamic.Runtime.dll (netstandard 2.0 ref)")
[<RequireQualifiedAccess>]
module NetCoreApp30 =
let netStandard = lazy AssemblyMetadata.CreateFromImage(TestResources.NetFX.netcoreapp30.netstandard).GetReference(display = "netstandard.dll (netcoreapp 3.0 ref)")
let mscorlibRef = lazy AssemblyMetadata.CreateFromImage(TestResources.NetFX.netcoreapp30.mscorlib).GetReference(display = "mscorlib.dll (netcoreapp 3.0 ref)")
let systemRuntimeRef = lazy AssemblyMetadata.CreateFromImage(TestResources.NetFX.netcoreapp30.System_Runtime).GetReference(display = "System.Runtime.dll (netcoreapp 3.0 ref)")
let systemCoreRef = lazy AssemblyMetadata.CreateFromImage(TestResources.NetFX.netcoreapp30.System_Core).GetReference(display = "System.Core.dll (netcoreapp 3.0 ref)")
let systemDynamicRuntimeRef = lazy AssemblyMetadata.CreateFromImage(TestResources.NetFX.netcoreapp30.System_Dynamic_Runtime).GetReference(display = "System.Dynamic.Runtime.dll (netcoreapp 3.0 ref)")
let systemConsoleRef = lazy AssemblyMetadata.CreateFromImage(TestResources.NetFX.netcoreapp30.System_Console).GetReference(display = "System.Console.dll (netcoreapp 3.0 ref)")
module private NetCoreApp31Refs =
let mutable (_mscorlib: byte[]) = Unchecked.defaultof<byte[]>
let mutable (_netstandard: byte[]) = Unchecked.defaultof<byte[]>
let mutable (_System_Console: byte[]) = Unchecked.defaultof<byte[]>
let mutable (_System_Core: byte[]) = Unchecked.defaultof<byte[]>
let mutable (_System_Dynamic_Runtime: byte[]) = Unchecked.defaultof<byte[]>
let mutable (_System_Runtime: byte[]) = Unchecked.defaultof<byte[]>
let mscorlib () = getOrCreateResource &_mscorlib "mscorlib.dll"
let netstandard () = getOrCreateResource &_netstandard "netstandard.dll"
let System_Core () = getOrCreateResource &_System_Core "System.Core.dll"
let System_Console () = getOrCreateResource &_System_Console "System.Console.dll"
let System_Runtime () = getOrCreateResource &_System_Runtime "System.Runtime.dll"
let System_Dynamic_Runtime () = getOrCreateResource &_System_Dynamic_Runtime "System.Dynamic.Runtime.dll"
[<RequireQualifiedAccess>]
module NetCoreApp31 =
let netStandard = lazy AssemblyMetadata.CreateFromImage(NetCoreApp31Refs.netstandard ()).GetReference(display = "netstandard.dll (netcoreapp 3.1 ref)")
let mscorlibRef = lazy AssemblyMetadata.CreateFromImage(NetCoreApp31Refs.mscorlib ()).GetReference(display = "mscorlib.dll (netcoreapp 3.1 ref)")
let systemRuntimeRef = lazy AssemblyMetadata.CreateFromImage(NetCoreApp31Refs.System_Runtime ()).GetReference(display = "System.Runtime.dll (netcoreapp 3.1 ref)")
let systemCoreRef = lazy AssemblyMetadata.CreateFromImage(NetCoreApp31Refs.System_Core ()).GetReference(display = "System.Core.dll (netcoreapp 3.1 ref)")
let systemDynamicRuntimeRef = lazy AssemblyMetadata.CreateFromImage(NetCoreApp31Refs.System_Dynamic_Runtime ()).GetReference(display = "System.Dynamic.Runtime.dll (netcoreapp 3.1 ref)")
let systemConsoleRef = lazy AssemblyMetadata.CreateFromImage(NetCoreApp31Refs.System_Console ()).GetReference(display = "System.Console.dll (netcoreapp 3.1 ref)")
[<RequireQualifiedAccess>]
module internal TargetFrameworkUtil =
@ -46,13 +81,13 @@ module Utilities =
let private netStandard20References =
lazy ImmutableArray.Create(NetStandard20.netStandard.Value, NetStandard20.mscorlibRef.Value, NetStandard20.systemRuntimeRef.Value, NetStandard20.systemCoreRef.Value, NetStandard20.systemDynamicRuntimeRef.Value)
let private netCoreApp30References =
lazy ImmutableArray.Create(NetCoreApp30.netStandard.Value, NetCoreApp30.mscorlibRef.Value, NetCoreApp30.systemRuntimeRef.Value, NetCoreApp30.systemCoreRef.Value, NetCoreApp30.systemDynamicRuntimeRef.Value, NetCoreApp30.systemConsoleRef.Value)
let private netCoreApp31References =
lazy ImmutableArray.Create(NetCoreApp31.netStandard.Value, NetCoreApp31.mscorlibRef.Value, NetCoreApp31.systemRuntimeRef.Value, NetCoreApp31.systemCoreRef.Value, NetCoreApp31.systemDynamicRuntimeRef.Value, NetCoreApp31.systemConsoleRef.Value)
let internal getReferences tf =
match tf with
| TargetFramework.NetStandard20 -> netStandard20References.Value
| TargetFramework.NetCoreApp30 -> netCoreApp30References.Value
| TargetFramework.NetCoreApp31 -> netCoreApp31References.Value
type RoslynLanguageVersion = LanguageVersion

Просмотреть файл

@ -236,9 +236,7 @@ let _ = List.iter (fun s -> eprintf "%s" s) ["hello"; " "; "world"]
let _ = eprintfn "%s" "."
let _ = exit 0
"""
let module1 = Compilation.Create(source, Fsx, Exe, [|"--standalone"|])
CompilerAssert.Execute(module1, newProcess=true)
[<Test>]

Просмотреть файл

@ -229,7 +229,7 @@ type MyClass() =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(cs, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(cs, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =

Просмотреть файл

@ -129,7 +129,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -169,7 +169,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -217,7 +217,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -259,7 +259,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -308,7 +308,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -356,7 +356,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -406,7 +406,7 @@ let f () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -457,7 +457,7 @@ let f () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -494,7 +494,7 @@ let f () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -531,7 +531,7 @@ let f () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -572,7 +572,7 @@ let f1 () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -622,7 +622,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -677,7 +677,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -758,7 +758,7 @@ let main _ =
// Explicitly implementing a protected DIM is allowed in F# 4.6.
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -857,7 +857,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -933,7 +933,7 @@ type Test2 () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1071,7 +1071,7 @@ let f () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1121,7 +1121,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1171,7 +1171,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1221,7 +1221,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1295,7 +1295,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1358,7 +1358,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1433,7 +1433,7 @@ let f () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1513,7 +1513,7 @@ type Test2 () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1566,7 +1566,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1615,7 +1615,7 @@ let f () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1665,7 +1665,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1722,7 +1722,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1761,7 +1761,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1804,7 +1804,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1843,7 +1843,7 @@ let test = { new ITest }
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1898,7 +1898,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -1946,7 +1946,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -2006,7 +2006,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -2074,7 +2074,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -2157,7 +2157,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -2235,7 +2235,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -2313,7 +2313,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -2385,7 +2385,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -2451,7 +2451,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -2540,7 +2540,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -2610,7 +2610,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -2689,7 +2689,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -2751,7 +2751,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -2840,7 +2840,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -2965,7 +2965,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -3076,7 +3076,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -3188,7 +3188,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -3304,7 +3304,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -3410,7 +3410,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -3513,7 +3513,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -3612,7 +3612,7 @@ type Test2 () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -3659,7 +3659,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -3706,7 +3706,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -3769,7 +3769,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -3836,7 +3836,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -3884,7 +3884,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -3939,7 +3939,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -4004,7 +4004,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -4094,7 +4094,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -4172,7 +4172,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -4269,7 +4269,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -4364,7 +4364,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -4451,7 +4451,7 @@ type Test () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -4501,7 +4501,7 @@ let test =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -4564,7 +4564,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -4620,7 +4620,7 @@ let main _ =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -4684,7 +4684,7 @@ f ()
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -4744,7 +4744,7 @@ f3 ()
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -4789,7 +4789,7 @@ let f () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -4839,7 +4839,7 @@ let f () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -4889,7 +4889,7 @@ let f () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -4942,7 +4942,7 @@ let f () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =
@ -5038,7 +5038,7 @@ let f () =
"""
let csCmpl =
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(csharpSource, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
let fsCmpl =

Просмотреть файл

@ -170,7 +170,7 @@ assertion (fun (x:float) -> x * 3.0) (fun v ->
#if NETSTANDARD
let csCmpl =
CompilationUtil.CreateCSharpCompilation(``C# base with dim``, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp30)
CompilationUtil.CreateCSharpCompilation(``C# base with dim``, CSharpLanguageVersion.CSharp8, TargetFramework.NetCoreApp31)
|> CompilationReference.Create
#endif

Просмотреть файл

@ -36,7 +36,6 @@
<Compile Include="Compiler\Conformance\BasicGrammarElements\CharConstants.fs" />
<Compile Include="Compiler\Conformance\BasicGrammarElements\DecimalConstants.fs" />
<Compile Include="Compiler\Conformance\BasicGrammarElements\IntegerConstants.fs" />
<Compile Include="Compiler\Conformance\Properties\ILMemberAccessTests.fs" />
<Compile Include="Compiler\Warnings\AssignmentWarningTests.fs" />
<Compile Include="Compiler\Warnings\ExperimentalAttributeTests.fs" />
<Compile Include="Compiler\Warnings\PatternMatchingWarningTests.fs" />
@ -83,7 +82,6 @@
<Compile Include="Compiler\Libraries\Core\Unchecked\DefaultOfTests.fs" />
<None Include="app.config" />
<None Include="update.base.line.with.actuals.fsx" />
<!-- don't include test resources in subdirectories -->
<EmbeddedResource Remove="**" />
</ItemGroup>

Просмотреть файл

@ -74,7 +74,7 @@ let diamondAssembly () =
let globalNamespace () =
let cfg = testConfig' "typeProviders/globalNamespace"
csc cfg """/out:globalNamespaceTP.dll /debug+ /target:library /r:"%s" """ cfg.FSCOREDLLPATH ["globalNamespaceTP.cs"]
csc cfg """/out:globalNamespaceTP.dll /debug+ /target:library /r:netstandard.dll /r:"%s" """ cfg.FSCOREDLLPATH ["globalNamespaceTP.cs"]
fsc cfg "%s /debug+ /r:globalNamespaceTP.dll /optimize-" cfg.fsc_flags ["test.fsx"]
@ -162,7 +162,7 @@ let helloWorldCSharp () =
rm cfg "provider.dll"
csc cfg """/out:provider.dll /target:library "/r:%s" /r:magic.dll""" cfg.FSCOREDLLPATH ["provider.cs"]
csc cfg """/out:provider.dll /target:library "/r:%s" /r:netstandard.dll /r:magic.dll""" cfg.FSCOREDLLPATH ["provider.cs"]
fsc cfg "%s /debug+ /r:provider.dll /optimize-" cfg.fsc_flags ["test.fsx"]

Просмотреть файл

@ -105,12 +105,7 @@ let generateProjectArtifacts (pc:ProjectConfiguration) outputType (targetFramewo
"fsi"
else
"FSharp.Core"
let targetCore =
if targetFramework.StartsWith("netstandard", StringComparison.InvariantCultureIgnoreCase) || targetFramework.StartsWith("netcoreapp", StringComparison.InvariantCultureIgnoreCase) then
"netstandard2.0"
else
"net45"
(Path.GetFullPath(__SOURCE_DIRECTORY__) + "/../../artifacts/bin/" + compiler + "/" + configuration + "/" + targetCore + "/FSharp.Core.dll")
(Path.GetFullPath(__SOURCE_DIRECTORY__) + "/../../artifacts/bin/" + compiler + "/" + configuration + "/netstandard2.0/FSharp.Core.dll")
let computeSourceItems addDirectory addCondition (compileItem:CompileItem) sources =
let computeInclude src =

Просмотреть файл

@ -689,7 +689,7 @@ module CoreTests =
exec cfg ("." ++ "test.exe") ""
// Same without the reference to lib.dll - testing an incomplete reference set, but only compiling a subset of the code
fsc cfg "%s -r:System.Runtime.dll --noframework --define:NO_LIB_REFERENCE -r:lib3.dll -r:lib2.dll -o:test.exe -g --define:LANGVERSION_PREVIEW --langversion:preview" cfg.fsc_flags ["test.fsx"]
fsc cfg "%s --define:NO_LIB_REFERENCE -r:lib3.dll -r:lib2.dll -o:test.exe -g --define:LANGVERSION_PREVIEW --langversion:preview" cfg.fsc_flags ["test.fsx"]
peverify cfg "test.exe"
@ -758,8 +758,6 @@ module CoreTests =
testOkFile.CheckExists()
[<Test>]
let ``genericmeasures-AS_DLL`` () = singleTestBuildAndRun' "core/genericmeasures" AS_DLL

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:1:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly Decimal01
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.Decimal01
{
// Offset: 0x00000000 Length: 0x0000013F
// Offset: 0x00000000 Length: 0x00000139
}
.mresource public FSharpOptimizationData.Decimal01
{
// Offset: 0x00000148 Length: 0x00000050
// Offset: 0x00000140 Length: 0x00000050
}
.module Decimal01.exe
// MVID: {59B19213-F150-FA46-A745-03831392B159}
// MVID: {5F1F9A50-F150-FA46-A745-0383509A1F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x002E0000
// Image base: 0x06840000
// =============== CLASS MEMBERS DECLARATION ===================
@ -66,13 +71,13 @@
// Code size 13 (0xd)
.maxstack 8
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 6,6 : 9,13 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\Misc\\Decimal01.fs'
.line 6,6 : 9,13 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\Misc\\Decimal01.fs'
IL_0000: ldc.i4.s 12
IL_0002: ldc.i4.0
IL_0003: ldc.i4.0
IL_0004: ldc.i4.0
IL_0005: ldc.i4.1
IL_0006: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_0006: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:1:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly Lock01
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.Lock01
{
// Offset: 0x00000000 Length: 0x00000184
// Offset: 0x00000000 Length: 0x0000017E
}
.mresource public FSharpOptimizationData.Lock01
{
// Offset: 0x00000188 Length: 0x00000064
}
.module Lock01.exe
// MVID: {59B19213-2BCA-B308-A745-03831392B159}
// MVID: {5F1F9A50-2BCA-B308-A745-0383509A1F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x02FB0000
// Image base: 0x06970000
// =============== CLASS MEMBERS DECLARATION ===================
@ -72,7 +77,7 @@
// Code size 2 (0x2)
.maxstack 8
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 20,20 : 19,21 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\Misc\\Lock01.fs'
.line 20,20 : 19,21 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\Misc\\Lock01.fs'
IL_0000: ldnull
IL_0001: ret
} // end of method clo@20::Invoke
@ -130,7 +135,7 @@
{
IL_001a: ldloc.1
IL_001b: ldloca.s V_3
IL_001d: call void [mscorlib]System.Threading.Monitor::Enter(object,
IL_001d: call void [netstandard]System.Threading.Monitor::Enter(object,
bool&)
IL_0022: ldloc.2
IL_0023: ldnull
@ -150,7 +155,7 @@
.line 100001,100001 : 0,0 ''
IL_0034: ldloc.1
IL_0035: call void [mscorlib]System.Threading.Monitor::Exit(object)
IL_0035: call void [netstandard]System.Threading.Monitor::Exit(object)
IL_003a: ldnull
IL_003b: pop
IL_003c: endfinally

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:1:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly MethodImplNoInline
{
@ -25,20 +30,20 @@
}
.mresource public FSharpSignatureData.MethodImplNoInline
{
// Offset: 0x00000000 Length: 0x000002FF
// Offset: 0x00000000 Length: 0x000002F9
}
.mresource public FSharpOptimizationData.MethodImplNoInline
{
// Offset: 0x00000308 Length: 0x000000F5
// Offset: 0x00000300 Length: 0x000000F5
}
.module MethodImplNoInline.exe
// MVID: {59B19213-4480-09E2-A745-03831392B159}
// MVID: {5F1F9A50-4480-09E2-A745-0383509A1F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x00D80000
// Image base: 0x054F0000
// =============== CLASS MEMBERS DECLARATION ===================
@ -55,7 +60,7 @@
IL_0000: ldstr "Hey!"
IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::.ctor(string)
IL_000a: stloc.0
IL_000b: call class [mscorlib]System.IO.TextWriter [mscorlib]System.Console::get_Out()
IL_000b: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out()
IL_0010: ldloc.0
IL_0011: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [mscorlib]System.IO.TextWriter,
class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:1:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly MethodImplNoInline02
{
@ -25,20 +30,20 @@
}
.mresource public FSharpSignatureData.MethodImplNoInline02
{
// Offset: 0x00000000 Length: 0x00000305
// Offset: 0x00000000 Length: 0x000002FF
}
.mresource public FSharpOptimizationData.MethodImplNoInline02
{
// Offset: 0x00000310 Length: 0x000000F9
// Offset: 0x00000308 Length: 0x000000F9
}
.module MethodImplNoInline02.exe
// MVID: {59B19213-084F-1A8E-A745-03831392B159}
// MVID: {5F1F9A50-084F-1A8E-A745-0383509A1F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x012C0000
// Image base: 0x04E70000
// =============== CLASS MEMBERS DECLARATION ===================
@ -55,7 +60,7 @@
IL_0000: ldstr "Hey!"
IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::.ctor(string)
IL_000a: stloc.0
IL_000b: call class [mscorlib]System.IO.TextWriter [mscorlib]System.Console::get_Out()
IL_000b: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out()
IL_0010: ldloc.0
IL_0011: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [mscorlib]System.IO.TextWriter,
class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:1:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly comparison_decimal01
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.comparison_decimal01
{
// Offset: 0x00000000 Length: 0x00000176
// Offset: 0x00000000 Length: 0x00000170
}
.mresource public FSharpOptimizationData.comparison_decimal01
{
// Offset: 0x00000180 Length: 0x0000005B
// Offset: 0x00000178 Length: 0x0000005B
}
.module comparison_decimal01.exe
// MVID: {59B19240-76D8-7EE3-A745-03834092B159}
// MVID: {5F1FA087-76D8-7EE3-A745-038387A01F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x02980000
// Image base: 0x06BE0000
// =============== CLASS MEMBERS DECLARATION ===================
@ -66,13 +71,13 @@
// Code size 228 (0xe4)
.maxstack 8
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 4,4 : 9,20 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\Operators\\comparison_decimal01.fs'
.line 4,4 : 9,20 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\Operators\\comparison_decimal01.fs'
IL_0000: ldc.i4.s 10
IL_0002: ldc.i4.0
IL_0003: ldc.i4.0
IL_0004: ldc.i4.0
IL_0005: ldc.i4.1
IL_0006: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_0006: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
@ -82,13 +87,13 @@
IL_000e: ldc.i4.0
IL_000f: ldc.i4.0
IL_0010: ldc.i4.1
IL_0011: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_0011: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
uint8)
IL_0016: call bool [mscorlib]System.Decimal::op_LessThan(valuetype [mscorlib]System.Decimal,
valuetype [mscorlib]System.Decimal)
IL_0016: call bool [netstandard]System.Decimal::op_LessThan(valuetype [netstandard]System.Decimal,
valuetype [netstandard]System.Decimal)
IL_001b: pop
.line 5,5 : 9,21 ''
IL_001c: ldc.i4.s 10
@ -96,7 +101,7 @@
IL_001f: ldc.i4.0
IL_0020: ldc.i4.0
IL_0021: ldc.i4.1
IL_0022: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_0022: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
@ -106,13 +111,13 @@
IL_002a: ldc.i4.0
IL_002b: ldc.i4.0
IL_002c: ldc.i4.1
IL_002d: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_002d: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
uint8)
IL_0032: call bool [mscorlib]System.Decimal::op_LessThanOrEqual(valuetype [mscorlib]System.Decimal,
valuetype [mscorlib]System.Decimal)
IL_0032: call bool [netstandard]System.Decimal::op_LessThanOrEqual(valuetype [netstandard]System.Decimal,
valuetype [netstandard]System.Decimal)
IL_0037: pop
.line 6,6 : 9,20 ''
IL_0038: ldc.i4.s 10
@ -120,7 +125,7 @@
IL_003b: ldc.i4.0
IL_003c: ldc.i4.0
IL_003d: ldc.i4.1
IL_003e: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_003e: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
@ -130,13 +135,13 @@
IL_0046: ldc.i4.0
IL_0047: ldc.i4.0
IL_0048: ldc.i4.1
IL_0049: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_0049: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
uint8)
IL_004e: call bool [mscorlib]System.Decimal::op_GreaterThan(valuetype [mscorlib]System.Decimal,
valuetype [mscorlib]System.Decimal)
IL_004e: call bool [netstandard]System.Decimal::op_GreaterThan(valuetype [netstandard]System.Decimal,
valuetype [netstandard]System.Decimal)
IL_0053: pop
.line 7,7 : 9,21 ''
IL_0054: ldc.i4.s 10
@ -144,7 +149,7 @@
IL_0057: ldc.i4.0
IL_0058: ldc.i4.0
IL_0059: ldc.i4.1
IL_005a: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_005a: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
@ -154,13 +159,13 @@
IL_0062: ldc.i4.0
IL_0063: ldc.i4.0
IL_0064: ldc.i4.1
IL_0065: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_0065: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
uint8)
IL_006a: call bool [mscorlib]System.Decimal::op_GreaterThanOrEqual(valuetype [mscorlib]System.Decimal,
valuetype [mscorlib]System.Decimal)
IL_006a: call bool [netstandard]System.Decimal::op_GreaterThanOrEqual(valuetype [netstandard]System.Decimal,
valuetype [netstandard]System.Decimal)
IL_006f: pop
.line 8,8 : 9,20 ''
IL_0070: ldc.i4.s 10
@ -168,7 +173,7 @@
IL_0073: ldc.i4.0
IL_0074: ldc.i4.0
IL_0075: ldc.i4.1
IL_0076: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_0076: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
@ -178,13 +183,13 @@
IL_007e: ldc.i4.0
IL_007f: ldc.i4.0
IL_0080: ldc.i4.1
IL_0081: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_0081: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
uint8)
IL_0086: call bool [mscorlib]System.Decimal::op_Equality(valuetype [mscorlib]System.Decimal,
valuetype [mscorlib]System.Decimal)
IL_0086: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal,
valuetype [netstandard]System.Decimal)
IL_008b: pop
.line 9,9 : 9,21 ''
IL_008c: ldc.i4.s 10
@ -192,7 +197,7 @@
IL_008f: ldc.i4.0
IL_0090: ldc.i4.0
IL_0091: ldc.i4.1
IL_0092: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_0092: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
@ -202,13 +207,13 @@
IL_009a: ldc.i4.0
IL_009b: ldc.i4.0
IL_009c: ldc.i4.1
IL_009d: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_009d: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
uint8)
IL_00a2: call bool [mscorlib]System.Decimal::op_Equality(valuetype [mscorlib]System.Decimal,
valuetype [mscorlib]System.Decimal)
IL_00a2: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal,
valuetype [netstandard]System.Decimal)
IL_00a7: ldc.i4.0
IL_00a8: ceq
IL_00aa: pop
@ -218,7 +223,7 @@
IL_00ae: ldc.i4.0
IL_00af: ldc.i4.0
IL_00b0: ldc.i4.1
IL_00b1: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_00b1: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
@ -228,13 +233,13 @@
IL_00b9: ldc.i4.0
IL_00ba: ldc.i4.0
IL_00bb: ldc.i4.1
IL_00bc: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_00bc: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
uint8)
IL_00c1: call bool [mscorlib]System.Decimal::op_Equality(valuetype [mscorlib]System.Decimal,
valuetype [mscorlib]System.Decimal)
IL_00c1: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal,
valuetype [netstandard]System.Decimal)
IL_00c6: pop
.line 11,11 : 9,26 ''
IL_00c7: ldc.i4.s 10
@ -242,7 +247,7 @@
IL_00ca: ldc.i4.0
IL_00cb: ldc.i4.0
IL_00cc: ldc.i4.1
IL_00cd: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_00cd: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
@ -252,13 +257,13 @@
IL_00d5: ldc.i4.0
IL_00d6: ldc.i4.0
IL_00d7: ldc.i4.1
IL_00d8: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_00d8: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
uint8)
IL_00dd: call int32 [mscorlib]System.Decimal::Compare(valuetype [mscorlib]System.Decimal,
valuetype [mscorlib]System.Decimal)
IL_00dd: call int32 [netstandard]System.Decimal::Compare(valuetype [netstandard]System.Decimal,
valuetype [netstandard]System.Decimal)
IL_00e2: pop
IL_00e3: ret
} // end of method $Comparison_decimal01::main@

Просмотреть файл

@ -13,7 +13,7 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:7:0:0
.ver 5:0:0:0
}
.assembly extern Utils
{
@ -24,6 +24,11 @@
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 4:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly Linq101Aggregates01
{
.custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32,
@ -38,20 +43,20 @@
}
.mresource public FSharpSignatureData.Linq101Aggregates01
{
// Offset: 0x00000000 Length: 0x000005F6
// Offset: 0x00000000 Length: 0x00000606
}
.mresource public FSharpOptimizationData.Linq101Aggregates01
{
// Offset: 0x00000600 Length: 0x00000211
// Offset: 0x00000610 Length: 0x00000211
}
.module Linq101Aggregates01.exe
// MVID: {5EAD3E37-D281-4783-A745-0383373EAD5E}
// MVID: {5F1FA088-D281-4783-A745-038388A01F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x04D10000
// Image base: 0x052A0000
// =============== CLASS MEMBERS DECLARATION ===================
@ -105,7 +110,7 @@
.locals init ([0] int32 V_0,
[1] int32 n)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 100001,100001 : 0,0 'C:\\dev\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Aggregates01.fs'
.line 100001,100001 : 0,0 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Aggregates01.fs'
IL_0000: ldarg.0
IL_0001: ldfld int32 Linq101Aggregates01/uniqueFactors@12::pc
IL_0006: ldc.i4.1
@ -1633,21 +1638,21 @@
IL_0023: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1<!0> class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<class [Utils]Utils/Product,class [mscorlib]System.Collections.IEnumerable>::get_Source()
IL_0028: stloc.s V_6
IL_002a: ldloc.s V_6
IL_002c: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1<!0> class [mscorlib]System.Collections.Generic.IEnumerable`1<class [Utils]Utils/Product>::GetEnumerator()
IL_002c: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1<!0> class [netstandard]System.Collections.Generic.IEnumerable`1<class [Utils]Utils/Product>::GetEnumerator()
IL_0031: stloc.s V_7
.try
{
IL_0033: ldc.i4.0
IL_0034: stloc.s V_9
IL_0036: ldloc.s V_7
IL_0038: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
IL_0038: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext()
IL_003d: brfalse.s IL_0055
.line 43,43 : 13,33 ''
IL_003f: ldloc.s V_9
IL_0041: ldloc.s V_5
IL_0043: ldloc.s V_7
IL_0045: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1<class [Utils]Utils/Product>::get_Current()
IL_0045: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1<class [Utils]Utils/Product>::get_Current()
IL_004a: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [Utils]Utils/Product,int32>::Invoke(!0)
IL_004f: add.ovf
IL_0050: stloc.s V_9
@ -1674,7 +1679,7 @@
.line 100001,100001 : 0,0 ''
IL_006c: ldloc.s V_10
IL_006e: callvirt instance void [mscorlib]System.IDisposable::Dispose()
IL_006e: callvirt instance void [netstandard]System.IDisposable::Dispose()
IL_0073: ldnull
IL_0074: pop
IL_0075: endfinally
@ -3505,8 +3510,8 @@
IL_0001: callvirt instance valuetype [mscorlib]System.Decimal [Utils]Utils/Product::get_UnitPrice()
IL_0006: ldarg.0
IL_0007: ldfld valuetype [mscorlib]System.Decimal Linq101Aggregates01/'cheapestProducts@69-1'::min
IL_000c: call bool [mscorlib]System.Decimal::op_Equality(valuetype [mscorlib]System.Decimal,
valuetype [mscorlib]System.Decimal)
IL_000c: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal,
valuetype [netstandard]System.Decimal)
IL_0011: ret
} // end of method 'cheapestProducts@69-1'::Invoke
@ -5749,8 +5754,8 @@
IL_0001: callvirt instance valuetype [mscorlib]System.Decimal [Utils]Utils/Product::get_UnitPrice()
IL_0006: ldarg.0
IL_0007: ldfld valuetype [mscorlib]System.Decimal Linq101Aggregates01/'mostExpensiveProducts@94-1'::maxPrice
IL_000c: call bool [mscorlib]System.Decimal::op_Equality(valuetype [mscorlib]System.Decimal,
valuetype [mscorlib]System.Decimal)
IL_000c: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal,
valuetype [netstandard]System.Decimal)
IL_0011: ret
} // end of method 'mostExpensiveProducts@94-1'::Invoke
@ -6864,13 +6869,13 @@
.line 100001,100001 : 0,0 ''
IL_0035: ldstr "source"
IL_003a: newobj instance void [mscorlib]System.ArgumentNullException::.ctor(string)
IL_003a: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string)
IL_003f: throw
.line 100001,100001 : 0,0 ''
IL_0040: nop
IL_0041: ldloc.s V_6
IL_0043: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1<!0> class [mscorlib]System.Collections.Generic.IEnumerable`1<class [Utils]Utils/Product>::GetEnumerator()
IL_0043: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1<!0> class [netstandard]System.Collections.Generic.IEnumerable`1<class [Utils]Utils/Product>::GetEnumerator()
IL_0048: stloc.s V_7
.try
{
@ -6879,7 +6884,7 @@
IL_004c: ldc.i4.0
IL_004d: ldc.i4.0
IL_004e: ldc.i4.0
IL_004f: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_004f: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
@ -6888,16 +6893,16 @@
IL_0056: ldc.i4.0
IL_0057: stloc.s V_10
IL_0059: ldloc.s V_7
IL_005b: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
IL_005b: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext()
IL_0060: brfalse.s IL_0082
IL_0062: ldloc.s V_9
IL_0064: ldloc.s V_5
IL_0066: ldloc.s V_7
IL_0068: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1<class [Utils]Utils/Product>::get_Current()
IL_0068: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1<class [Utils]Utils/Product>::get_Current()
IL_006d: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [Utils]Utils/Product,valuetype [mscorlib]System.Decimal>::Invoke(!0)
IL_0072: call valuetype [mscorlib]System.Decimal [mscorlib]System.Decimal::op_Addition(valuetype [mscorlib]System.Decimal,
valuetype [mscorlib]System.Decimal)
IL_0072: call valuetype [netstandard]System.Decimal [netstandard]System.Decimal::op_Addition(valuetype [netstandard]System.Decimal,
valuetype [netstandard]System.Decimal)
IL_0077: stloc.s V_9
.line 115,115 : 50,71 ''
IL_0079: ldloc.s V_10
@ -6917,7 +6922,7 @@
.line 100001,100001 : 0,0 ''
IL_008a: ldstr "source"
IL_008f: newobj instance void [mscorlib]System.InvalidOperationException::.ctor(string)
IL_008f: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string)
IL_0094: throw
.line 100001,100001 : 0,0 ''
@ -6928,9 +6933,9 @@
IL_009c: stloc.s V_12
IL_009e: ldloc.s V_11
IL_00a0: ldloc.s V_12
IL_00a2: call valuetype [mscorlib]System.Decimal [mscorlib]System.Convert::ToDecimal(int32)
IL_00a7: call valuetype [mscorlib]System.Decimal [mscorlib]System.Decimal::Divide(valuetype [mscorlib]System.Decimal,
valuetype [mscorlib]System.Decimal)
IL_00a2: call valuetype [netstandard]System.Decimal [netstandard]System.Convert::ToDecimal(int32)
IL_00a7: call valuetype [netstandard]System.Decimal [netstandard]System.Decimal::Divide(valuetype [netstandard]System.Decimal,
valuetype [netstandard]System.Decimal)
IL_00ac: stloc.s V_8
IL_00ae: leave.s IL_00ce
@ -6949,7 +6954,7 @@
.line 100001,100001 : 0,0 ''
IL_00c1: ldloc.s V_13
IL_00c3: callvirt instance void [mscorlib]System.IDisposable::Dispose()
IL_00c3: callvirt instance void [netstandard]System.IDisposable::Dispose()
IL_00c8: ldnull
IL_00c9: pop
IL_00ca: endfinally
@ -7519,21 +7524,21 @@
IL_00c2: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1<!0> class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<int32,class [mscorlib]System.Collections.IEnumerable>::get_Source()
IL_00c7: stloc.s V_25
IL_00c9: ldloc.s V_25
IL_00cb: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1<!0> class [mscorlib]System.Collections.Generic.IEnumerable`1<int32>::GetEnumerator()
IL_00cb: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1<!0> class [netstandard]System.Collections.Generic.IEnumerable`1<int32>::GetEnumerator()
IL_00d0: stloc.s V_26
.try
{
IL_00d2: ldc.i4.0
IL_00d3: stloc.s V_28
IL_00d5: ldloc.s V_26
IL_00d7: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
IL_00d7: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext()
IL_00dc: brfalse.s IL_00f4
.line 22,22 : 9,16 ''
IL_00de: ldloc.s V_28
IL_00e0: ldloc.s V_24
IL_00e2: ldloc.s V_26
IL_00e4: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1<int32>::get_Current()
IL_00e4: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1<int32>::get_Current()
IL_00e9: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32,int32>::Invoke(!0)
IL_00ee: add.ovf
IL_00ef: stloc.s V_28
@ -7560,7 +7565,7 @@
.line 100001,100001 : 0,0 ''
IL_010b: ldloc.s V_29
IL_010d: callvirt instance void [mscorlib]System.IDisposable::Dispose()
IL_010d: callvirt instance void [netstandard]System.IDisposable::Dispose()
IL_0112: ldnull
IL_0113: pop
IL_0114: endfinally
@ -7606,21 +7611,21 @@
IL_016f: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1<!0> class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<string,class [mscorlib]System.Collections.IEnumerable>::get_Source()
IL_0174: stloc.s V_34
IL_0176: ldloc.s V_34
IL_0178: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1<!0> class [mscorlib]System.Collections.Generic.IEnumerable`1<string>::GetEnumerator()
IL_0178: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1<!0> class [netstandard]System.Collections.Generic.IEnumerable`1<string>::GetEnumerator()
IL_017d: stloc.s V_35
.try
{
IL_017f: ldc.i4.0
IL_0180: stloc.s V_37
IL_0182: ldloc.s V_35
IL_0184: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
IL_0184: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext()
IL_0189: brfalse.s IL_01a1
.line 31,31 : 9,25 ''
IL_018b: ldloc.s V_37
IL_018d: ldloc.s V_33
IL_018f: ldloc.s V_35
IL_0191: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1<string>::get_Current()
IL_0191: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1<string>::get_Current()
IL_0196: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<string,int32>::Invoke(!0)
IL_019b: add.ovf
IL_019c: stloc.s V_37
@ -7647,7 +7652,7 @@
.line 100001,100001 : 0,0 ''
IL_01b8: ldloc.s V_38
IL_01ba: callvirt instance void [mscorlib]System.IDisposable::Dispose()
IL_01ba: callvirt instance void [netstandard]System.IDisposable::Dispose()
IL_01bf: ldnull
IL_01c0: pop
IL_01c1: endfinally
@ -7937,13 +7942,13 @@
.line 100001,100001 : 0,0 ''
IL_0518: ldstr "source"
IL_051d: newobj instance void [mscorlib]System.ArgumentNullException::.ctor(string)
IL_051d: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string)
IL_0522: throw
.line 100001,100001 : 0,0 ''
IL_0523: nop
IL_0524: ldloc.s V_48
IL_0526: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1<!0> class [mscorlib]System.Collections.Generic.IEnumerable`1<float64>::GetEnumerator()
IL_0526: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1<!0> class [netstandard]System.Collections.Generic.IEnumerable`1<float64>::GetEnumerator()
IL_052b: stloc.s V_49
.try
{
@ -7952,13 +7957,13 @@
IL_0538: ldc.i4.0
IL_0539: stloc.s V_52
IL_053b: ldloc.s V_49
IL_053d: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
IL_053d: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext()
IL_0542: brfalse.s IL_0560
IL_0544: ldloc.s V_51
IL_0546: ldloc.s V_47
IL_0548: ldloc.s V_49
IL_054a: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1<float64>::get_Current()
IL_054a: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1<float64>::get_Current()
IL_054f: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<float64,float64>::Invoke(!0)
IL_0554: add
IL_0555: stloc.s V_51
@ -7980,7 +7985,7 @@
.line 100001,100001 : 0,0 ''
IL_0568: ldstr "source"
IL_056d: newobj instance void [mscorlib]System.InvalidOperationException::.ctor(string)
IL_056d: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string)
IL_0572: throw
.line 100001,100001 : 0,0 ''
@ -8011,7 +8016,7 @@
.line 100001,100001 : 0,0 ''
IL_0597: ldloc.s V_55
IL_0599: callvirt instance void [mscorlib]System.IDisposable::Dispose()
IL_0599: callvirt instance void [netstandard]System.IDisposable::Dispose()
IL_059e: ldnull
IL_059f: pop
IL_05a0: endfinally
@ -8051,13 +8056,13 @@
.line 100001,100001 : 0,0 ''
IL_05f0: ldstr "source"
IL_05f5: newobj instance void [mscorlib]System.ArgumentNullException::.ctor(string)
IL_05f5: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string)
IL_05fa: throw
.line 100001,100001 : 0,0 ''
IL_05fb: nop
IL_05fc: ldloc.s V_60
IL_05fe: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1<!0> class [mscorlib]System.Collections.Generic.IEnumerable`1<class [mscorlib]System.Tuple`2<string,float64>>::GetEnumerator()
IL_05fe: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1<!0> class [netstandard]System.Collections.Generic.IEnumerable`1<class [mscorlib]System.Tuple`2<string,float64>>::GetEnumerator()
IL_0603: stloc.s V_61
.try
{
@ -8066,13 +8071,13 @@
IL_0610: ldc.i4.0
IL_0611: stloc.s V_64
IL_0613: ldloc.s V_61
IL_0615: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
IL_0615: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext()
IL_061a: brfalse.s IL_0638
IL_061c: ldloc.s V_63
IL_061e: ldloc.s V_59
IL_0620: ldloc.s V_61
IL_0622: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1<class [mscorlib]System.Tuple`2<string,float64>>::get_Current()
IL_0622: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1<class [mscorlib]System.Tuple`2<string,float64>>::get_Current()
IL_0627: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [mscorlib]System.Tuple`2<string,float64>,float64>::Invoke(!0)
IL_062c: add
IL_062d: stloc.s V_63
@ -8094,7 +8099,7 @@
.line 100001,100001 : 0,0 ''
IL_0640: ldstr "source"
IL_0645: newobj instance void [mscorlib]System.InvalidOperationException::.ctor(string)
IL_0645: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string)
IL_064a: throw
.line 100001,100001 : 0,0 ''
@ -8125,7 +8130,7 @@
.line 100001,100001 : 0,0 ''
IL_066f: ldloc.s V_67
IL_0671: callvirt instance void [mscorlib]System.IDisposable::Dispose()
IL_0671: callvirt instance void [netstandard]System.IDisposable::Dispose()
IL_0676: ldnull
IL_0677: pop
IL_0678: endfinally

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,12 +13,17 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:5:0:0
.ver 5:0:0:0
}
.assembly extern Utils
{
.ver 0:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly Linq101ElementOperators01
{
.custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32,
@ -33,20 +38,20 @@
}
.mresource public FSharpSignatureData.Linq101ElementOperators01
{
// Offset: 0x00000000 Length: 0x0000038A
// Offset: 0x00000000 Length: 0x0000037C
}
.mresource public FSharpOptimizationData.Linq101ElementOperators01
{
// Offset: 0x00000390 Length: 0x00000127
// Offset: 0x00000380 Length: 0x00000127
}
.module Linq101ElementOperators01.exe
// MVID: {5B9A632A-19D7-C20D-A745-03832A639A5B}
// MVID: {5F1FA088-19D7-C20D-A745-038388A01F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x028F0000
// Image base: 0x05260000
// =============== CLASS MEMBERS DECLARATION ===================
@ -100,7 +105,7 @@
.locals init ([0] class [Utils]Utils/Product V_0,
[1] class [Utils]Utils/Product p)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101ElementOperators01.fs'
.line 100001,100001 : 0,0 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101ElementOperators01.fs'
IL_0000: ldarg.0
IL_0001: ldfld int32 Linq101ElementOperators01/products12@12::pc
IL_0006: ldc.i4.1
@ -769,7 +774,7 @@
.line 23,23 : 16,27 ''
IL_0000: ldarg.1
IL_0001: ldc.i4.0
IL_0002: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_0002: callvirt instance char [netstandard]System.String::get_Chars(int32)
IL_0007: ldc.i4.s 111
IL_0009: ceq
IL_000b: ret
@ -1471,7 +1476,7 @@
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> '<StartupCode$Linq101ElementOperators01>'.$Linq101ElementOperators01::'products@8-2'
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> '<StartupCode$Linq101ElementOperators01>'.$Linq101ElementOperators01::products@8
IL_0005: ret
} // end of method Linq101ElementOperators01::get_products
@ -1527,7 +1532,7 @@
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101ElementOperators01>'.$Linq101ElementOperators01::'numbers2@48-2'
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101ElementOperators01>'.$Linq101ElementOperators01::numbers2@48
IL_0005: ret
} // end of method Linq101ElementOperators01::get_numbers2
@ -1588,7 +1593,7 @@
.class private abstract auto ansi sealed '<StartupCode$Linq101ElementOperators01>'.$Linq101ElementOperators01
extends [mscorlib]System.Object
{
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> 'products@8-2'
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> products@8
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [Utils]Utils/Product products12@10
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
@ -1598,7 +1603,7 @@
.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 firstNumOrDefault@29
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> 'numbers2@48-2'
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> numbers2@48
.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 fourthLowNum@50
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
@ -1625,7 +1630,7 @@
.line 8,8 : 1,32 ''
IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> [Utils]Utils::getProductList()
IL_0005: dup
IL_0006: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> '<StartupCode$Linq101ElementOperators01>'.$Linq101ElementOperators01::'products@8-2'
IL_0006: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> '<StartupCode$Linq101ElementOperators01>'.$Linq101ElementOperators01::products@8
IL_000b: stloc.0
IL_000c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query()
IL_0011: stloc.s V_8
@ -1746,7 +1751,7 @@
IL_013b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0> class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>::Cons(!0,
class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0>)
IL_0140: dup
IL_0141: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101ElementOperators01>'.$Linq101ElementOperators01::'numbers2@48-2'
IL_0141: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101ElementOperators01>'.$Linq101ElementOperators01::numbers2@48
IL_0146: stloc.s numbers2
IL_0148: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query()
IL_014d: stloc.s V_10

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,7 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:5:0:0
.ver 5:0:0:0
}
.assembly extern System.Core
{
@ -24,6 +24,11 @@
{
.ver 0:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly Linq101Grouping01
{
.custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32,
@ -38,20 +43,20 @@
}
.mresource public FSharpSignatureData.Linq101Grouping01
{
// Offset: 0x00000000 Length: 0x0000040F
// Offset: 0x00000000 Length: 0x00000401
}
.mresource public FSharpOptimizationData.Linq101Grouping01
{
// Offset: 0x00000418 Length: 0x00000129
// Offset: 0x00000408 Length: 0x00000129
}
.module Linq101Grouping01.exe
// MVID: {5B9A68C1-FB79-E5BF-A745-0383C1689A5B}
// MVID: {5F1FA088-FB79-E5BF-A745-038388A01F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x025F0000
// Image base: 0x06480000
// =============== CLASS MEMBERS DECLARATION ===================
@ -89,7 +94,7 @@
.maxstack 6
.locals init ([0] int32 n)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 14,14 : 9,28 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Grouping01.fs'
.line 14,14 : 9,28 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Grouping01.fs'
IL_0000: ldarg.1
IL_0001: stloc.0
.line 15,15 : 9,29 ''
@ -324,7 +329,7 @@
.line 25,25 : 24,25 ''
IL_0000: ldarg.1
IL_0001: ldc.i4.0
IL_0002: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_0002: callvirt instance char [netstandard]System.String::get_Chars(int32)
IL_0007: ret
} // end of method 'wordGroups@25-2'::Invoke
@ -1095,7 +1100,7 @@
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101Grouping01>'.$Linq101Grouping01::'numbers@10-3'
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101Grouping01>'.$Linq101Grouping01::numbers@10
IL_0005: ret
} // end of method Linq101Grouping01::get_numbers
@ -1113,7 +1118,7 @@
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<string> '<StartupCode$Linq101Grouping01>'.$Linq101Grouping01::'words@20-2'
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<string> '<StartupCode$Linq101Grouping01>'.$Linq101Grouping01::words@20
IL_0005: ret
} // end of method Linq101Grouping01::get_words
@ -1131,7 +1136,7 @@
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> '<StartupCode$Linq101Grouping01>'.$Linq101Grouping01::'products@30-4'
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> '<StartupCode$Linq101Grouping01>'.$Linq101Grouping01::products@30
IL_0005: ret
} // end of method Linq101Grouping01::get_products
@ -1223,15 +1228,15 @@
{
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<string> digits@7
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> 'numbers@10-3'
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> numbers@10
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [mscorlib]System.Tuple`2<int32,int32[]>[] numberGroups@12
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<string> 'words@20-2'
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<string> words@20
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [mscorlib]System.Tuple`2<char,string[]>[] wordGroups@22
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> 'products@30-4'
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> products@30
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [mscorlib]System.Tuple`2<string,class [Utils]Utils/Product[]>[] orderGroups@32
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
@ -1329,7 +1334,7 @@
IL_00ad: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0> class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>::Cons(!0,
class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0>)
IL_00b2: dup
IL_00b3: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101Grouping01>'.$Linq101Grouping01::'numbers@10-3'
IL_00b3: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101Grouping01>'.$Linq101Grouping01::numbers@10
IL_00b8: stloc.1
.line 12,17 : 1,21 ''
IL_00b9: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query()
@ -1383,7 +1388,7 @@
IL_0152: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0> class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<string>::Cons(!0,
class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0>)
IL_0157: dup
IL_0158: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<string> '<StartupCode$Linq101Grouping01>'.$Linq101Grouping01::'words@20-2'
IL_0158: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<string> '<StartupCode$Linq101Grouping01>'.$Linq101Grouping01::words@20
IL_015d: stloc.3
.line 22,27 : 1,21 ''
IL_015e: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query()
@ -1419,7 +1424,7 @@
.line 30,30 : 1,32 ''
IL_01bc: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> [Utils]Utils::getProductList()
IL_01c1: dup
IL_01c2: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> '<StartupCode$Linq101Grouping01>'.$Linq101Grouping01::'products@30-4'
IL_01c2: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> '<StartupCode$Linq101Grouping01>'.$Linq101Grouping01::products@30
IL_01c7: stloc.s products
.line 32,37 : 1,21 ''
IL_01c9: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query()

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,12 +13,17 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:5:0:0
.ver 5:0:0:0
}
.assembly extern Utils
{
.ver 0:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly Linq101Partitioning01
{
.custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32,
@ -33,20 +38,20 @@
}
.mresource public FSharpSignatureData.Linq101Partitioning01
{
// Offset: 0x00000000 Length: 0x000003DE
// Offset: 0x00000000 Length: 0x000003D0
}
.mresource public FSharpOptimizationData.Linq101Partitioning01
{
// Offset: 0x000003E8 Length: 0x00000138
// Offset: 0x000003D8 Length: 0x00000138
}
.module Linq101Partitioning01.exe
// MVID: {5B9A632A-B280-A6A2-A745-03832A639A5B}
// MVID: {5F1FA088-B280-A6A2-A745-038388A01F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x00AF0000
// Image base: 0x04B00000
// =============== CLASS MEMBERS DECLARATION ===================
@ -100,7 +105,7 @@
.locals init ([0] int32 V_0,
[1] int32 n)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Partitioning01.fs'
.line 100001,100001 : 0,0 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Partitioning01.fs'
IL_0000: ldarg.0
IL_0001: ldfld int32 Linq101Partitioning01/first3Numbers@12::pc
IL_0006: ldc.i4.1
@ -522,7 +527,7 @@
IL_000e: ldloc.0
IL_000f: callvirt instance string [Utils]Utils/Customer::get_Region()
IL_0014: ldstr "WA"
IL_0019: call bool [mscorlib]System.String::Equals(string,
IL_0019: call bool [netstandard]System.String::Equals(string,
string)
IL_001e: ret
} // end of method 'WAOrders@22-2'::Invoke
@ -1039,7 +1044,7 @@
IL_000e: ldloc.0
IL_000f: callvirt instance string [Utils]Utils/Customer::get_Region()
IL_0014: ldstr "WA"
IL_0019: call bool [mscorlib]System.String::Equals(string,
IL_0019: call bool [netstandard]System.String::Equals(string,
string)
IL_001e: ret
} // end of method 'WAOrders2@38-2'::Invoke
@ -1817,7 +1822,7 @@
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101Partitioning01>'.$Linq101Partitioning01::'numbers@7-5'
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101Partitioning01>'.$Linq101Partitioning01::numbers@7
IL_0005: ret
} // end of method Linq101Partitioning01::get_numbers
@ -1835,7 +1840,7 @@
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> '<StartupCode$Linq101Partitioning01>'.$Linq101Partitioning01::'customers@17-2'
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> '<StartupCode$Linq101Partitioning01>'.$Linq101Partitioning01::customers@17
IL_0005: ret
} // end of method Linq101Partitioning01::get_customers
@ -1937,11 +1942,11 @@
.class private abstract auto ansi sealed '<StartupCode$Linq101Partitioning01>'.$Linq101Partitioning01
extends [mscorlib]System.Object
{
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> 'numbers@7-5'
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> numbers@7
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> first3Numbers@10
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> 'customers@17-2'
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> customers@17
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [mscorlib]System.Tuple`3<string,int32,valuetype [mscorlib]System.DateTime>[] WAOrders@18
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
@ -2009,7 +2014,7 @@
IL_003d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0> class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>::Cons(!0,
class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0>)
IL_0042: dup
IL_0043: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101Partitioning01>'.$Linq101Partitioning01::'numbers@7-5'
IL_0043: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101Partitioning01>'.$Linq101Partitioning01::numbers@7
IL_0048: stloc.0
.line 10,14 : 1,20 ''
IL_0049: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query()
@ -2033,7 +2038,7 @@
.line 17,17 : 1,34 ''
IL_0076: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> [Utils]Utils::getCustomerList()
IL_007b: dup
IL_007c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> '<StartupCode$Linq101Partitioning01>'.$Linq101Partitioning01::'customers@17-2'
IL_007c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> '<StartupCode$Linq101Partitioning01>'.$Linq101Partitioning01::customers@17
IL_0081: stloc.2
.line 18,24 : 1,21 ''
IL_0082: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query()

Просмотреть файл

@ -13,12 +13,17 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:7:0:0
.ver 5:0:0:0
}
.assembly extern Utils
{
.ver 0:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly Linq101Select01
{
.custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32,
@ -40,13 +45,13 @@
// Offset: 0x00000660 Length: 0x00000204
}
.module Linq101Select01.exe
// MVID: {5ECD8279-6057-8F80-A745-03837982CD5E}
// MVID: {5F1FA088-6057-8F80-A745-038388A01F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x058D0000
// Image base: 0x05950000
// =============== CLASS MEMBERS DECLARATION ===================
@ -2675,13 +2680,13 @@
IL_001a: ldc.i4.0
IL_001b: ldc.i4.0
IL_001c: ldc.i4.2
IL_001d: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_001d: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
uint8)
IL_0022: call bool [mscorlib]System.Decimal::op_LessThan(valuetype [mscorlib]System.Decimal,
valuetype [mscorlib]System.Decimal)
IL_0022: call bool [netstandard]System.Decimal::op_LessThan(valuetype [netstandard]System.Decimal,
valuetype [netstandard]System.Decimal)
IL_0027: ret
} // end of method 'orders@84-2'::Invoke
@ -2878,8 +2883,8 @@
IL_0021: stloc.3
IL_0022: ldloc.2
IL_0023: ldloc.3
IL_0024: call int32 [mscorlib]System.DateTime::Compare(valuetype [mscorlib]System.DateTime,
valuetype [mscorlib]System.DateTime)
IL_0024: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime,
valuetype [netstandard]System.DateTime)
IL_0029: ldc.i4.0
IL_002a: clt
IL_002c: ldc.i4.0
@ -3073,13 +3078,13 @@
IL_001a: ldc.i4.0
IL_001b: ldc.i4.0
IL_001c: ldc.i4.1
IL_001d: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_001d: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
uint8)
IL_0022: call bool [mscorlib]System.Decimal::op_GreaterThanOrEqual(valuetype [mscorlib]System.Decimal,
valuetype [mscorlib]System.Decimal)
IL_0022: call bool [netstandard]System.Decimal::op_GreaterThanOrEqual(valuetype [netstandard]System.Decimal,
valuetype [netstandard]System.Decimal)
IL_0027: ret
} // end of method 'orders3@102-2'::Invoke
@ -3195,7 +3200,7 @@
IL_0000: ldarg.1
IL_0001: callvirt instance string [Utils]Utils/Customer::get_Region()
IL_0006: ldstr "WA"
IL_000b: call bool [mscorlib]System.String::Equals(string,
IL_000b: call bool [netstandard]System.String::Equals(string,
string)
IL_0010: ret
} // end of method 'orders4@112-1'::Invoke
@ -3343,8 +3348,8 @@
IL_001a: stloc.3
IL_001b: ldloc.2
IL_001c: ldloc.3
IL_001d: call int32 [mscorlib]System.DateTime::Compare(valuetype [mscorlib]System.DateTime,
valuetype [mscorlib]System.DateTime)
IL_001d: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime,
valuetype [netstandard]System.DateTime)
IL_0022: ldc.i4.0
IL_0023: clt
IL_0025: ldc.i4.0

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,12 +13,17 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:5:0:0
.ver 5:0:0:0
}
.assembly extern Utils
{
.ver 0:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly Linq101SetOperators01
{
.custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32,
@ -33,20 +38,20 @@
}
.mresource public FSharpSignatureData.Linq101SetOperators01
{
// Offset: 0x00000000 Length: 0x00000398
// Offset: 0x00000000 Length: 0x0000038A
}
.mresource public FSharpOptimizationData.Linq101SetOperators01
{
// Offset: 0x000003A0 Length: 0x0000011E
// Offset: 0x00000390 Length: 0x0000011E
}
.module Linq101SetOperators01.exe
// MVID: {5B9A632A-4EE5-349F-A745-03832A639A5B}
// MVID: {5F1FA088-4EE5-349F-A745-038388A01F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x026A0000
// Image base: 0x053D0000
// =============== CLASS MEMBERS DECLARATION ===================
@ -55,7 +60,7 @@
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 assembly beforefieldinit specialname 'uniqueFactors@13-1'
.class auto autochar serializable sealed nested assembly beforefieldinit specialname uniqueFactors@13
extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1<int32>
{
.custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 )
@ -80,17 +85,17 @@
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldarg.1
IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1<int32> Linq101SetOperators01/'uniqueFactors@13-1'::'enum'
IL_0002: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1<int32> Linq101SetOperators01/uniqueFactors@13::'enum'
IL_0007: ldarg.0
IL_0008: ldarg.2
IL_0009: stfld int32 Linq101SetOperators01/'uniqueFactors@13-1'::pc
IL_0009: stfld int32 Linq101SetOperators01/uniqueFactors@13::pc
IL_000e: ldarg.0
IL_000f: ldarg.3
IL_0010: stfld int32 Linq101SetOperators01/'uniqueFactors@13-1'::current
IL_0010: stfld int32 Linq101SetOperators01/uniqueFactors@13::current
IL_0015: ldarg.0
IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1<int32>::.ctor()
IL_001b: ret
} // end of method 'uniqueFactors@13-1'::.ctor
} // end of method uniqueFactors@13::.ctor
.method public strict virtual instance int32
GenerateNext(class [mscorlib]System.Collections.Generic.IEnumerable`1<int32>& next) cil managed
@ -100,9 +105,9 @@
.locals init ([0] int32 V_0,
[1] int32 n)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 100001,100001 : 0,0 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101SetOperators01.fs'
.line 100001,100001 : 0,0 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101SetOperators01.fs'
IL_0000: ldarg.0
IL_0001: ldfld int32 Linq101SetOperators01/'uniqueFactors@13-1'::pc
IL_0001: ldfld int32 Linq101SetOperators01/uniqueFactors@13::pc
IL_0006: ldc.i4.1
IL_0007: sub
IL_0008: switch (
@ -135,18 +140,18 @@
IL_002b: ldarg.0
IL_002c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> Linq101SetOperators01::get_factorsOf300()
IL_0031: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1<!0> class [mscorlib]System.Collections.Generic.IEnumerable`1<int32>::GetEnumerator()
IL_0036: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1<int32> Linq101SetOperators01/'uniqueFactors@13-1'::'enum'
IL_0036: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1<int32> Linq101SetOperators01/uniqueFactors@13::'enum'
IL_003b: ldarg.0
IL_003c: ldc.i4.1
IL_003d: stfld int32 Linq101SetOperators01/'uniqueFactors@13-1'::pc
IL_003d: stfld int32 Linq101SetOperators01/uniqueFactors@13::pc
.line 13,13 : 9,33 ''
IL_0042: ldarg.0
IL_0043: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1<int32> Linq101SetOperators01/'uniqueFactors@13-1'::'enum'
IL_0043: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1<int32> Linq101SetOperators01/uniqueFactors@13::'enum'
IL_0048: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
IL_004d: brfalse.s IL_0070
IL_004f: ldarg.0
IL_0050: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1<int32> Linq101SetOperators01/'uniqueFactors@13-1'::'enum'
IL_0050: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1<int32> Linq101SetOperators01/uniqueFactors@13::'enum'
IL_0055: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1<int32>::get_Current()
IL_005a: stloc.0
.line 13,13 : 9,33 ''
@ -154,11 +159,11 @@
IL_005c: stloc.1
IL_005d: ldarg.0
IL_005e: ldc.i4.2
IL_005f: stfld int32 Linq101SetOperators01/'uniqueFactors@13-1'::pc
IL_005f: stfld int32 Linq101SetOperators01/uniqueFactors@13::pc
.line 14,14 : 9,17 ''
IL_0064: ldarg.0
IL_0065: ldloc.1
IL_0066: stfld int32 Linq101SetOperators01/'uniqueFactors@13-1'::current
IL_0066: stfld int32 Linq101SetOperators01/uniqueFactors@13::current
IL_006b: ldc.i4.1
IL_006c: ret
@ -168,24 +173,24 @@
IL_0070: ldarg.0
IL_0071: ldc.i4.3
IL_0072: stfld int32 Linq101SetOperators01/'uniqueFactors@13-1'::pc
IL_0072: stfld int32 Linq101SetOperators01/uniqueFactors@13::pc
.line 13,13 : 9,33 ''
IL_0077: ldarg.0
IL_0078: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1<int32> Linq101SetOperators01/'uniqueFactors@13-1'::'enum'
IL_0078: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1<int32> Linq101SetOperators01/uniqueFactors@13::'enum'
IL_007d: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose<class [mscorlib]System.Collections.Generic.IEnumerator`1<int32>>(!!0)
IL_0082: nop
IL_0083: ldarg.0
IL_0084: ldnull
IL_0085: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1<int32> Linq101SetOperators01/'uniqueFactors@13-1'::'enum'
IL_0085: stfld class [mscorlib]System.Collections.Generic.IEnumerator`1<int32> Linq101SetOperators01/uniqueFactors@13::'enum'
IL_008a: ldarg.0
IL_008b: ldc.i4.3
IL_008c: stfld int32 Linq101SetOperators01/'uniqueFactors@13-1'::pc
IL_008c: stfld int32 Linq101SetOperators01/uniqueFactors@13::pc
IL_0091: ldarg.0
IL_0092: ldc.i4.0
IL_0093: stfld int32 Linq101SetOperators01/'uniqueFactors@13-1'::current
IL_0093: stfld int32 Linq101SetOperators01/uniqueFactors@13::current
IL_0098: ldc.i4.0
IL_0099: ret
} // end of method 'uniqueFactors@13-1'::GenerateNext
} // end of method uniqueFactors@13::GenerateNext
.method public strict virtual instance void
Close() cil managed
@ -197,7 +202,7 @@
[2] class [mscorlib]System.Exception e)
.line 100001,100001 : 0,0 ''
IL_0000: ldarg.0
IL_0001: ldfld int32 Linq101SetOperators01/'uniqueFactors@13-1'::pc
IL_0001: ldfld int32 Linq101SetOperators01/uniqueFactors@13::pc
IL_0006: ldc.i4.3
IL_0007: sub
IL_0008: switch (
@ -213,7 +218,7 @@
.try
{
IL_001a: ldarg.0
IL_001b: ldfld int32 Linq101SetOperators01/'uniqueFactors@13-1'::pc
IL_001b: ldfld int32 Linq101SetOperators01/uniqueFactors@13::pc
IL_0020: switch (
IL_0037,
IL_0039,
@ -251,19 +256,19 @@
IL_004c: nop
IL_004d: ldarg.0
IL_004e: ldc.i4.3
IL_004f: stfld int32 Linq101SetOperators01/'uniqueFactors@13-1'::pc
IL_004f: stfld int32 Linq101SetOperators01/uniqueFactors@13::pc
IL_0054: ldarg.0
IL_0055: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1<int32> Linq101SetOperators01/'uniqueFactors@13-1'::'enum'
IL_0055: ldfld class [mscorlib]System.Collections.Generic.IEnumerator`1<int32> Linq101SetOperators01/uniqueFactors@13::'enum'
IL_005a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose<class [mscorlib]System.Collections.Generic.IEnumerator`1<int32>>(!!0)
IL_005f: nop
.line 100001,100001 : 0,0 ''
IL_0060: nop
IL_0061: ldarg.0
IL_0062: ldc.i4.3
IL_0063: stfld int32 Linq101SetOperators01/'uniqueFactors@13-1'::pc
IL_0063: stfld int32 Linq101SetOperators01/uniqueFactors@13::pc
IL_0068: ldarg.0
IL_0069: ldc.i4.0
IL_006a: stfld int32 Linq101SetOperators01/'uniqueFactors@13-1'::current
IL_006a: stfld int32 Linq101SetOperators01/uniqueFactors@13::current
IL_006f: ldnull
IL_0070: stloc.1
IL_0071: leave.s IL_007f
@ -303,7 +308,7 @@
.line 100001,100001 : 0,0 ''
IL_0093: ret
} // end of method 'uniqueFactors@13-1'::Close
} // end of method uniqueFactors@13::Close
.method public strict virtual instance bool
get_CheckClose() cil managed
@ -312,7 +317,7 @@
.maxstack 8
.line 100001,100001 : 0,0 ''
IL_0000: ldarg.0
IL_0001: ldfld int32 Linq101SetOperators01/'uniqueFactors@13-1'::pc
IL_0001: ldfld int32 Linq101SetOperators01/uniqueFactors@13::pc
IL_0006: switch (
IL_001d,
IL_001f,
@ -354,7 +359,7 @@
IL_0036: ldc.i4.0
IL_0037: ret
} // end of method 'uniqueFactors@13-1'::get_CheckClose
} // end of method uniqueFactors@13::get_CheckClose
.method public strict virtual instance int32
get_LastGenerated() cil managed
@ -364,9 +369,9 @@
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldfld int32 Linq101SetOperators01/'uniqueFactors@13-1'::current
IL_0001: ldfld int32 Linq101SetOperators01/uniqueFactors@13::current
IL_0006: ret
} // end of method 'uniqueFactors@13-1'::get_LastGenerated
} // end of method uniqueFactors@13::get_LastGenerated
.method public strict virtual instance class [mscorlib]System.Collections.Generic.IEnumerator`1<int32>
GetFreshEnumerator() cil managed
@ -378,13 +383,13 @@
IL_0000: ldnull
IL_0001: ldc.i4.0
IL_0002: ldc.i4.0
IL_0003: newobj instance void Linq101SetOperators01/'uniqueFactors@13-1'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1<int32>,
IL_0003: newobj instance void Linq101SetOperators01/uniqueFactors@13::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1<int32>,
int32,
int32)
IL_0008: ret
} // end of method 'uniqueFactors@13-1'::GetFreshEnumerator
} // end of method uniqueFactors@13::GetFreshEnumerator
} // end of class 'uniqueFactors@13-1'
} // end of class uniqueFactors@13
.class auto ansi serializable sealed nested assembly beforefieldinit 'categoryNames@22-1'
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [Utils]Utils/Product,class [mscorlib]System.Collections.Generic.IEnumerable`1<class [Utils]Utils/Product>>
@ -885,7 +890,7 @@
IL_0070: ldloc.0
IL_0071: callvirt instance string [Utils]Utils/Product::get_ProductName()
IL_0076: ldc.i4.0
IL_0077: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_0077: callvirt instance char [netstandard]System.String::get_Chars(int32)
IL_007c: stfld char Linq101SetOperators01/productFirstChars@33::current
IL_0081: ldc.i4.1
IL_0082: ret
@ -1250,7 +1255,7 @@
IL_0070: ldloc.0
IL_0071: callvirt instance string [Utils]Utils/Customer::get_CompanyName()
IL_0076: ldc.i4.0
IL_0077: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_0077: callvirt instance char [netstandard]System.String::get_Chars(int32)
IL_007c: stfld char Linq101SetOperators01/customerFirstChars@39::current
IL_0081: ldc.i4.1
IL_0082: ret
@ -1484,7 +1489,7 @@
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01::'factorsOf300@9-2'
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01::factorsOf300@9
IL_0005: ret
} // end of method Linq101SetOperators01::get_factorsOf300
@ -1493,7 +1498,7 @@
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01::'uniqueFactors@11-2'
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01::uniqueFactors@11
IL_0005: ret
} // end of method Linq101SetOperators01::get_uniqueFactors
@ -1502,7 +1507,7 @@
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01::'products@18-14'
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01::products@18
IL_0005: ret
} // end of method Linq101SetOperators01::get_products
@ -1520,7 +1525,7 @@
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01::'customers@28-6'
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01::customers@28
IL_0005: ret
} // end of method Linq101SetOperators01::get_customers
@ -1589,15 +1594,15 @@
.class private abstract auto ansi sealed '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01
extends [mscorlib]System.Object
{
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> 'factorsOf300@9-2'
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> factorsOf300@9
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> 'uniqueFactors@11-2'
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> uniqueFactors@11
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> 'products@18-14'
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> products@18
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<string> categoryNames@20
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> 'customers@28-6'
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> customers@28
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [mscorlib]System.Collections.Generic.IEnumerable`1<char> productFirstChars@30
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
@ -1641,7 +1646,7 @@
IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0> class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>::Cons(!0,
class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0>)
IL_0023: dup
IL_0024: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01::'factorsOf300@9-2'
IL_0024: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01::factorsOf300@9
IL_0029: stloc.0
.line 11,15 : 1,20 ''
IL_002a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query()
@ -1650,7 +1655,7 @@
IL_0033: ldnull
IL_0034: ldc.i4.0
IL_0035: ldc.i4.0
IL_0036: newobj instance void Linq101SetOperators01/'uniqueFactors@13-1'::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1<int32>,
IL_0036: newobj instance void Linq101SetOperators01/uniqueFactors@13::.ctor(class [mscorlib]System.Collections.Generic.IEnumerator`1<int32>,
int32,
int32)
IL_003b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<int32,class [mscorlib]System.Collections.IEnumerable>::.ctor(class [mscorlib]System.Collections.Generic.IEnumerable`1<!0>)
@ -1658,12 +1663,12 @@
IL_0045: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1<!0> class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<int32,class [mscorlib]System.Collections.IEnumerable>::get_Source()
IL_004a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!!0> [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList<int32>(class [mscorlib]System.Collections.Generic.IEnumerable`1<!!0>)
IL_004f: dup
IL_0050: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01::'uniqueFactors@11-2'
IL_0050: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01::uniqueFactors@11
IL_0055: stloc.1
.line 18,18 : 1,32 ''
IL_0056: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> [Utils]Utils::getProductList()
IL_005b: dup
IL_005c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01::'products@18-14'
IL_005c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01::products@18
IL_0061: stloc.2
.line 20,25 : 1,20 ''
IL_0062: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query()
@ -1685,7 +1690,7 @@
.line 28,28 : 1,34 ''
IL_008e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> [Utils]Utils::getCustomerList()
IL_0093: dup
IL_0094: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01::'customers@28-6'
IL_0094: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> '<StartupCode$Linq101SetOperators01>'.$Linq101SetOperators01::customers@28
IL_0099: stloc.s customers
IL_009b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query()
IL_00a0: stloc.s V_9

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,12 +13,17 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:5:0:0
.ver 5:0:0:0
}
.assembly extern Utils
{
.ver 0:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly Linq101Where01
{
.custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32,
@ -33,20 +38,20 @@
}
.mresource public FSharpSignatureData.Linq101Where01
{
// Offset: 0x00000000 Length: 0x000003D6
// Offset: 0x00000000 Length: 0x000003C8
}
.mresource public FSharpOptimizationData.Linq101Where01
{
// Offset: 0x000003E0 Length: 0x0000012E
// Offset: 0x000003D0 Length: 0x0000012E
}
.module Linq101Where01.exe
// MVID: {5B9A632A-FF23-CD21-A745-03832A639A5B}
// MVID: {5F1FA088-FF23-CD21-A745-038388A01F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x009E0000
// Image base: 0x04BD0000
// =============== CLASS MEMBERS DECLARATION ===================
@ -55,7 +60,7 @@
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 ansi serializable sealed nested assembly beforefieldinit 'lowNums@14-3'
.class auto ansi serializable sealed nested assembly beforefieldinit lowNums@14
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<int32,object>>
{
.field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@
@ -73,9 +78,9 @@
IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<int32,object>>::.ctor()
IL_0006: ldarg.0
IL_0007: ldarg.1
IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Where01/'lowNums@14-3'::builder@
IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Where01/lowNums@14::builder@
IL_000d: ret
} // end of method 'lowNums@14-3'::.ctor
} // end of method lowNums@14::.ctor
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<int32,object>
Invoke(int32 _arg1) cil managed
@ -84,21 +89,21 @@
.maxstack 6
.locals init ([0] int32 n)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 14,14 : 9,28 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Where01.fs'
.line 14,14 : 9,28 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\QueryExpressionStepping\\Linq101Where01.fs'
IL_0000: ldarg.1
IL_0001: stloc.0
.line 15,15 : 9,22 ''
IL_0002: ldarg.0
IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Where01/'lowNums@14-3'::builder@
IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder Linq101Where01/lowNums@14::builder@
IL_0008: ldloc.0
IL_0009: tail.
IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<!!0,!!1> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield<int32,object>(!!0)
IL_0010: ret
} // end of method 'lowNums@14-3'::Invoke
} // end of method lowNums@14::Invoke
} // end of class 'lowNums@14-3'
} // end of class lowNums@14
.class auto ansi serializable sealed nested assembly beforefieldinit 'lowNums@15-4'
.class auto ansi serializable sealed nested assembly beforefieldinit 'lowNums@15-1'
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32,bool>
{
.method assembly specialname rtspecialname
@ -111,7 +116,7 @@
IL_0000: ldarg.0
IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32,bool>::.ctor()
IL_0006: ret
} // end of method 'lowNums@15-4'::.ctor
} // end of method 'lowNums@15-1'::.ctor
.method public strict virtual instance bool
Invoke(int32 n) cil managed
@ -123,11 +128,11 @@
IL_0001: ldc.i4.5
IL_0002: clt
IL_0004: ret
} // end of method 'lowNums@15-4'::Invoke
} // end of method 'lowNums@15-1'::Invoke
} // end of class 'lowNums@15-4'
} // end of class 'lowNums@15-1'
.class auto ansi serializable sealed nested assembly beforefieldinit 'lowNums@16-5'
.class auto ansi serializable sealed nested assembly beforefieldinit 'lowNums@16-2'
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32,int32>
{
.method assembly specialname rtspecialname
@ -140,7 +145,7 @@
IL_0000: ldarg.0
IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32,int32>::.ctor()
IL_0006: ret
} // end of method 'lowNums@16-5'::.ctor
} // end of method 'lowNums@16-2'::.ctor
.method public strict virtual instance int32
Invoke(int32 n) cil managed
@ -150,9 +155,9 @@
.line 16,16 : 16,17 ''
IL_0000: ldarg.1
IL_0001: ret
} // end of method 'lowNums@16-5'::Invoke
} // end of method 'lowNums@16-2'::Invoke
} // end of class 'lowNums@16-5'
} // end of class 'lowNums@16-2'
.class auto ansi serializable sealed nested assembly beforefieldinit soldOutProducts@24
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<class [Utils]Utils/Product,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<class [Utils]Utils/Product,object>>
@ -333,13 +338,13 @@
IL_0019: ldc.i4.0
IL_001a: ldc.i4.0
IL_001b: ldc.i4.2
IL_001c: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
IL_001c: newobj instance void [netstandard]System.Decimal::.ctor(int32,
int32,
int32,
bool,
uint8)
IL_0021: call bool [mscorlib]System.Decimal::op_GreaterThan(valuetype [mscorlib]System.Decimal,
valuetype [mscorlib]System.Decimal)
IL_0021: call bool [netstandard]System.Decimal::op_GreaterThan(valuetype [netstandard]System.Decimal,
valuetype [netstandard]System.Decimal)
IL_0026: ret
.line 100001,100001 : 0,0 ''
@ -442,7 +447,7 @@
IL_0000: ldarg.1
IL_0001: callvirt instance string [Utils]Utils/Customer::get_Region()
IL_0006: ldstr "WA"
IL_000b: call bool [mscorlib]System.String::Equals(string,
IL_000b: call bool [netstandard]System.String::Equals(string,
string)
IL_0010: ret
} // end of method 'waCustomers@43-1'::Invoke
@ -915,7 +920,7 @@
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101Where01>'.$Linq101Where01::'numbers@9-11'
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101Where01>'.$Linq101Where01::numbers@9
IL_0005: ret
} // end of method Linq101Where01::get_numbers
@ -924,7 +929,7 @@
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101Where01>'.$Linq101Where01::'lowNums@12-2'
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101Where01>'.$Linq101Where01::lowNums@12
IL_0005: ret
} // end of method Linq101Where01::get_lowNums
@ -933,7 +938,7 @@
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> '<StartupCode$Linq101Where01>'.$Linq101Where01::'products@20-16'
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> '<StartupCode$Linq101Where01>'.$Linq101Where01::products@20
IL_0005: ret
} // end of method Linq101Where01::get_products
@ -960,7 +965,7 @@
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> '<StartupCode$Linq101Where01>'.$Linq101Where01::'customers@38-8'
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> '<StartupCode$Linq101Where01>'.$Linq101Where01::customers@38
IL_0005: ret
} // end of method Linq101Where01::get_customers
@ -978,7 +983,7 @@
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<string> '<StartupCode$Linq101Where01>'.$Linq101Where01::'digits@48-6'
IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<string> '<StartupCode$Linq101Where01>'.$Linq101Where01::digits@48
IL_0005: ret
} // end of method Linq101Where01::get_digits
@ -1050,21 +1055,21 @@
.class private abstract auto ansi sealed '<StartupCode$Linq101Where01>'.$Linq101Where01
extends [mscorlib]System.Object
{
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> 'numbers@9-11'
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> numbers@9
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> 'lowNums@12-2'
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> lowNums@12
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> 'products@20-16'
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> products@20
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [mscorlib]System.Collections.Generic.IEnumerable`1<class [Utils]Utils/Product> soldOutProducts@22
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [mscorlib]System.Collections.Generic.IEnumerable`1<class [Utils]Utils/Product> expensiveInStockProducts@30
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> 'customers@38-8'
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> customers@38
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [Utils]Utils/Customer[] waCustomers@40
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<string> 'digits@48-6'
.field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<string> digits@48
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.field static assembly class [mscorlib]System.Collections.Generic.IEnumerable`1<string> shortDigits@49
.custom instance void [mscorlib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
@ -1124,7 +1129,7 @@
IL_003d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0> class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>::Cons(!0,
class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0>)
IL_0042: dup
IL_0043: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101Where01>'.$Linq101Where01::'numbers@9-11'
IL_0043: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101Where01>'.$Linq101Where01::numbers@9
IL_0048: stloc.0
.line 12,17 : 1,20 ''
IL_0049: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query()
@ -1136,24 +1141,24 @@
IL_0058: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> Linq101Where01::get_numbers()
IL_005d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<!!0,class [mscorlib]System.Collections.IEnumerable> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source<int32>(class [mscorlib]System.Collections.Generic.IEnumerable`1<!!0>)
IL_0062: ldloc.s V_9
IL_0064: newobj instance void Linq101Where01/'lowNums@14-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder)
IL_0064: newobj instance void Linq101Where01/lowNums@14::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder)
IL_0069: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<!!2,!!1> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For<int32,class [mscorlib]System.Collections.IEnumerable,int32,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<!!0,!!1>,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<!!0,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<!!2,!!3>>)
IL_006e: newobj instance void Linq101Where01/'lowNums@15-4'::.ctor()
IL_006e: newobj instance void Linq101Where01/'lowNums@15-1'::.ctor()
IL_0073: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<!!0,!!1> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where<int32,class [mscorlib]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<!!0,!!1>,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<!!0,bool>)
IL_0078: newobj instance void Linq101Where01/'lowNums@16-5'::.ctor()
IL_0078: newobj instance void Linq101Where01/'lowNums@16-2'::.ctor()
IL_007d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<!!2,!!1> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select<int32,class [mscorlib]System.Collections.IEnumerable,int32>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<!!0,!!1>,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<!!0,!!2>)
IL_0082: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerable`1<!0> class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2<int32,class [mscorlib]System.Collections.IEnumerable>::get_Source()
IL_0087: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!!0> [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfSeq<int32>(class [mscorlib]System.Collections.Generic.IEnumerable`1<!!0>)
IL_008c: dup
IL_008d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101Where01>'.$Linq101Where01::'lowNums@12-2'
IL_008d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> '<StartupCode$Linq101Where01>'.$Linq101Where01::lowNums@12
IL_0092: stloc.1
.line 20,20 : 1,32 ''
IL_0093: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> [Utils]Utils::getProductList()
IL_0098: dup
IL_0099: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> '<StartupCode$Linq101Where01>'.$Linq101Where01::'products@20-16'
IL_0099: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Product> '<StartupCode$Linq101Where01>'.$Linq101Where01::products@20
IL_009e: stloc.2
IL_009f: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query()
IL_00a4: stloc.s V_10
@ -1202,7 +1207,7 @@
.line 38,38 : 1,34 ''
IL_012a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> [Utils]Utils::getCustomerList()
IL_012f: dup
IL_0130: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> '<StartupCode$Linq101Where01>'.$Linq101Where01::'customers@38-8'
IL_0130: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [Utils]Utils/Customer> '<StartupCode$Linq101Where01>'.$Linq101Where01::customers@38
IL_0135: stloc.s customers
.line 40,45 : 1,21 ''
IL_0137: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query()
@ -1261,7 +1266,7 @@
IL_01e6: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0> class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<string>::Cons(!0,
class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0>)
IL_01eb: dup
IL_01ec: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<string> '<StartupCode$Linq101Where01>'.$Linq101Where01::'digits@48-6'
IL_01ec: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<string> '<StartupCode$Linq101Where01>'.$Linq101Where01::digits@48
IL_01f1: stloc.s digits
.line 49,55 : 1,21 ''
IL_01f3: newobj instance void Linq101Where01/shortDigits@55::.ctor()

Просмотреть файл

@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:7:0:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly StaticInit_Struct01
{
@ -36,13 +41,13 @@
// Offset: 0x000007A8 Length: 0x0000021F
}
.module StaticInit_Struct01.dll
// MVID: {5ECD86B3-05F6-D6CB-A745-0383B386CD5E}
// MVID: {5F1FA087-05F6-D6CB-A745-038387A01F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x06E50000
// Image base: 0x053B0000
// =============== CLASS MEMBERS DECLARATION ===================
@ -81,8 +86,8 @@
IL_000a: ldfld valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
IL_000f: ldloc.0
IL_0010: ldfld valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
IL_0015: call int32 [mscorlib]System.DateTime::Compare(valuetype [mscorlib]System.DateTime,
valuetype [mscorlib]System.DateTime)
IL_0015: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime,
valuetype [netstandard]System.DateTime)
IL_001a: ret
} // end of method C::CompareTo
@ -122,8 +127,8 @@
IL_000d: ldfld valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
IL_0012: ldloc.1
IL_0013: ldfld valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
IL_0018: call int32 [mscorlib]System.DateTime::Compare(valuetype [mscorlib]System.DateTime,
valuetype [mscorlib]System.DateTime)
IL_0018: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime,
valuetype [netstandard]System.DateTime)
IL_001d: ret
} // end of method C::CompareTo
@ -199,8 +204,8 @@
IL_0017: ldfld valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
IL_001c: ldloc.1
IL_001d: ldfld valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
IL_0022: call bool [mscorlib]System.DateTime::Equals(valuetype [mscorlib]System.DateTime,
valuetype [mscorlib]System.DateTime)
IL_0022: call bool [netstandard]System.DateTime::Equals(valuetype [netstandard]System.DateTime,
valuetype [netstandard]System.DateTime)
IL_0027: ret
.line 100001,100001 : 0,0 ''
@ -266,8 +271,8 @@
IL_0004: ldfld valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
IL_0009: ldloc.0
IL_000a: ldfld valuetype [mscorlib]System.DateTime StaticInit_Struct01/C::s
IL_000f: call bool [mscorlib]System.DateTime::Equals(valuetype [mscorlib]System.DateTime,
valuetype [mscorlib]System.DateTime)
IL_000f: call bool [netstandard]System.DateTime::Equals(valuetype [netstandard]System.DateTime,
valuetype [netstandard]System.DateTime)
IL_0014: ret
} // end of method C::Equals

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:1:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly TestFunction3c
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.TestFunction3c
{
// Offset: 0x00000000 Length: 0x00000200
// Offset: 0x00000000 Length: 0x000001FA
}
.mresource public FSharpOptimizationData.TestFunction3c
{
// Offset: 0x00000208 Length: 0x0000008A
// Offset: 0x00000200 Length: 0x0000008A
}
.module TestFunction3c.exe
// MVID: {59B19208-A662-4FAC-A745-03830892B159}
// MVID: {5F1FA088-A662-4FAC-A745-038388A01F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x02B20000
// Image base: 0x06AD0000
// =============== CLASS MEMBERS DECLARATION ===================
@ -56,7 +61,7 @@
// Code size 36 (0x24)
.maxstack 8
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 5,5 : 5,20 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\TestFunctions\\TestFunction3c.fs'
.line 5,5 : 5,20 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\TestFunction3c.fs'
IL_0000: ldstr "Hello"
IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::.ctor(string)
IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
@ -113,7 +118,7 @@
IL_002c: stloc.s msg
IL_002e: ldloc.s msg
IL_0030: ldstr "hello"
IL_0035: call bool [mscorlib]System.String::Equals(string,
IL_0035: call bool [netstandard]System.String::Equals(string,
string)
IL_003a: brfalse.s IL_003e

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:1:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly Testfunction22f
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.Testfunction22f
{
// Offset: 0x00000000 Length: 0x0000015D
// Offset: 0x00000000 Length: 0x00000157
}
.mresource public FSharpOptimizationData.Testfunction22f
{
// Offset: 0x00000168 Length: 0x00000056
// Offset: 0x00000160 Length: 0x00000056
}
.module Testfunction22f.exe
// MVID: {59B19208-C040-2523-A745-03830892B159}
// MVID: {5F1FA088-C040-2523-A745-038388A01F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x012C0000
// Image base: 0x067F0000
// =============== CLASS MEMBERS DECLARATION ===================
@ -67,12 +72,12 @@
.maxstack 4
.locals init ([0] string V_0)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 3,3 : 1,15 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\TestFunctions\\Testfunction22f.fs'
.line 3,3 : 1,15 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\TestFunctions\\Testfunction22f.fs'
IL_0000: ldstr "A"
IL_0005: stloc.0
IL_0006: ldloc.0
IL_0007: ldstr "A"
IL_000c: call bool [mscorlib]System.String::Equals(string,
IL_000c: call bool [netstandard]System.String::Equals(string,
string)
IL_0011: brfalse.s IL_0015

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:3:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly TupleElimination
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.TupleElimination
{
// Offset: 0x00000000 Length: 0x00000236
// Offset: 0x00000000 Length: 0x00000228
}
.mresource public FSharpOptimizationData.TupleElimination
{
// Offset: 0x00000240 Length: 0x0000007B
// Offset: 0x00000230 Length: 0x0000007B
}
.module TupleElimination.exe
// MVID: {5B17FC67-DFDD-92DF-A745-038367FC175B}
// MVID: {5F1FA088-DFDD-92DF-A745-038388A01F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x02760000
// Image base: 0x07100000
// =============== CLASS MEMBERS DECLARATION ===================
@ -57,11 +62,11 @@
.maxstack 4
.locals init ([0] class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<!!a,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_0)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 5,5 : 15,27 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\Tuples\\TupleElimination.fs'
.line 5,5 : 15,27 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\Tuples\\TupleElimination.fs'
IL_0000: ldstr "%A"
IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<!!a,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,!!a>::.ctor(string)
IL_000a: stloc.0
IL_000b: call class [mscorlib]System.IO.TextWriter [mscorlib]System.Console::get_Out()
IL_000b: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out()
IL_0010: ldloc.0
IL_0011: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<!!0,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [mscorlib]System.IO.TextWriter,
class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)

Просмотреть файл

@ -30,4 +30,4 @@ NOMONO SOURCE=E_ProtectedMemberInExtentionMember01.fs SCFLAGS="--test:ErrorRange
# These tests have a dependency on NetFx3.5 (i.e. CSC_PIPE must be 3.5 or better)
# For this reason, we exclude it from MT
NoMT SOURCE=FSUsingExtendedTypes.fs SCFLAGS="--test:ErrorRanges -r:fslib.dll -r:CSLibExtendingFS.dll" PRECMD="\$CSC_PIPE /t:library /r:fslib.dll CSLibExtendingFS.cs" # FSUsingExtendedTypes.fs
NoMT SOURCE="GenericExtensions.fs" SCFLAGS="--reference:GenericExtensionsCSLib.dll" PRECMD="\$CSC_PIPE /r:\"%FSCOREDLLPATH%\" /t:library /reference:System.Core.dll GenericExtensionsCSLib.cs" # GenericExtensions.fs
NoMT SOURCE="GenericExtensions.fs" SCFLAGS="--reference:GenericExtensionsCSLib.dll" PRECMD="\$CSC_PIPE /r:\"%FSCOREDLLPATH%\" /t:library /reference:System.Core.dll /reference:netstandard.dll GenericExtensionsCSLib.cs" # GenericExtensions.fs

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:1:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly ForEachOnList01
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.ForEachOnList01
{
// Offset: 0x00000000 Length: 0x000002ED
// Offset: 0x00000000 Length: 0x000002E7
}
.mresource public FSharpOptimizationData.ForEachOnList01
{
// Offset: 0x000002F8 Length: 0x000000DB
// Offset: 0x000002F0 Length: 0x000000DB
}
.module ForEachOnList01.dll
// MVID: {59B18AEE-56DF-F74F-A745-0383EE8AB159}
// MVID: {5F1FBE49-56DF-F74F-A745-038349BE1F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x002D0000
// Image base: 0x04F10000
// =============== CLASS MEMBERS DECLARATION ===================
@ -72,7 +77,7 @@
// Code size 4 (0x4)
.maxstack 8
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 39,39 : 21,26 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\Optimizations\\ForLoop\\ForEachOnList01.fs'
.line 39,39 : 21,26 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\ForLoop\\ForEachOnList01.fs'
IL_0000: ldarg.1
IL_0001: ldc.i4.1
IL_0002: add
@ -362,7 +367,7 @@
IL_002e: ldstr "%A"
IL_0033: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string)
IL_0038: stloc.s V_4
IL_003a: call class [mscorlib]System.IO.TextWriter [mscorlib]System.Console::get_Out()
IL_003a: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out()
IL_003f: ldloc.s V_4
IL_0041: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [mscorlib]System.IO.TextWriter,
class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
@ -424,7 +429,7 @@
IL_003c: ldstr "%O"
IL_0041: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string)
IL_0046: stloc.3
IL_0047: call class [mscorlib]System.IO.TextWriter [mscorlib]System.Console::get_Out()
IL_0047: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out()
IL_004c: ldloc.3
IL_004d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [mscorlib]System.IO.TextWriter,
class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
@ -493,7 +498,7 @@
IL_0040: ldstr "%O"
IL_0045: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string)
IL_004a: stloc.s V_4
IL_004c: call class [mscorlib]System.IO.TextWriter [mscorlib]System.Console::get_Out()
IL_004c: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out()
IL_0051: ldloc.s V_4
IL_0053: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<int32,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [mscorlib]System.IO.TextWriter,
class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:1:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly ForEachOnString01
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.ForEachOnString01
{
// Offset: 0x00000000 Length: 0x00000354
// Offset: 0x00000000 Length: 0x0000034E
}
.mresource public FSharpOptimizationData.ForEachOnString01
{
// Offset: 0x00000358 Length: 0x000000FF
}
.module ForEachOnString01.dll
// MVID: {59B18AEE-105C-852B-A745-0383EE8AB159}
// MVID: {5F1FBE49-105C-852B-A745-038349BE1F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x002D0000
// Image base: 0x06CB0000
// =============== CLASS MEMBERS DECLARATION ===================
@ -72,7 +77,7 @@
// Code size 6 (0x6)
.maxstack 8
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 55,55 : 21,39 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\Optimizations\\ForLoop\\ForEachOnString01.fs'
.line 55,55 : 21,39 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\ForLoop\\ForEachOnString01.fs'
IL_0000: ldarg.1
IL_0001: conv.i4
IL_0002: ldc.i4.1
@ -140,7 +145,7 @@
.line 9,9 : 6,21 ''
IL_0011: ldarg.0
IL_0012: ldloc.2
IL_0013: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_0013: callvirt instance char [netstandard]System.String::get_Chars(int32)
IL_0018: stloc.3
IL_0019: ldloc.0
IL_001a: ldloc.3
@ -187,7 +192,7 @@
.line 14,14 : 6,23 ''
IL_0015: ldstr "123"
IL_001a: ldloc.2
IL_001b: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_001b: callvirt instance char [netstandard]System.String::get_Chars(int32)
IL_0020: stloc.3
IL_0021: ldloc.0
IL_0022: ldloc.3
@ -234,7 +239,7 @@
.line 20,20 : 6,20 ''
IL_0015: ldstr "123"
IL_001a: ldloc.2
IL_001b: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_001b: callvirt instance char [netstandard]System.String::get_Chars(int32)
IL_0020: stloc.3
IL_0021: ldloc.0
IL_0022: ldloc.3
@ -281,7 +286,7 @@
.line 26,26 : 6,20 ''
IL_0015: ldstr "123"
IL_001a: ldloc.2
IL_001b: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_001b: callvirt instance char [netstandard]System.String::get_Chars(int32)
IL_0020: stloc.3
IL_0021: ldloc.0
IL_0022: ldloc.3
@ -325,12 +330,12 @@
.line 31,31 : 6,20 ''
IL_0013: ldstr "123"
IL_0018: ldloc.1
IL_0019: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_0019: callvirt instance char [netstandard]System.String::get_Chars(int32)
IL_001e: stloc.2
IL_001f: ldstr "%A"
IL_0024: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<char,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,char>::.ctor(string)
IL_0029: stloc.3
IL_002a: call class [mscorlib]System.IO.TextWriter [mscorlib]System.Console::get_Out()
IL_002a: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out()
IL_002f: ldloc.3
IL_0030: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<char,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [mscorlib]System.IO.TextWriter,
class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
@ -377,7 +382,7 @@
.line 41,41 : 6,21 ''
IL_0011: ldarg.0
IL_0012: ldloc.2
IL_0013: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_0013: callvirt instance char [netstandard]System.String::get_Chars(int32)
IL_0018: stloc.3
IL_0019: ldloc.0
IL_001a: ldloc.3
@ -424,7 +429,7 @@
.line 47,47 : 6,20 ''
IL_0015: ldstr "123"
IL_001a: ldloc.2
IL_001b: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_001b: callvirt instance char [netstandard]System.String::get_Chars(int32)
IL_0020: stloc.3
IL_0021: ldloc.0
IL_0022: ldloc.3
@ -475,12 +480,12 @@
.line 52,56 : 5,21 ''
IL_001f: ldloc.0
IL_0020: ldloc.2
IL_0021: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_0021: callvirt instance char [netstandard]System.String::get_Chars(int32)
IL_0026: stloc.3
IL_0027: ldstr "%O"
IL_002c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<char,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,char>::.ctor(string)
IL_0031: stloc.s V_4
IL_0033: call class [mscorlib]System.IO.TextWriter [mscorlib]System.Console::get_Out()
IL_0033: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out()
IL_0038: ldloc.s V_4
IL_003a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<char,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [mscorlib]System.IO.TextWriter,
class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
@ -532,7 +537,7 @@
.line 61,65 : 5,21 ''
IL_001f: ldloc.0
IL_0020: ldloc.2
IL_0021: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_0021: callvirt instance char [netstandard]System.String::get_Chars(int32)
IL_0026: stloc.3
.line 66,66 : 9,53 ''
IL_0027: ldstr "{0} foo"
@ -545,7 +550,7 @@
IL_0039: ldstr "%O"
IL_003e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<string,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string>::.ctor(string)
IL_0043: stloc.s V_5
IL_0045: call class [mscorlib]System.IO.TextWriter [mscorlib]System.Console::get_Out()
IL_0045: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out()
IL_004a: ldloc.s V_5
IL_004c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter<class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2<string,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [mscorlib]System.IO.TextWriter,
class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:1:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly NoIEnumerable01
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.NoIEnumerable01
{
// Offset: 0x00000000 Length: 0x000001D1
// Offset: 0x00000000 Length: 0x000001CB
}
.mresource public FSharpOptimizationData.NoIEnumerable01
{
// Offset: 0x000001D8 Length: 0x0000006C
// Offset: 0x000001D0 Length: 0x0000006C
}
.module NoIEnumerable01.dll
// MVID: {59B18AEE-31A1-8DCB-A745-0383EE8AB159}
// MVID: {5F1FBE49-31A1-8DCB-A745-038349BE1F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x013E0000
// Image base: 0x07010000
// =============== CLASS MEMBERS DECLARATION ===================
@ -59,7 +64,7 @@
[1] int32 i,
[2] class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_2)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 7,7 : 4,22 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\Optimizations\\ForLoop\\NoIEnumerable01.fsx'
.line 7,7 : 4,22 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\ForLoop\\NoIEnumerable01.fsx'
IL_0000: ldc.i4.1
IL_0001: stloc.1
IL_0002: ldarg.0
@ -72,7 +77,7 @@
IL_0008: ldstr "aaa"
IL_000d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::.ctor(string)
IL_0012: stloc.2
IL_0013: call class [mscorlib]System.IO.TextWriter [mscorlib]System.Console::get_Out()
IL_0013: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out()
IL_0018: ldloc.2
IL_0019: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [mscorlib]System.IO.TextWriter,
class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:1:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly NoIEnumerable02
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.NoIEnumerable02
{
// Offset: 0x00000000 Length: 0x000001D1
// Offset: 0x00000000 Length: 0x000001CB
}
.mresource public FSharpOptimizationData.NoIEnumerable02
{
// Offset: 0x000001D8 Length: 0x0000006C
// Offset: 0x000001D0 Length: 0x0000006C
}
.module NoIEnumerable02.dll
// MVID: {59B18AEE-5066-4012-A745-0383EE8AB159}
// MVID: {5F1FBE49-5066-4012-A745-038349BE1F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x00720000
// Image base: 0x07280000
// =============== CLASS MEMBERS DECLARATION ===================
@ -59,7 +64,7 @@
[1] int32 i,
[2] class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_2)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 7,7 : 4,24 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\Optimizations\\ForLoop\\NoIEnumerable02.fsx'
.line 7,7 : 4,24 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\ForLoop\\NoIEnumerable02.fsx'
IL_0000: ldc.i4.s 100
IL_0002: stloc.1
IL_0003: ldarg.0
@ -72,7 +77,7 @@
IL_0009: ldstr "aaa"
IL_000e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::.ctor(string)
IL_0013: stloc.2
IL_0014: call class [mscorlib]System.IO.TextWriter [mscorlib]System.Console::get_Out()
IL_0014: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out()
IL_0019: ldloc.2
IL_001a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [mscorlib]System.IO.TextWriter,
class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:1:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly NoIEnumerable03
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.NoIEnumerable03
{
// Offset: 0x00000000 Length: 0x000001DF
// Offset: 0x00000000 Length: 0x000001D9
}
.mresource public FSharpOptimizationData.NoIEnumerable03
{
// Offset: 0x000001E8 Length: 0x0000006C
// Offset: 0x000001E0 Length: 0x0000006C
}
.module NoIEnumerable03.dll
// MVID: {59B18AEE-7903-6020-A745-0383EE8AB159}
// MVID: {5F1FBE49-7903-6020-A745-038349BE1F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x01970000
// Image base: 0x070D0000
// =============== CLASS MEMBERS DECLARATION ===================
@ -61,7 +66,7 @@
[1] int32 i,
[2] class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_2)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 7,7 : 4,22 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\Optimizations\\ForLoop\\NoIEnumerable03.fsx'
.line 7,7 : 4,22 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\ForLoop\\NoIEnumerable03.fsx'
IL_0000: ldarg.0
IL_0001: stloc.1
IL_0002: ldarg.1
@ -74,7 +79,7 @@
IL_0008: ldstr "aaa"
IL_000d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::.ctor(string)
IL_0012: stloc.2
IL_0013: call class [mscorlib]System.IO.TextWriter [mscorlib]System.Console::get_Out()
IL_0013: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out()
IL_0018: ldloc.2
IL_0019: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [mscorlib]System.IO.TextWriter,
class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [mscorlib]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:1:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly Compare03
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.Compare03
{
// Offset: 0x00000000 Length: 0x00000237
// Offset: 0x00000000 Length: 0x00000231
}
.mresource public FSharpOptimizationData.Compare03
{
// Offset: 0x00000240 Length: 0x000000B9
// Offset: 0x00000238 Length: 0x000000B9
}
.module Compare03.dll
// MVID: {59B18AEE-0562-F88E-A745-0383EE8AB159}
// MVID: {5F1FBE49-0562-F88E-A745-038349BE1F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x002E0000
// Image base: 0x06C20000
// =============== CLASS MEMBERS DECLARATION ===================
@ -65,7 +70,7 @@
[3] int32 V_3,
[4] int32 V_4)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 5,5 : 8,25 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\Optimizations\\GenericComparison\\Compare03.fsx'
.line 5,5 : 8,25 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Compare03.fsx'
IL_0000: ldc.i4.1
IL_0001: stloc.0
.line 8,8 : 8,32 ''
@ -118,7 +123,7 @@
.line 16707566,16707566 : 0,0 ''
IL_002d: ldstr "five"
IL_0032: ldstr "5"
IL_0037: call int32 [mscorlib]System.String::CompareOrdinal(string,
IL_0037: call int32 [netstandard]System.String::CompareOrdinal(string,
string)
.line 16707566,16707566 : 0,0 ''
IL_003c: nop

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:1:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly Compare04
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.Compare04
{
// Offset: 0x00000000 Length: 0x00000237
// Offset: 0x00000000 Length: 0x00000231
}
.mresource public FSharpOptimizationData.Compare04
{
// Offset: 0x00000240 Length: 0x000000B9
// Offset: 0x00000238 Length: 0x000000B9
}
.module Compare04.dll
// MVID: {59B18AEE-053B-F88E-A745-0383EE8AB159}
// MVID: {5F1FBE49-053B-F88E-A745-038349BE1F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x013E0000
// Image base: 0x06750000
// =============== CLASS MEMBERS DECLARATION ===================
@ -66,7 +71,7 @@
[4] int32 V_4,
[5] int32 V_5)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 5,5 : 8,25 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\Optimizations\\GenericComparison\\Compare04.fsx'
.line 5,5 : 8,25 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Compare04.fsx'
IL_0000: ldc.i4.1
IL_0001: stloc.0
.line 8,8 : 8,32 ''
@ -119,7 +124,7 @@
.line 16707566,16707566 : 0,0 ''
IL_0039: ldstr "5"
IL_003e: ldstr "5"
IL_0043: call int32 [mscorlib]System.String::CompareOrdinal(string,
IL_0043: call int32 [netstandard]System.String::CompareOrdinal(string,
string)
IL_0048: stloc.s V_5
IL_004a: ldloc.s V_5

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:3:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly Equals02
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.Equals02
{
// Offset: 0x00000000 Length: 0x0000023C
// Offset: 0x00000000 Length: 0x0000022E
}
.mresource public FSharpOptimizationData.Equals02
{
// Offset: 0x00000240 Length: 0x000000B6
// Offset: 0x00000238 Length: 0x000000B6
}
.module Equals02.dll
// MVID: {5B18753B-0759-B6D8-A745-03833B75185B}
// MVID: {5F1FBE49-0759-B6D8-A745-038349BE1F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x00F20000
// Image base: 0x054B0000
// =============== CLASS MEMBERS DECLARATION ===================
@ -57,22 +62,23 @@
.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 )
.method public static bool f4_tuple4() cil managed
{
// Code size 44 (0x2c)
// Code size 36 (0x24)
.maxstack 4
.locals init ([0] bool x,
[1] int32 i)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 5,5 : 8,29 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\Optimizations\\GenericComparison\\Equals02.fsx'
.line 5,5 : 8,29 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Equals02.fsx'
IL_0000: ldc.i4.0
IL_0001: stloc.0
.line 8,8 : 8,32 ''
IL_0002: ldc.i4.0
IL_0003: stloc.1
IL_0004: br.s IL_001a
.line 9,9 : 12,26 ''
IL_0006: ldstr "five"
IL_000b: ldstr "5"
IL_0010: call bool [mscorlib]System.String::Equals(string,
IL_0010: call bool [netstandard]System.String::Equals(string,
string)
IL_0015: stloc.0
IL_0016: ldloc.1
@ -83,17 +89,22 @@
IL_001a: ldloc.1
IL_001b: ldc.i4 0x989681
IL_0020: blt.s IL_0006
.line 10,10 : 8,9 ''
IL_0022: ldloc.0
IL_0023: ret
} // end of method EqualsMicroPerfAndCodeGenerationTests::f4_tuple4
} // end of class EqualsMicroPerfAndCodeGenerationTests
} // end of class Equals02
.class private abstract auto ansi sealed '<StartupCode$Equals02>'.$Equals02$fsx
extends [mscorlib]System.Object
{
} // end of class '<StartupCode$Equals02>'.$Equals02$fsx
// =============================================================
// *********** DISASSEMBLY COMPLETE ***********************

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:3:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly Equals03
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.Equals03
{
// Offset: 0x00000000 Length: 0x0000023C
// Offset: 0x00000000 Length: 0x0000022E
}
.mresource public FSharpOptimizationData.Equals03
{
// Offset: 0x00000240 Length: 0x000000B6
// Offset: 0x00000238 Length: 0x000000B6
}
.module Equals03.dll
// MVID: {5B18753B-0759-3313-A745-03833B75185B}
// MVID: {5F1FBE49-0759-3313-A745-038349BE1F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x02630000
// Image base: 0x071F0000
// =============== CLASS MEMBERS DECLARATION ===================
@ -62,7 +67,7 @@
.locals init ([0] bool x,
[1] int32 i)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 5,5 : 8,29 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\Optimizations\\GenericComparison\\Equals03.fsx'
.line 5,5 : 8,29 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Equals03.fsx'
IL_0000: ldc.i4.0
IL_0001: stloc.0
.line 8,8 : 8,32 ''
@ -73,7 +78,7 @@
.line 9,9 : 12,26 ''
IL_0006: ldstr "5"
IL_000b: ldstr "5"
IL_0010: call bool [mscorlib]System.String::Equals(string,
IL_0010: call bool [netstandard]System.String::Equals(string,
string)
IL_0015: brfalse.s IL_002e

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:1:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly Hash03
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.Hash03
{
// Offset: 0x00000000 Length: 0x00000220
// Offset: 0x00000000 Length: 0x0000021A
}
.mresource public FSharpOptimizationData.Hash03
{
// Offset: 0x00000228 Length: 0x000000B0
// Offset: 0x00000220 Length: 0x000000B0
}
.module Hash03.dll
// MVID: {59B18AEE-9642-788D-A745-0383EE8AB159}
// MVID: {5F1FBE49-9642-788D-A745-038349BE1F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x02DA0000
// Image base: 0x05560000
// =============== CLASS MEMBERS DECLARATION ===================
@ -62,7 +67,7 @@
.locals init ([0] int32 x,
[1] int32 i)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 5,5 : 8,25 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\Optimizations\\GenericComparison\\Hash03.fsx'
.line 5,5 : 8,25 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Hash03.fsx'
IL_0000: ldc.i4.1
IL_0001: stloc.0
.line 7,7 : 8,32 ''
@ -74,7 +79,7 @@
IL_0006: ldc.i4 0x483
IL_000b: ldc.i4.s 99
IL_000d: ldstr "5"
IL_0012: callvirt instance int32 [mscorlib]System.Object::GetHashCode()
IL_0012: callvirt instance int32 [netstandard]System.Object::GetHashCode()
IL_0017: xor
IL_0018: xor
IL_0019: stloc.0

Просмотреть файл

@ -1,5 +1,5 @@
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@ -13,7 +13,12 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.ver 4:4:1:0
.ver 5:0:0:0
}
.assembly extern netstandard
{
.publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) // .{...-.Q
.ver 2:0:0:0
}
.assembly Hash04
{
@ -29,20 +34,20 @@
}
.mresource public FSharpSignatureData.Hash04
{
// Offset: 0x00000000 Length: 0x00000220
// Offset: 0x00000000 Length: 0x0000021A
}
.mresource public FSharpOptimizationData.Hash04
{
// Offset: 0x00000228 Length: 0x000000B0
// Offset: 0x00000220 Length: 0x000000B0
}
.module Hash04.dll
// MVID: {59B18AEE-9642-7838-A745-0383EE8AB159}
// MVID: {5F1FBE49-9642-7838-A745-038349BE1F5F}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x012B0000
// Image base: 0x06790000
// =============== CLASS MEMBERS DECLARATION ===================
@ -62,7 +67,7 @@
.locals init ([0] int32 x,
[1] int32 i)
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
.line 5,5 : 8,25 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\Optimizations\\GenericComparison\\Hash04.fsx'
.line 5,5 : 8,25 'C:\\kevinransom\\fsharp\\tests\\fsharpqa\\source\\Optimizations\\GenericComparison\\Hash04.fsx'
IL_0000: ldc.i4.1
IL_0001: stloc.0
.line 7,7 : 8,32 ''
@ -74,7 +79,7 @@
IL_0006: ldc.i4 0x483
IL_000b: ldc.i4.s 99
IL_000d: ldstr "5"
IL_0012: callvirt instance int32 [mscorlib]System.Object::GetHashCode()
IL_0012: callvirt instance int32 [netstandard]System.Object::GetHashCode()
IL_0017: xor
IL_0018: xor
IL_0019: stloc.0

Просмотреть файл

@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<TargetFramework>net472</TargetFramework>
<OutputType>Exe</OutputType>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
<DisableOutputPathCopying>true</DisableOutputPathCopying>

Просмотреть файл

@ -128,22 +128,6 @@ let u = Case1 3
(Project1B.dllName, Project1B.options); |] }
let cleanFileName a = if a = fileName1 then "file1" else "??"
[<Test>]
#if NETCOREAPP
[<Ignore("SKIPPED: need to check if these tests can be enabled for .NET Core testing of FSharp.Compiler.Service")>]
#endif
let ``Test multi project 1 whole project errors`` () =
let wholeProjectResults = checker.ParseAndCheckProject(MultiProject1.options) |> Async.RunSynchronously
for e in wholeProjectResults.Errors do
printfn "multi project 1 error: <<<%s>>>" e.Message
wholeProjectResults .Errors.Length |> shouldEqual 0
wholeProjectResults.ProjectContext.GetReferencedAssemblies().Length |> shouldEqual 7
[<Test>]
let ``Test multi project 1 basic`` () =
@ -321,22 +305,6 @@ let p = ("""
let size = (if ensureBigEnough then numProjectsForStressTest + 10 else numProjectsForStressTest / 2 )
FSharpChecker.Create(projectCacheSize=size)
[<Test>]
#if NETCOREAPP
[<Ignore("SKIPPED: need to check if these tests can be enabled for .NET Core testing of FSharp.Compiler.Service")>]
#endif
let ``Test ManyProjectsStressTest whole project errors`` () =
let checker = ManyProjectsStressTest.makeCheckerForStressTest true
let wholeProjectResults = checker.ParseAndCheckProject(ManyProjectsStressTest.jointProject.Options) |> Async.RunSynchronously
let wholeProjectResults = checker.ParseAndCheckProject(ManyProjectsStressTest.jointProject.Options) |> Async.RunSynchronously
for e in wholeProjectResults.Errors do
printfn "ManyProjectsStressTest error: <<<%s>>>" e.Message
wholeProjectResults .Errors.Length |> shouldEqual 0
wholeProjectResults.ProjectContext.GetReferencedAssemblies().Length |> shouldEqual (ManyProjectsStressTest.numProjectsForStressTest + 5)
[<Test>]
let ``Test ManyProjectsStressTest basic`` () =

Просмотреть файл

@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<TargetFramework>net472</TargetFramework>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
<UnitTestType>nunit</UnitTestType>
</PropertyGroup>

Просмотреть файл

@ -106,7 +106,7 @@
<NgenArchitecture>All</NgenArchitecture>
<NgenPriority>2</NgenPriority>
<Private>True</Private>
<AdditionalProperties>TargetFramework=net45</AdditionalProperties>
<AdditionalProperties>TargetFramework=netstandard2.0</AdditionalProperties>
</ProjectReference>
<ProjectReference Include="..\..\..\src\fsharp\fsiAnyCpu\fsiAnyCpu.fsproj">
<Project>{8B3E283D-B5FE-4055-9D80-7E3A32F3967B}</Project>

Просмотреть файл

@ -3,7 +3,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -3,7 +3,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -3,7 +3,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -3,7 +3,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -3,7 +3,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<TargetFramework>net472</TargetFramework>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
</PropertyGroup>

Просмотреть файл

@ -3,7 +3,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -3,7 +3,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<TargetFramework>net472</TargetFramework>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
</PropertyGroup>

Просмотреть файл

@ -3,7 +3,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -3,7 +3,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -3,7 +3,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -3,7 +3,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -3,7 +3,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -4673,7 +4673,7 @@ let x = query { for bbbb in abbbbc(*D0*) do
MoveCursorToEndOfMarker(file,"System.Windows.")
let completions = AutoCompleteAtCursor(file)
printfn "Completions=%A" completions
Assert.AreEqual(1, completions.Length)
Assert.AreEqual(3, completions.Length)
/// Tests whether we're correctly showing both type and module when they have the same name
[<Test>]

Просмотреть файл

@ -915,7 +915,7 @@ type UsingMSBuild() as this =
let tooltip = GetQuickInfoAtCursor file
AssertContains(tooltip, @"[Signature:P:System.String.Length]") // A message from the mock IDocumentationBuilder
AssertContains(tooltip, @"[Filename:")
AssertContains(tooltip, @"mscorlib.dll]") // The assembly we expect the documentation to get taken from
AssertContains(tooltip, @"netstandard.dll]") // The assembly we expect the documentation to get taken from
// Especially under 4.0 we need #r of .NET framework assemblies to resolve from like,
//