Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita973808

Browse files
authored
Merge pull requestdotnet#4027 from Microsoft/merges/master-to-dev15.6-20171128-080048
Merge master to dev15.6
2 parents0f5faad +fad0a3d commita973808

File tree

17 files changed

+659
-232
lines changed

17 files changed

+659
-232
lines changed

‎DEVGUIDE.md‎

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ Install Xamarin Studio, then
9797
To build and test Visual F# IDE Tools, install these requirements:
9898
-[Visual Studio 2017](https://www.visualstudio.com/downloads/)
9999
- Under the "Windows" workloads, select ".NET desktop development"
100-
- Select "F# language support" under the optional components
100+
- Select "F#desktoplanguage support" under the optional components
101101
- Under the "Other Toolsets" workloads, select "Visual Studio extension development"
102102

103103
Steps to build:
@@ -108,7 +108,6 @@ Steps to build:
108108

109109
Use``VisualFSharp.sln`` if you're building the Visual F# IDE Tools.
110110

111-
112111
Note on Debug vs Release:``Release`` Configuration has a degraded debugging experience, so if you want to test a change locally, it is recommended to do it in the``Debug`` configuration. For more information seehttps://github.com/Microsoft/visualfsharp/issues/2771 andhttps://github.com/Microsoft/visualfsharp/pull/2773.
113112

114113
Note: if you face this error[#2351](https://github.com/Microsoft/visualfsharp/issues/2351):
@@ -122,7 +121,6 @@ Or hard crash on launch ("Unknown Error"), delete these folders:
122121

123122
####[Optional] Install the Visual F# IDE Tools (Windows Only)
124123

125-
At time of writing, the Visual F# IDE Tools can only be installed into the latest Visual Studio 2017 RC releases.
126124
The new builds of the Visual F# IDE Tools can no longer be installed into Visual Studio 2015.
127125

128126
You can install Visual Studio 2017 fromhttps://www.visualstudio.com/downloads/.
@@ -152,7 +150,6 @@ changes, but the root (default) hive will remain untouched. You can also start t
152150

153151
Because this uses the "RoslynDev" hive you can simultaneously test changes to an appropriate build of Roslyn binaries.
154152

155-
156153
####[Optional] Rapid deployment of incremental changes to Visual F# IDE Tools components
157154

158155
For the brave, you can rapidly deploy incrementally updated versions of Visual F# IDE Tool components such as``FSHarp.Editor.dll`` by copying them directly into the extension directory in your user AppData folder:
@@ -173,7 +170,6 @@ For **Release**:
173170

174171
vsintegration\update-vsintegration.cmd release
175172

176-
177173
#Notes
178174

179175
####Windows: Links to Additional frameworks
@@ -189,7 +185,6 @@ For **Release**:
189185
-[Windows 8.1 SDK](http://msdn.microsoft.com/en-us/library/windows/desktop/bg162891.aspx)
190186
-[Windows 10 SDK](https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk)
191187

192-
193188
####Notes on the Windows .NET Framework build
194189

195190
1. The`update.cmd` script adds required strong name validation skips and NGens the compiler and libraries. This requires admin privileges.
@@ -214,4 +209,3 @@ Where you should set proper proxy address, user name and password.
214209
####Resources
215210

216211
The primary technical guide to the core compiler code is[The F# Compiler Technical Guide](http://fsharp.github.io/2015/09/29/fsharp-compiler-guide.html). Please read and contribute to that guide.
217-

‎VisualFSharp.sln‎

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio 15
4-
VisualStudioVersion =15.0.27102.0
4+
VisualStudioVersion =15.0.27116.0
55
MinimumVisualStudioVersion =10.0.40219.1
66
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") ="FSharp.Compiler.Private","src\fsharp\FSharp.Compiler.Private\FSharp.Compiler.Private.fsproj","{2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}"
77
EndProject
@@ -138,6 +138,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceFile", "vsintegrati
138138
EndProject
139139
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") ="FSharp.Build.UnitTests","src\fsharp\FSharp.Build.UnitTests\FSharp.Build.UnitTests.fsproj","{400FAB03-786E-40CC-85A8-04B0C2869B14}"
140140
EndProject
141+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") ="PEVerify","tests\fsharpqa\testenv\src\PEVerify\PEVerify.csproj","{B0689A4E-07D8-494D-A0C8-791CB1D74E54}"
142+
EndProject
141143
Global
142144
GlobalSection(SolutionConfigurationPlatforms) =preSolution
143145
Debug|Any CPU=Debug|Any CPU
@@ -760,6 +762,18 @@ Global
760762
{400FAB03-786E-40CC-85A8-04B0C2869B14}.Release|Any CPU.Build.0=Release|Any CPU
761763
{400FAB03-786E-40CC-85A8-04B0C2869B14}.Release|x86.ActiveCfg=Release|Any CPU
762764
{400FAB03-786E-40CC-85A8-04B0C2869B14}.Release|x86.Build.0=Release|Any CPU
765+
{B0689A4E-07D8-494D-A0C8-791CB1D74E54}.Debug|Any CPU.ActiveCfg=Debug|Any CPU
766+
{B0689A4E-07D8-494D-A0C8-791CB1D74E54}.Debug|Any CPU.Build.0=Debug|Any CPU
767+
{B0689A4E-07D8-494D-A0C8-791CB1D74E54}.Debug|x86.ActiveCfg=Debug|Any CPU
768+
{B0689A4E-07D8-494D-A0C8-791CB1D74E54}.Debug|x86.Build.0=Debug|Any CPU
769+
{B0689A4E-07D8-494D-A0C8-791CB1D74E54}.Proto|Any CPU.ActiveCfg=Debug|Any CPU
770+
{B0689A4E-07D8-494D-A0C8-791CB1D74E54}.Proto|Any CPU.Build.0=Debug|Any CPU
771+
{B0689A4E-07D8-494D-A0C8-791CB1D74E54}.Proto|x86.ActiveCfg=Debug|Any CPU
772+
{B0689A4E-07D8-494D-A0C8-791CB1D74E54}.Proto|x86.Build.0=Debug|Any CPU
773+
{B0689A4E-07D8-494D-A0C8-791CB1D74E54}.Release|Any CPU.ActiveCfg=Release|Any CPU
774+
{B0689A4E-07D8-494D-A0C8-791CB1D74E54}.Release|Any CPU.Build.0=Release|Any CPU
775+
{B0689A4E-07D8-494D-A0C8-791CB1D74E54}.Release|x86.ActiveCfg=Release|Any CPU
776+
{B0689A4E-07D8-494D-A0C8-791CB1D74E54}.Release|x86.Build.0=Release|Any CPU
763777
EndGlobalSection
764778
GlobalSection(SolutionProperties) =preSolution
765779
HideSolutionNode =FALSE
@@ -823,6 +837,7 @@ Global
823837
{FF76BD3C-5E0A-4752-B6C3-044F6E15719B} ={35636A82-401A-4C3A-B2AB-EB7DC5E9C268}
824838
{0385564F-07B4-4264-AB8A-17C393E9140C} ={F6DAEE9A-8BE1-4C4A-BC83-09215517C7DA}
825839
{400FAB03-786E-40CC-85A8-04B0C2869B14} ={CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
840+
{B0689A4E-07D8-494D-A0C8-791CB1D74E54} ={CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
826841
EndGlobalSection
827842
GlobalSection(ExtensibilityGlobals) =postSolution
828843
SolutionGuid ={48EDBBBE-C8EE-4E3C-8B19-97184A487B37}

‎build-everything.proj‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,17 @@
7373

7474
<ItemGroupCondition="'$(TEST_CORECLR_FSHARP_SUITE)'=='1'" >
7575
<ProjectsWithCoreClrInclude="tests/fsharp/FSharp.Tests.FSharpSuite.DrivingCoreCLR/FSharp.Tests.FSharpSuite.DrivingCoreCLR.fsproj" />
76+
<ProjectsWithCoreClrInclude="tests/fsharpqa/testenv/src/PEVerify/PEVerify.csproj" />
77+
78+
<ProjectsToRestoreInclude="tests/fsharpqa/testenv/src/PEVerify/PEVerify.csproj" />
7679
</ItemGroup>
7780

7881
<ItemGroupCondition="'$(TEST_NET40_FSHARPQA_SUITE)'=='1' OR '$(TEST_NET40_FSHARP_SUITE)'=='1'" >
7982
<ProjectsWithNet40Include="tests/fsharpqa/testenv/src/ILComparer/ILComparer.fsproj" />
8083
<ProjectsWithNet40Include="tests/fsharpqa/testenv/src/HostedCompilerServer/HostedCompilerServer.fsproj" />
84+
<ProjectsWithNet40Include="tests/fsharpqa/testenv/src/PEVerify/PEVerify.csproj" />
85+
86+
<ProjectsToRestoreInclude="tests/fsharpqa/testenv/src/PEVerify/PEVerify.csproj" />
8187
</ItemGroup>
8288

8389
<ItemGroupCondition="'$(TEST_VS_IDEUNIT_SUITE)'=='1'" >
@@ -112,4 +118,9 @@
112118
<MSBuildProjects="@(NugetProjects)"Targets="Clean"BuildInParallel="false"Properties="Configuration=$(Configuration);$(CustomProps)" />
113119
<MSBuildProjects="@(SetupProjects)"Targets="Clean"BuildInParallel="false"Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
114120
</Target>
121+
122+
<TargetName="Restore">
123+
<MSBuildProjects="@(ProjectsToRestore)"Targets="Restore" />
124+
</Target>
125+
115126
</Project>

‎build.cmd‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -664,8 +664,11 @@ if "%BUILD_PROTO%" == "1" (
664664
echo ---------------- Done with proto, starting build ------------------------
665665

666666
if"%BUILD_PHASE%"=="1" (
667-
echo%_msbuildexe%%msbuildflags% build-everything.proj /p:Configuration=%BUILD_CONFIG%%BUILD_DIAG% /p:BUILD_PUBLICSIGN=%BUILD_PUBLICSIGN%
668-
%_msbuildexe%%msbuildflags% build-everything.proj /p:Configuration=%BUILD_CONFIG%%BUILD_DIAG% /p:BUILD_PUBLICSIGN=%BUILD_PUBLICSIGN%
667+
echo%_msbuildexe%%msbuildflags% build-everything.proj /t:Restore
668+
%_msbuildexe%%msbuildflags% build-everything.proj /t:Restore
669+
670+
echo%_msbuildexe%%msbuildflags% build-everything.proj /p:Configuration=%BUILD_CONFIG%%BUILD_DIAG% /p:BUILD_PUBLICSIGN=%BUILD_PUBLICSIGN%
671+
%_msbuildexe%%msbuildflags% build-everything.proj /p:Configuration=%BUILD_CONFIG%%BUILD_DIAG% /p:BUILD_PUBLICSIGN=%BUILD_PUBLICSIGN%
669672

670673
@if ERRORLEVEL1echo Error build failed&&goto :failure
671674
)

‎fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@
7070
<CompileInclude="$(FSharpSourcesRoot)\..\tests\service\ProjectOptionsTests.fs">
7171
<Link>ProjectOptionsTests.fs</Link>
7272
</Compile>
73+
<CompileInclude="$(FSharpSourcesRoot)\..\tests\service\StructureTests.fs">
74+
<Link>StructureTests.fs</Link>
75+
</Compile>
7376
<NoneInclude="$(FSharpSourcesRoot)\..\packages\FSharp.Compiler.Tools.4.1.27\tools\FSharp.Core.optdata">
7477
<Link>FSharp.Core.optdata</Link>
7578
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

‎src/fsharp/vs/ServiceAssemblyContent.fs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ module AssemblyContentProvider =
212212

213213
letprivatetraverseMemberFunctionAndValues ns(parent:Parent)(membersFunctionsAndValues:seq<FSharpMemberOrFunctionOrValue>)=
214214
membersFunctionsAndValues
215-
|> Seq.filter(fun x->not x.IsInstanceMember)
215+
|> Seq.filter(fun x->not x.IsInstanceMember&&not x.IsPropertyGetterMethod&&not x.IsPropertySetterMethod)
216216
|> Seq.collect(fun func->
217217
letprocessIdents fullName idents=
218218
{ FullName= fullName

‎src/fsharp/vs/ServiceStructure.fs‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,7 @@ module Structure =
228228
| SynExpr.DotIndexedGet(e,_,_,_)
229229
| SynExpr.DotIndexedSet(e,_,_,_,_,_)-> parseExpr e
230230
| SynExpr.New(_,_,expr,r)->
231-
letcollapse= Range.endToEnd expr.Range r
232-
rcheck Scope.New Collapse.Below r collapse
231+
rcheck Scope.New Collapse.Below r expr.Range
233232
parseExpr expr
234233
| SynExpr.YieldOrReturn(_,e,r)->
235234
rcheck Scope.YieldOrReturn Collapse.Below r r

‎tests/fsharp/packages.config‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3+
<packageid="Microsoft.Net.Compilers"version="2.4.0" />
34
<packageid="NUnit3TestAdapter"version="3.7.0"targetFramework="net45" />
45
<packageid="runtime.win-x64.Microsoft.NETCore.ILDAsm"version="2.0.3" />
56
<packageid="runtime.win-x86.Microsoft.NETCore.ILDAsm"version="2.0.3" />
7+
<packageid="runtime.win-x64.Microsoft.NETCore.Runtime.CoreCLR"version="2.0.3" />
8+
<packageid="runtime.win-x86.Microsoft.NETCore.Runtime.CoreCLR"version="2.0.3" />
69
<packageid="System.Collections.Immutable"version="1.3.1"targetFramework="net45" />
710
<packageid="System.Reflection.Metadata"version="1.4.2"targetFramework="net45" />
811
</packages>

‎tests/fsharp/test-framework.fs‎

Lines changed: 5 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,6 @@ module Commands =
105105

106106
typeTestConfig=
107107
{ EnvironmentVariables:Map<string, string>
108-
CORDIR:string
109-
CORSDK:string
110108
CSC:string
111109
csc_flags:string
112110
BUILD_CONFIG:string
@@ -132,33 +130,6 @@ module WindowsPlatform =
132130
[|"PROCESSOR_ARCHITECTURE"|]|> Seq.tryPick(fun s-> find s)|>function None->""| Some x-> x
133131
value="AMD64"
134132

135-
letclrPaths envVars=
136-
137-
letwindir=
138-
match envVars|> Map.tryFind"windir"with
139-
| Some x-> x
140-
| None-> failwithf"environment variable '%s' required""WINDIR"
141-
142-
let mutableCORDIR=
143-
match Directory.EnumerateDirectories(windir++"Microsoft.NET"++"Framework","v4.0.?????")|> List.ofSeq|> List.revwith
144-
| x::_-> x
145-
|[]-> failwith"couldn't determine CORDIR"
146-
147-
// == Use the same runtime as our architecture
148-
// == ASSUMPTION: This could be a good or bad thing.
149-
if Is64BitOperatingSystem envVarsthen
150-
CORDIR<- CORDIR.Replace("Framework","Framework64")
151-
152-
letCORSDK=
153-
letfind s= envVars|> Map.tryFind s
154-
[|"WINSDKNETFXTOOLS";"WindowsSDK_ExecutablePath_x64";"WindowsSDK_ExecutablePath_x86"|]
155-
|> Seq.tryPick find
156-
|>function
157-
| None->@"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\"
158-
| Some x-> x
159-
160-
CORDIR, CORSDK
161-
162133
typeFSLibPaths=
163134
{ FSCOREDLLPATH:string}
164135

@@ -173,12 +144,12 @@ let config configurationName envVars =
173144
letcsc_flags="/nologo"
174145
letfsc_flags="-r:System.Core.dll --nowarn:20 --define:COMPILED"
175146
letfsi_flags="-r:System.Core.dll --nowarn:20 --define:INTERACTIVE --maxerrors:1 --abortonerror"
176-
letCORDIR,CORSDK= WindowsPlatform.clrPaths envVars
177147
letIs64BitOperatingSystem= WindowsPlatform.Is64BitOperatingSystem envVars
178148
letarchitectureMoniker=if Is64BitOperatingSystemthen"x64"else"x86"
179-
letCSC= requireFile(CORDIR++"csc.exe")
149+
letCSC= requireFile(packagesDir++"Microsoft.Net.Compilers.2.4.0"++"tools"++"csc.exe")
180150
letILDASM= requireFile(packagesDir++("runtime.win-"+ architectureMoniker+".Microsoft.NETCore.ILDAsm.2.0.3")++"runtimes"++("win-"+ architectureMoniker)++"native"++"ildasm.exe")
181-
letPEVERIFY= requireFile(CORSDK++"peverify.exe")
151+
letcoreclrdll= requireFile(packagesDir++("runtime.win-"+ architectureMoniker+".Microsoft.NETCore.Runtime.CoreCLR.2.0.3")++"runtimes"++("win-"+ architectureMoniker)++"native"++"coreclr.dll")
152+
letPEVERIFY= requireFile(SCRIPT_ROOT++".."++"fsharpqa"++"testenv"++"src"++"PEVerify"++"bin"++ configurationName++"net46"++"PEVerify.exe")
182153
letFSI_FOR_SCRIPTS=
183154
match envVars|> Map.tryFind"_fsiexe"with
184155
| Some fsiexewhen(not(String.IsNullOrWhiteSpace fsiexe))-> requireFile(SCRIPT_ROOT++".."++".."++(fsiexe.Trim([|'\"'|])))
@@ -191,9 +162,8 @@ let config configurationName envVars =
191162
|_-> failwithf"Found more than one 'FSharp.Compiler.Tools' inside '%s', please clean up." packagesDir
192163
lettoolsDir= SCRIPT_ROOT++".."++".."++"Tools"
193164
letdotNetExe= toolsDir++"dotnetcli"++"dotnet.exe"
194-
// ildasm requires coreclr.dll to run which has already been restored to the tools directory
195-
letcoreclrSource= toolsDir++"dotnet20"++"shared"++"Microsoft.NETCore.App"++"2.0.0"++"coreclr.dll"
196-
File.Copy(coreclrSource, Path.GetDirectoryName(ILDASM)++"coreclr.dll", overwrite=true)
165+
// ildasm requires coreclr.dll to run which has already been restored to the packages directory
166+
File.Copy(coreclrdll, Path.GetDirectoryName(ILDASM)++"coreclr.dll", overwrite=true)
197167

198168
#if!FSHARP_SUITE_DRIVES_CORECLR_TESTS
199169
letFSI= requireFile(FSCBinPath++"fsi.exe")
@@ -213,8 +183,6 @@ let config configurationName envVars =
213183
|false->"win7-x86"
214184

215185
{ EnvironmentVariables= envVars
216-
CORDIR= CORDIR|> Commands.pathAddBackslash
217-
CORSDK= CORSDK|> Commands.pathAddBackslash
218186
FSCBinPath= FSCBinPath|> Commands.pathAddBackslash
219187
FSCOREDLLPATH= FSCOREDLLPATH
220188
ILDASM= ILDASM
@@ -235,8 +203,6 @@ let logConfig (cfg: TestConfig) =
235203
log"---------------------------------------------------------------"
236204
log"Executables"
237205
log""
238-
log"CORDIR =%s" cfg.CORDIR
239-
log"CORSDK =%s" cfg.CORSDK
240206
log"CSC =%s" cfg.CSC
241207
log"BUILD_CONFIG =%s" cfg.BUILD_CONFIG
242208
log"csc_flags =%s" cfg.csc_flags

‎tests/fsharpqa/Source/run.pl‎

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -264,11 +264,14 @@
264264
# check/set PEVerify
265265
my$PEVERIFY =$ENV{PEVERIFY};
266266
unless(defined($PEVERIFY)) {
267-
# Only use peverify if it is in the path
268-
foreach$_ (split /;/,$ENV{PATH}) {
269-
$PEVERIFY ="peverify.exe"if(-e"$_\\peverify.exe");
267+
my$scriptPath = dirname(__FILE__);
268+
$PEVERIFY ="$scriptPath\\..\\testenv\\src\\PEVerify\\bin\\Release\\net46\\PEVerify.exe";
269+
if (-e$PEVERIFY) {
270+
$ENV{PEVERIFY} =$PEVERIFY;
271+
}
272+
else {
273+
$ENV{PEVERIFY} ="$scriptPath\\..\\testenv\\src\\PEVerify\\bin\\Debug\\net46\\PEVerify.exe";
270274
}
271-
$ENV{PEVERIFY} =$PEVERIFY;
272275
}
273276

274277
# Use $ENV{PEVER} if it is defined

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp