Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC FS-1060] Nullness checking #5790

Closed
wants to merge 290 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
290 commits
Select commit Hold shift + click to select a range
44abd73
build with lkg
dsyme Nov 12, 2018
e76e07d
Merge branch 'nullness' of http://github.com/Microsoft/visualfsharp i…
dsyme Nov 12, 2018
5bc59eb
mark up TODOs
dsyme Nov 12, 2018
ad6e3fa
extern types allow nulls, obj never gives warnings
dsyme Nov 12, 2018
4c1bcbb
use null checking on compiler
dsyme Nov 13, 2018
b16eff5
integrate master
dsyme Nov 13, 2018
81d147e
simplify diff
dsyme Nov 13, 2018
70be981
simplify diff
dsyme Nov 13, 2018
782d12c
Merge pull request #5900 from Microsoft/merges/master-to-nullness
Nov 14, 2018
bc3b5f5
check nulls on this pointer
dsyme Nov 14, 2018
e896b5c
Merge branch 'nullness' of http://github.com/Microsoft/visualfsharp i…
dsyme Nov 14, 2018
92db74c
NullChecked --> NonNull
dsyme Nov 14, 2018
824e33c
further refinement of prototype
dsyme Nov 15, 2018
f5275d0
simplify diff
dsyme Nov 15, 2018
21f4cd5
FSharp.Editor
dsyme Nov 15, 2018
8c0d9f4
FSharp.Editor
dsyme Nov 15, 2018
aa42b9d
get tests working
dsyme Nov 16, 2018
21d2f72
add testing
dsyme Nov 16, 2018
5b85411
add testing
dsyme Nov 16, 2018
6ebd4f5
add testing
dsyme Nov 16, 2018
0879175
coreclr build from source
dsyme Nov 16, 2018
43e1742
Merge pull request #5917 from Microsoft/merges/master-to-nullness
Nov 17, 2018
ca833bb
fix two tests
dsyme Nov 18, 2018
6566583
Merge pull request #5926 from Microsoft/merges/master-to-nullness
Nov 19, 2018
0dd5216
test updates
dsyme Nov 19, 2018
2da0d0e
update baselines
dsyme Nov 19, 2018
01baef5
Merge pull request #5928 from Microsoft/merges/master-to-nullness
Nov 19, 2018
9474588
update test baselines
dsyme Nov 19, 2018
f428a06
fix errors produced when /checknulls is off
dsyme Nov 19, 2018
3fa27a3
Merge branch 'nullness' of http://github.com/Microsoft/visualfsharp i…
dsyme Nov 19, 2018
4655405
Merge pull request #5946 from Microsoft/merges/master-to-nullness
Nov 21, 2018
34ff9de
Merge pull request #5954 from Microsoft/merges/master-to-nullness
Nov 26, 2018
ba89320
fix tests and write new constraint to stream B of metadata
dsyme Nov 27, 2018
c9e8f85
Merge branch 'nullness' of https://github.com/Microsoft/visualfsharp …
dsyme Nov 27, 2018
5360851
fix tests
dsyme Nov 27, 2018
d18f759
update FCS to use BUILD_FROM_SOURCE as written with prior version of …
dsyme Nov 27, 2018
2d41435
fix FCS build
dsyme Nov 27, 2018
fb0b0f8
fix tests
dsyme Nov 27, 2018
a2f1448
fix test
dsyme Nov 28, 2018
fab2a47
Merge master to nullness (#5968)
dotnet-bot Dec 5, 2018
638d78b
switch direction for function types
dsyme Dec 14, 2018
f2196b5
integrate master
dsyme Dec 14, 2018
36fac83
update baselines
dsyme Dec 14, 2018
fc2efc6
integrate master
dsyme Dec 14, 2018
994d74c
fix baseline
dsyme Dec 14, 2018
311bff6
Merge branch 'nullness' of https://github.com/Microsoft/visualfsharp …
dsyme Dec 14, 2018
b1fee9f
Merge pull request #6013 from Microsoft/merges/master-to-nullness
Dec 14, 2018
48f7fcf
Merge pull request #6016 from Microsoft/merges/master-to-nullness
Dec 15, 2018
2a2f0d8
Merge pull request #6020 from Microsoft/merges/master-to-nullness
Dec 16, 2018
f8d814e
update files
dsyme Jan 9, 2019
5734059
Merge branch 'nullness' of http://github.com/Microsoft/visualfsharp i…
dsyme Jan 9, 2019
ce0bc05
integrate master (again)
dsyme Jan 9, 2019
5682cd0
Merge pull request #6083 from Microsoft/merges/master-to-nullness
Jan 12, 2019
841862a
Merge pull request #6085 from Microsoft/merges/master-to-nullness
Jan 12, 2019
e82988f
fix build from source
dsyme Jan 14, 2019
92d0fb5
Merge pull request #6098 from Microsoft/merges/master-to-nullness
Jan 15, 2019
ed48f1d
Merge pull request #6109 from Microsoft/merges/master-to-nullness
Jan 16, 2019
b385681
Merge pull request #6114 from Microsoft/merges/master-to-nullness
Jan 16, 2019
319647e
Merge pull request #6121 from Microsoft/merges/master-to-nullness
Jan 17, 2019
027c0b0
Merge pull request #6126 from Microsoft/merges/master-to-nullness
Jan 18, 2019
89cc27a
Merge branch 'nullness' into merges/master-to-nullness
dsyme Jan 23, 2019
5ef6726
Merge pull request #6139 from Microsoft/merges/master-to-nullness
Jan 23, 2019
33130f4
Merge pull request #6143 from Microsoft/merges/master-to-nullness
Jan 24, 2019
90b6411
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Jan 29, 2019
edfa6dc
Merge pull request #6159 from Microsoft/merges/master-to-nullness
Jan 29, 2019
0182c30
Merge pull request #6174 from Microsoft/merges/master-to-nullness
Feb 1, 2019
188501d
Merge pull request #6177 from Microsoft/merges/master-to-nullness
Feb 2, 2019
554cb13
Merge pull request #6200 from Microsoft/merges/master-to-nullness
KevinRansom Feb 6, 2019
fe598a3
Merge branch 'nullness' of http://github.com/Microsoft/visualfsharp i…
dsyme Feb 19, 2019
cad00e6
fix build
dsyme Feb 19, 2019
c6ebf68
fix flakey test (?)
dsyme Feb 19, 2019
a3d6676
merge help text fix
dsyme Feb 19, 2019
943486c
update baselines
dsyme Feb 19, 2019
4626003
update baselines
dsyme Feb 19, 2019
2623b8b
use runsettings
dsyme Feb 20, 2019
ba2ad87
fix build
dsyme Feb 20, 2019
e427511
same fix for FCS tests2
dsyme Feb 20, 2019
c6b2745
Merge pull request #6259 from Microsoft/merges/master-to-nullness
Feb 20, 2019
c9aebe0
fix build
dsyme Feb 20, 2019
65fdd15
Merge remote-tracking branch 'origin/fixtest4' into nullness
dsyme Feb 20, 2019
f46f0ec
Merge branch 'nullness' of http://github.com/Microsoft/visualfsharp i…
dsyme Feb 20, 2019
734000f
add diagnostics
dsyme Feb 20, 2019
0d76c39
Merge remote-tracking branch 'origin/fixtest4' into nullness
dsyme Feb 20, 2019
e867dc3
fix final parallel case
dsyme Feb 20, 2019
f71250b
Merge remote-tracking branch 'origin/fixtest4' into nullness
dsyme Feb 20, 2019
ed9b6d1
fix build
dsyme Feb 20, 2019
f0a685b
Merge branch 'master' of https://github.com/Microsoft/visualfsharp in…
dsyme Feb 20, 2019
c92eb5a
Merge remote-tracking branch 'origin/fixtest4' into nullness
dsyme Feb 20, 2019
0603d0d
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Feb 20, 2019
167b0ca
try again to fix test
dsyme Feb 20, 2019
e5d48e5
update test fixes
dsyme Feb 20, 2019
37452b4
integrate master
dsyme Feb 20, 2019
ef3e523
Merge pull request #6263 from Microsoft/merges/master-to-nullness
Feb 21, 2019
ac0494a
integrate master
dsyme Feb 22, 2019
6bbbe2d
Merge branch 'nullness' into merges/master-to-nullness
dsyme Feb 25, 2019
39d611d
Merge pull request #6275 from Microsoft/merges/master-to-nullness
Feb 25, 2019
f25a99b
integrate master
dsyme Feb 26, 2019
7c5005c
integrate master
dsyme Feb 26, 2019
69832f2
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Feb 27, 2019
46be777
update baselines
dsyme Feb 28, 2019
11d2e2d
fix test
dsyme Feb 28, 2019
99974d1
fix test
dsyme Feb 28, 2019
96cbe45
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 1, 2019
df0893e
Merge pull request #6298 from Microsoft/merges/master-to-nullness
Mar 2, 2019
522c26e
Compat fix for 6258 and fix deterministic flag (#6295) (#6303)
dotnet-bot Mar 2, 2019
ad099ff
Merge branch 'nullness' of http://github.com/Microsoft/visualfsharp i…
dsyme Mar 2, 2019
5d95a7a
integrate master
dsyme Mar 2, 2019
9d7228c
merge master
dsyme Mar 9, 2019
9220898
merge master
dsyme Mar 9, 2019
38c24d7
Merge pull request #6318 from Microsoft/merges/master-to-nullness
Mar 10, 2019
d1b1389
add diagnostics
dsyme Mar 10, 2019
0f89711
add diagnostics
dsyme Mar 10, 2019
7da6aff
diagnostics
dsyme Mar 11, 2019
f4529fd
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 11, 2019
e0ee492
Merge branch 'diag4' into nullness
dsyme Mar 11, 2019
81cb0c9
Merge branch 'nullness' of http://github.com/Microsoft/visualfsharp i…
dsyme Mar 11, 2019
871489b
diagnostics
dsyme Mar 11, 2019
27d00a0
diagnostics
dsyme Mar 11, 2019
7d98d16
add diagnostics and possible fix for tp smoke tests
dsyme Mar 11, 2019
63235b8
Merge branch 'diag4' into nullness
dsyme Mar 11, 2019
cc6e992
fix build
dsyme Mar 11, 2019
eff84c9
Merge branch 'diag4' into nullness
dsyme Mar 11, 2019
e13b385
fix build
dsyme Mar 11, 2019
b308f98
Merge branch 'diag4' into nullness
dsyme Mar 11, 2019
db8e080
integrate master
dsyme Mar 11, 2019
fb51af5
integrate master
dsyme Mar 12, 2019
a2b0338
fix build
dsyme Mar 12, 2019
ed8811a
Merge pull request #6330 from Microsoft/merges/master-to-nullness
Mar 14, 2019
46f288f
integrate master
dsyme Mar 20, 2019
a9bce21
finish integration
dsyme Mar 20, 2019
8a2a381
integrate master
dsyme Mar 21, 2019
b77e4d3
update nightly publish path (#6361) (#6362)
dotnet-bot Mar 22, 2019
e83b6a3
Merge pull request #6364 from Microsoft/merges/master-to-nullness
Mar 22, 2019
0c01532
Merge pull request #6374 from Microsoft/merges/master-to-nullness
Mar 23, 2019
18c348f
Merge pull request #6375 from Microsoft/merges/master-to-nullness
Mar 23, 2019
5d56874
merge master
dsyme Mar 26, 2019
55d1a90
integrate master
dsyme Mar 26, 2019
63242cf
Merge branch 'nullness' of http://github.com/Microsoft/visualfsharp i…
dsyme Mar 26, 2019
10a9f39
merge master
dsyme Mar 26, 2019
6e7e3c4
us proto build on mac and linux
dsyme Mar 27, 2019
39ec26a
build right proto on unix
dsyme Mar 27, 2019
fb0a4df
Merge pull request #6385 from Microsoft/merges/master-to-nullness
Mar 27, 2019
7cc99ca
fix build to really use proto
dsyme Mar 28, 2019
8288495
Merge branch 'proto' into nullness
dsyme Mar 28, 2019
2623ab7
Merge branch 'nullness' of http://github.com/Microsoft/visualfsharp i…
dsyme Mar 28, 2019
c15c030
fix build
dsyme Mar 28, 2019
9e24b04
Merge branch 'proto' into nullness
dsyme Mar 28, 2019
2219c3b
Merge pull request #6391 from Microsoft/merges/master-to-nullness
Mar 28, 2019
9d61ee7
update tfms for type providers
dsyme Mar 28, 2019
33e8173
Merge branch 'proto' into nullness
dsyme Mar 28, 2019
08d89c7
verbose build
dsyme Mar 28, 2019
a7a132c
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 28, 2019
088951b
try to fix build
dsyme Mar 28, 2019
9c93ac1
don't rebuild proto
dsyme Mar 28, 2019
ddd0ac7
trim list
dsyme Mar 28, 2019
67717f8
disable proto compiler for fslex/fsyacc
dsyme Mar 28, 2019
2eb1528
fix build
dsyme Mar 28, 2019
713b40f
add buildtools props file instead
dsyme Mar 29, 2019
feebc99
add missing file
dsyme Mar 29, 2019
385c4d9
proto
dsyme Mar 29, 2019
9b4ff93
proto
dsyme Mar 29, 2019
40bb2de
simplify
dsyme Mar 29, 2019
2f96a63
more
dsyme Mar 29, 2019
266d695
more
dsyme Mar 29, 2019
0f3ddeb
more
dsyme Mar 29, 2019
7e7fbf0
proto
dsyme Mar 29, 2019
6b20514
try revert
dsyme Mar 29, 2019
28cdc00
proto
dsyme Mar 29, 2019
4447207
try again
dsyme Mar 29, 2019
6563fa3
try again
dsyme Mar 29, 2019
f1056d7
disable node reuse
dsyme Mar 29, 2019
ec74c4d
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 29, 2019
ea11aae
fix tests
dsyme Mar 29, 2019
9c7b771
Merge branch 'proto' into nullness
dsyme Mar 29, 2019
3db7dd8
Merge pull request #6398 from Microsoft/merges/master-to-nullness
dsyme Mar 29, 2019
f4bd221
use proto on mac and linux
dsyme Mar 29, 2019
8a4baf3
reduce diff
dsyme Mar 30, 2019
0474a23
reduce diff
dsyme Mar 30, 2019
b96120e
reduce diff
dsyme Mar 30, 2019
cf9147b
reduce diff
dsyme Mar 30, 2019
286c336
reduce diff
dsyme Mar 30, 2019
7a6448e
reduce diff
dsyme Mar 30, 2019
843ffef
Merge pull request #6402 from Microsoft/merges/master-to-nullness
Mar 30, 2019
5b78651
merge proto
dsyme Mar 30, 2019
780005b
Merge branch 'nullness' of http://github.com/Microsoft/visualfsharp i…
dsyme Mar 30, 2019
b3e1c32
fix merge
dsyme Mar 31, 2019
3c75e68
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 31, 2019
3567757
Merge pull request #6407 from Microsoft/merges/master-to-nullness
Apr 1, 2019
803c612
merge master
dsyme Apr 1, 2019
0bdc46b
merge master
dsyme Apr 1, 2019
0fd27da
fix merge
dsyme Apr 1, 2019
965d3b1
Merge branch 'master' of https://github.com/Microsoft/visualfsharp in…
dsyme Apr 2, 2019
a145ca3
remove files
dsyme Apr 2, 2019
cee22bb
Merge pull request #6421 from Microsoft/merges/master-to-nullness
Apr 3, 2019
85ce08c
Merge remote-tracking branch 'upstream/master' into merges/master-to-…
brettfo Apr 5, 2019
978414c
Merge branch 'master' into proto
KevinRansom Apr 8, 2019
9e061cc
Merge pull request #6431 from Microsoft/merges/master-to-nullness
dsyme Apr 12, 2019
8d5ce1d
fix dangling net46 references
dsyme Apr 14, 2019
13339b3
fix build
dsyme Apr 14, 2019
933038d
intergrate master
dsyme Apr 14, 2019
95d94de
integrate master
dsyme Apr 14, 2019
a15ef59
integrate master
dsyme Apr 14, 2019
366ed83
do not try to build latest FSHarp.Core as part of proto build
dsyme Apr 14, 2019
6fae5c4
do not try to build latest FSHarp.Core as part of proto build
dsyme Apr 14, 2019
010f756
Merge branch 'fixcore' into nullness
dsyme Apr 14, 2019
6a27e02
do not try to build latest FSHarp.Core as part of proto build
dsyme Apr 14, 2019
26da36f
Merge branch 'fixcore' into nullness
dsyme Apr 14, 2019
c6eb105
revert breaking change and fix build
dsyme Apr 14, 2019
aed6752
fix build
dsyme Apr 14, 2019
bb78e5f
fix build
dsyme Apr 14, 2019
5ba03d5
merge master
dsyme Apr 14, 2019
9ad30ad
fix tests
dsyme Apr 14, 2019
7097f02
fix tests
dsyme Apr 14, 2019
b88d23c
Merge branch 'fix77' into proto
dsyme Apr 14, 2019
4b80057
fix build
dsyme Apr 14, 2019
16cd53b
Merge branch 'proto' into nullness
dsyme Apr 14, 2019
12af961
Merge branch 'nullness' of http://github.com/Microsoft/visualfsharp i…
dsyme Apr 14, 2019
fa569aa
Merge pull request #6540 from Microsoft/merges/master-to-nullness
Apr 15, 2019
1b8e5dd
reduce diff
dsyme Apr 15, 2019
1aa6a41
load right FSHarp.Build
dsyme Apr 15, 2019
681006d
Merge branch 'proto' into nullness
dsyme Apr 15, 2019
058bdc9
publish proto apps
dsyme Apr 15, 2019
41aad77
merge proto
dsyme Apr 15, 2019
64e5311
Merge branch 'nullness' of http://github.com/Microsoft/visualfsharp i…
dsyme Apr 15, 2019
688850f
revert test env changes
dsyme Apr 15, 2019
3e430dd
Merge branch 'proto' into nullness
dsyme Apr 15, 2019
c2c7213
revert testing changes
dsyme Apr 16, 2019
469f915
Merge branch 'proto' into nullness
dsyme Apr 16, 2019
fdcf82a
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Apr 16, 2019
61f3c9f
merge master
dsyme Apr 16, 2019
e46dcd5
don't repeat bootstrap
dsyme Apr 16, 2019
75e9cc3
be systematic about verbosity
dsyme Apr 17, 2019
d0f51d7
Merge branch 'proto' of https://github.com/dsyme/visualfsharp into proto
dsyme Apr 17, 2019
b4b02c1
merge master
dsyme Apr 17, 2019
42f1668
Merge pull request #6568 from Microsoft/merges/master-to-nullness
Apr 18, 2019
5a30ab7
Merge branch 'proto' into nullness
dsyme Apr 18, 2019
c8d40a5
merge master
dsyme Apr 18, 2019
63c64ef
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Apr 18, 2019
0842454
Merge branch 'nullness' into merges/master-to-nullness
brettfo Apr 19, 2019
a2e4c63
Merge pull request #6574 from Microsoft/merges/master-to-nullness
Apr 19, 2019
0a42a4b
Merge pull request #6589 from Microsoft/merges/master-to-nullness
Apr 20, 2019
65f4244
add test
dsyme Apr 23, 2019
8f09004
remove verbosity flags
dsyme Apr 24, 2019
46600a0
merge master
dsyme Apr 24, 2019
d0bd11e
Merge branch 'proto' into nullness
dsyme Apr 24, 2019
5215809
merge master
dsyme Apr 24, 2019
d0b5608
Merge branch 'nullness' into merges/master-to-nullness
KevinRansom Apr 25, 2019
36a37fd
Merge pull request #6632 from Microsoft/merges/master-to-nullness
Apr 25, 2019
702e12f
Merge pull request #6637 from Microsoft/merges/master-to-nullness
Apr 25, 2019
772391c
Merge pull request #6643 from Microsoft/merges/master-to-nullness
brettfo Apr 29, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions FSharp.Profiles.props
Original file line number Diff line number Diff line change
@@ -1,6 +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>
<PropertyGroup Condition="'$(Configuration)' == 'Proto'">
<DefineConstants>BUILDING_WITH_LKG;$(DefineConstants)</DefineConstants>
</PropertyGroup>

<PropertyGroup Condition="$(TargetFramework.StartsWith('net4'))">
<DefineConstants Condition="'$(MonoPackaging)' == 'true'">$(DefineConstants);CROSS_PLATFORM_COMPILER</DefineConstants>
Expand Down
12 changes: 6 additions & 6 deletions FSharpBuild.Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@
<PropertyGroup>
<FSharpSourcesRoot>$(RepoRoot)src</FSharpSourcesRoot>
<SymStoreDirectory>$(ArtifactsDir)\SymStore</SymStoreDirectory>
<ProtoOutputPath Condition="'$(OS)' != 'Unix'">$(ArtifactsDir)\Bootstrap</ProtoOutputPath>
<ProtoOutputPath Condition="'$(OS)' == 'Unix'">$(ArtifactsDir)/fsc/Proto/netcoreapp2.1</ProtoOutputPath>
<ProtoOutputPath>$(ArtifactsDir)\Bootstrap</ProtoOutputPath>
<ValueTupleImplicitPackageVersion>4.4.0</ValueTupleImplicitPackageVersion>
<WarningsAsErrors>1182;0025;$(WarningsAsErrors)</WarningsAsErrors>
</PropertyGroup>
Expand Down Expand Up @@ -92,14 +91,15 @@
<MicroBuildAssemblyFileLanguage>fs</MicroBuildAssemblyFileLanguage>
<UseStandardResourceNames>false</UseStandardResourceNames>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<FSharpCoreProtoVersion>4.6.2</FSharpCoreProtoVersion>
</PropertyGroup>

<!-- SDK targets override -->
<PropertyGroup Condition="'$(Configuration)' != 'Proto' AND '$(DisableCompilerRedirection)'!='true' AND Exists('$(ProtoOutputPath)')">
<FSharpTargetsPath>$(ProtoOutputPath)\Microsoft.FSharp.Targets</FSharpTargetsPath>
<FSharpPropsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.props</FSharpPropsShim>
<FSharpTargetsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.targets</FSharpTargetsShim>
<FSharpOverridesTargetsShim>$(ProtoOutputPath)\Microsoft.FSharp.Overrides.NetSdk.targets</FSharpOverridesTargetsShim>
<FSharpTargetsPath>$(ProtoOutputPath)\fsc\Microsoft.FSharp.Targets</FSharpTargetsPath>
<FSharpPropsShim>$(ProtoOutputPath)\fsc\Microsoft.FSharp.NetSdk.props</FSharpPropsShim>
<FSharpTargetsShim>$(ProtoOutputPath)\fsc\Microsoft.FSharp.NetSdk.targets</FSharpTargetsShim>
<FSharpOverridesTargetsShim>$(ProtoOutputPath)\fsc\Microsoft.FSharp.Overrides.NetSdk.targets</FSharpOverridesTargetsShim>
</PropertyGroup>

</Project>
6 changes: 3 additions & 3 deletions FSharpTests.Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@

<!-- SDK targets override -->
<PropertyGroup>
<_FSharpBuildTargetFramework Condition="'$(FSharpTestCompilerVersion)' == 'net40'">net472</_FSharpBuildTargetFramework>
<_FSharpBuildTargetFramework Condition="'$(FSharpTestCompilerVersion)' == 'coreclr'">netcoreapp2.1</_FSharpBuildTargetFramework>
<_FSharpBuildBinPath>$(MSBuildThisFileDirectory)artifacts\bin\FSharp.Build\$(Configuration)\$(_FSharpBuildTargetFramework)</_FSharpBuildBinPath>
<_FSharpBuildTargetFramework Condition="'$(MSBuildRuntimeType)'!='Core'">net472</_FSharpBuildTargetFramework>
<_FSharpBuildTargetFramework Condition="'$(MSBuildRuntimeType)'=='Core'">netcoreapp2.1</_FSharpBuildTargetFramework>
<_FSharpBuildBinPath>$(MSBuildThisFileDirectory)artifacts\bin\fsc\$(Configuration)\$(_FSharpBuildTargetFramework)</_FSharpBuildBinPath>

<FSharpBuildAssemblyFile>$(_FSharpBuildBinPath)\FSharp.Build.dll</FSharpBuildAssemblyFile>

Expand Down
7 changes: 4 additions & 3 deletions eng/Build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ function Print-Usage() {
Write-Host ""
Write-Host "Actions:"
Write-Host " -restore Restore packages (short: -r)"
Write-Host " -norestore Don't restore packages"
Write-Host " -build Build main solution (short: -b)"
Write-Host " -rebuild Rebuild main solution"
Write-Host " -pack Build NuGet packages, VS insertion manifests and installer"
Expand Down Expand Up @@ -104,6 +105,7 @@ function Process-Arguments() {
Print-Usage
exit 0
}
$script:nodeReuse = $False;

if ($testAll) {
$script:testDesktop = $True
Expand All @@ -130,7 +132,7 @@ function Process-Arguments() {
}

function Update-Arguments() {
if (-Not (Test-Path "$ArtifactsDir\Bootstrap\fsc.exe")) {
if (-Not (Test-Path "$ArtifactsDir\Bootstrap\fsc\fsc.exe")) {
$script:bootstrap = $True
}
}
Expand Down Expand Up @@ -164,7 +166,6 @@ function BuildSolution() {
/p:Publish=$publish `
/p:ContinuousIntegrationBuild=$ci `
/p:OfficialBuildId=$officialBuildId `
/p:BootstrapBuildPath=$bootstrapDir `
/p:QuietRestore=$quietRestore `
/p:QuietRestoreBinaryLog=$binaryLog `
/p:TestTargetFrameworks=$testTargetFrameworks `
Expand Down Expand Up @@ -198,7 +199,7 @@ function UpdatePath() {
}

function VerifyAssemblyVersions() {
$fsiPath = Join-Path $ArtifactsDir "bin\fsi\Proto\net472\fsi.exe"
$fsiPath = Join-Path $ArtifactsDir "bin\fsi\Proto\net472\publish\fsi.exe"

# Only verify versions on CI or official build
if ($ci -or $official) {
Expand Down
18 changes: 7 additions & 11 deletions eng/build-utils.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ function Get-PackageDir([string]$name, [string]$version = "") {
return $p
}

function Run-MSBuild([string]$projectFilePath, [string]$buildArgs = "", [string]$logFileName = "", [switch]$parallel = $true, [switch]$summary = $true, [switch]$warnAsError = $true, [string]$configuration = $script:configuration) {
function Run-MSBuild([string]$projectFilePath, [string]$buildArgs = "", [string]$logFileName = "", [switch]$parallel = $true, [switch]$summary = $true, [switch]$warnAsError = $true, [string]$configuration = $script:configuration, [string]$verbosity = $script:verbosity) {
# Because we override the C#/VB toolset to build against our LKG package, it is important
# that we do not reuse MSBuild nodes from other jobs/builds on the machine. Otherwise,
# we'll run into issues such as https://github.com/dotnet/roslyn/issues/6211.
Expand Down Expand Up @@ -216,10 +216,6 @@ function Run-MSBuild([string]$projectFilePath, [string]$buildArgs = "", [string]
$args += " /p:ContinuousIntegrationBuild=true"
}

if ($bootstrapDir -ne "") {
$args += " /p:BootstrapBuildPath=$bootstrapDir"
}

$args += " $buildArgs"
$args += " $projectFilePath"
$args += " $properties"
Expand All @@ -241,15 +237,15 @@ function Make-BootstrapBuild() {
Create-Directory $dir

# prepare FsLex and Fsyacc
Run-MSBuild "$RepoRoot\src\buildtools\buildtools.proj" "/restore /t:Build" -logFileName "BuildTools" -configuration $bootstrapConfiguration
Copy-Item "$ArtifactsDir\bin\fslex\$bootstrapConfiguration\netcoreapp2.1\*" -Destination $dir
Copy-Item "$ArtifactsDir\bin\fsyacc\$bootstrapConfiguration\netcoreapp2.1\*" -Destination $dir
Run-MSBuild "$RepoRoot\src\buildtools\buildtools.proj" "/restore /t:Publish" -logFileName "BuildTools" -configuration $bootstrapConfiguration
Copy-Item "$ArtifactsDir\bin\fslex\$bootstrapConfiguration\netcoreapp2.1\publish" -Destination "$dir\fslex" -Force -Recurse
Copy-Item "$ArtifactsDir\bin\fsyacc\$bootstrapConfiguration\netcoreapp2.1\publish" -Destination "$dir\fsyacc" -Force -Recurse

# prepare compiler
$projectPath = "$RepoRoot\proto.proj"
Run-MSBuild $projectPath "/restore /t:Build" -logFileName "Bootstrap" -configuration $bootstrapConfiguration
Copy-Item "$ArtifactsDir\bin\fsc\$bootstrapConfiguration\$bootstrapTfm\*" -Destination $dir
Copy-Item "$ArtifactsDir\bin\fsi\$bootstrapConfiguration\$bootstrapTfm\*" -Destination $dir
Run-MSBuild $projectPath "/restore /t:Publish" -logFileName "Bootstrap" -configuration $bootstrapConfiguration
Copy-Item "$ArtifactsDir\bin\fsc\$bootstrapConfiguration\$bootstrapTfm\publish" -Destination "$dir\fsc" -Force -Recurse
Copy-Item "$ArtifactsDir\bin\fsi\$bootstrapConfiguration\$bootstrapTfm\publish" -Destination "$dir\fsi" -Force -Recurse

return $dir
}
38 changes: 30 additions & 8 deletions eng/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ usage()
echo " --binaryLog Create MSBuild binary log (short: -bl)"
echo ""
echo "Actions:"
echo " --bootstrap Force the build of the bootstrap compiler"
echo " --restore Restore projects required to build (short: -r)"
echo " --norestore Don't restore projects required to build"
echo " --build Build all projects (short: -b)"
echo " --rebuild Rebuild all projects"
echo " --pack Build nuget packages"
Expand Down Expand Up @@ -54,6 +56,7 @@ test_core_clr=false
configuration="Debug"
verbosity='minimal'
binary_log=false
force_bootstrap=false
ci=false
skip_analyzers=false
prepare_machine=false
Expand Down Expand Up @@ -88,6 +91,9 @@ while [[ $# > 0 ]]; do
--binarylog|-bl)
binary_log=true
;;
--bootstrap)
force_bootstrap=true
;;
--restore|-r)
restore=true
;;
Expand Down Expand Up @@ -205,17 +211,33 @@ function BuildSolution {
quiet_restore=true
fi

# Node reuse fails because multiple different versions of FSharp.Build.dll get loaded into MSBuild nodes
node_reuse=false

# build bootstrap tools
bootstrap_config=Proto
MSBuild "$repo_root/src/buildtools/buildtools.proj" \
/restore \
/p:Configuration=$bootstrap_config \
/t:Build

bootstrap_dir=$artifacts_dir/Bootstrap
mkdir -p "$bootstrap_dir"
cp $artifacts_dir/bin/fslex/$bootstrap_config/netcoreapp2.1/* $bootstrap_dir
cp $artifacts_dir/bin/fsyacc/$bootstrap_config/netcoreapp2.1/* $bootstrap_dir
if [[ "$force_bootstrap" == true ]]; then
rm -fr $bootstrap_dir
fi
if [ ! -f "$bootstrap_dir/fslex.dll" ]; then
MSBuild "$repo_root/src/buildtools/buildtools.proj" \
/restore \
/p:Configuration=$bootstrap_config \
/t:Publish

mkdir -p "$bootstrap_dir"
cp -pr $artifacts_dir/bin/fslex/$bootstrap_config/netcoreapp2.1/publish $bootstrap_dir/fslex
cp -pr $artifacts_dir/bin/fsyacc/$bootstrap_config/netcoreapp2.1/publish $bootstrap_dir/fsyacc
fi
if [ ! -f "$bootstrap_dir/fsc.exe" ]; then
MSBuild "$repo_root/proto.proj" \
/restore \
/p:Configuration=$bootstrap_config \
/t:Publish

cp -pr $artifacts_dir/bin/fsc/$bootstrap_config/netcoreapp2.1/publish $bootstrap_dir/fsc
fi

# do real build
MSBuild $toolset_build_proj \
Expand Down
1 change: 0 additions & 1 deletion fcs/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
<!-- The LKG FSI.EXE requires MSBuild 15 to be installed, which is painful -->
<ToolsetFsiToolPath>$(FSharpSourcesRoot)\..\packages\FSharp.Compiler.Tools.4.1.27\tools</ToolsetFsiToolPath>
<ToolsetFsiToolExe>fsi.exe</ToolsetFsiToolExe>
<ProtoOutputPath>$(ArtifactsBinDir)\FSharp.Build\Proto\net472</ProtoOutputPath>
<FcsFSharpCorePkgVersion>4.6.2</FcsFSharpCorePkgVersion>
<FcsTargetNetFxFramework>net461</FcsTargetNetFxFramework>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> <!-- Tests won't run without this, at least on OSX, see https://github.com/NuGet/Home/issues/4837#issuecomment-354536302 -->
<DefineConstants>$(DefineConstants);USES_FSHARP_CORE_45_PACKAGE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0'">
<DefineConstants>$(DefineConstants);FX_NO_RUNTIMEENVIRONMENT</DefineConstants>
Expand Down
7 changes: 0 additions & 7 deletions fcs/FSharp.Compiler.Service/AssemblyInfo.fs
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,4 @@ open System.Runtime.InteropServices
[<assembly:System.Runtime.CompilerServices.InternalsVisibleTo("Test, PublicKey=002400000480000094000000060200000024000052534131000400000100010077d32e043d184cf8cebf177201ec6fad091581a3a639a0534f1c4ebb3ab847a6b6636990224a04cf4bd1aec51ecec44cf0c8922eb5bb2ee65ec3fb9baa87e141042c96ce414f98af33508c7e24dab5b068aa802f6693881537ee0efcb5d3f1c9aaf8215ac42e92ba9a5a02574d6890d07464cb2f338b043b1c4ffe98efe069ee")>]
[<assembly:System.Runtime.CompilerServices.InternalsVisibleTo("FSharp.Compiler.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010077d32e043d184cf8cebf177201ec6fad091581a3a639a0534f1c4ebb3ab847a6b6636990224a04cf4bd1aec51ecec44cf0c8922eb5bb2ee65ec3fb9baa87e141042c96ce414f98af33508c7e24dab5b068aa802f6693881537ee0efcb5d3f1c9aaf8215ac42e92ba9a5a02574d6890d07464cb2f338b043b1c4ffe98efe069ee")>]

// Until dotnet sdk can version assemblies, use this
#if BUILD_FROM_SOURCE
[<assembly: System.Reflection.AssemblyInformationalVersion("4.4.1.0")>]
[<assembly: System.Reflection.AssemblyVersion("4.4.1.0")>]
[<assembly: System.Reflection.AssemblyFileVersion("2017.06.27.0")>]
#endif

do()
4 changes: 2 additions & 2 deletions fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
<PropertyGroup>
<TargetFrameworks>$(FcsTargetNetFxFramework);netstandard2.0</TargetFrameworks>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
<DefineConstants>$(DefineConstants);COMPILER_SERVICE_AS_DLL</DefineConstants>
<DefineConstants>$(DefineConstants);COMPILER</DefineConstants>
<DefineConstants>$(DefineConstants);BUILD_FROM_SOURCE</DefineConstants>
<DefineConstants>$(DefineConstants);ENABLE_MONO_SUPPORT</DefineConstants>
<DefineConstants>$(DefineConstants);NO_STRONG_NAMES</DefineConstants>
<FsLexOutputFolder Condition="'$(TargetFramework)' != ''">$(TargetFramework)\</FsLexOutputFolder>
Expand Down Expand Up @@ -39,7 +39,7 @@
<DefineConstants>$(DefineConstants);FX_RESHAPED_REFEMIT</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\FSharp.Compiler.Service\AssemblyInfo.fs">
<Compile Include="AssemblyInfo.fs">
<Link>AssemblyInfo/AssemblyInfo.fs</Link>
</Compile>
<EmbeddedText Include="$(FSharpSourcesRoot)\fsharp\FSComp.txt">
Expand Down
4 changes: 4 additions & 0 deletions proto.proj
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@
<MSBuild Projects="@(Projects)" Targets="Rebuild" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
</Target>

<Target Name="Publish">
<MSBuild Projects="@(Projects)" Targets="Publish" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
</Target>

<Target Name="Clean">
<MSBuild Projects="@(Projects)" Targets="Clean" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
</Target>
Expand Down
8 changes: 3 additions & 5 deletions src/absil/bytes.fs
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ type internal ByteStream =
{ bytes: byte[]
mutable pos: int
max: int }

member b.IsEOF = (b.pos >= b.max)

member b.ReadByte() =
if b.pos >= b.max then failwith "end of stream"
let res = b.bytes.[b.pos]
Expand All @@ -56,11 +59,6 @@ type internal ByteStream =
res

member b.Position = b.pos
#if LAZY_UNPICKLE
member b.CloneAndSeek = { bytes=b.bytes; pos=pos; max=b.max }
member b.Skip = b.pos <- b.pos + n
#endif


type internal ByteBuffer =
{ mutable bbArray: byte[]
Expand Down
5 changes: 1 addition & 4 deletions src/absil/bytes.fsi
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,10 @@ type internal ByteBuffer =

[<Sealed>]
type internal ByteStream =
member IsEOF : bool
member ReadByte : unit -> byte
member ReadBytes : int -> byte[]
member ReadUtf8String : int -> string
member Position : int
static member FromBytes : byte[] * start:int * length:int -> ByteStream

#if LAZY_UNPICKLE
member CloneAndSeek : int -> ByteStream
member Skip : int -> unit
#endif
Loading