Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
09ee3c5
split service.fs
dsyme Feb 19, 2019
19a8664
reduce diff
dsyme Feb 19, 2019
ef7076e
minor cleanup
dsyme Feb 19, 2019
c6ebf68
fix flakey test (?)
dsyme Feb 19, 2019
2623b8b
use runsettings
dsyme Feb 20, 2019
e427511
same fix for FCS tests2
dsyme Feb 20, 2019
c9aebe0
fix build
dsyme Feb 20, 2019
734000f
add diagnostics
dsyme Feb 20, 2019
e867dc3
fix final parallel case
dsyme Feb 20, 2019
ca4ff5a
Merge branch 'fixtest4' into clean5
dsyme Feb 20, 2019
f0a685b
Merge branch 'master' of https://github.com/Microsoft/visualfsharp in…
dsyme Feb 20, 2019
42c423d
integrate master
dsyme Feb 20, 2019
0843984
fix build
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
6018e41
Merge branch 'fixtest4' into clean5
dsyme Feb 20, 2019
4233534
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 1, 2019
fec40bb
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 3, 2019
7fbd404
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 9, 2019
d1b1389
add diagnostics
dsyme Mar 10, 2019
0f89711
add diagnostics
dsyme Mar 10, 2019
7da6aff
diagnostics
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
cc6e992
fix build
dsyme Mar 11, 2019
e13b385
fix build
dsyme Mar 11, 2019
d9fd450
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 11, 2019
a2d1f49
Merge branch 'diag4' into clean5
dsyme Mar 11, 2019
337a336
integrate master
dsyme Mar 12, 2019
d282615
merge master
dsyme Mar 12, 2019
4050231
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 20, 2019
b63c55f
Merge branch 'master' of https://github.com/Microsoft/visualfsharp in…
dsyme Mar 21, 2019
f8f1a54
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 26, 2019
6069d28
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 28, 2019
88a8766
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Apr 1, 2019
62edf5f
Merge branch 'master' of https://github.com/Microsoft/visualfsharp in…
dsyme Apr 4, 2019
aa70b9c
Merge branch 'clean5' of https://github.com/dsyme/visualfsharp into c…
dsyme Apr 4, 2019
e9a80c7
integrate master
dsyme Apr 14, 2019
4924846
integrate master
dsyme Apr 14, 2019
6eaf27e
integrate master
dsyme Apr 14, 2019
194ede3
merge master
dsyme Apr 16, 2019
b8d9e59
merge master
dsyme Apr 24, 2019
890936b
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme May 22, 2019
22bbcb6
merge master
dsyme Jun 4, 2019
01ac5e2
fix build
dsyme Jun 4, 2019
2f5c4e7
Delete FSharp.Compiler.Private.fsproj
TIHan Jun 5, 2019
04f56c1
Merge branch 'master' into clean5
TIHan Jun 5, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
reduce diff
  • Loading branch information
dsyme committed Feb 19, 2019
commit 19a8664eb2837fa0ab1263ca97119f9cb70cf641
8 changes: 4 additions & 4 deletions fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -609,11 +609,11 @@
<Compile Include="$(FSharpSourcesRoot)\fsharp\service\FSharpCheckerResults.fs">
<Link>Service/FSharpCheckerResults.fs</Link>
</Compile>
<Compile Include="$(FSharpSourcesRoot)\fsharp\service\FSharpChecker.fsi">
<Link>Service/FSharpChecker.fsi</Link>
<Compile Include="$(FSharpSourcesRoot)\fsharp\service\service.fsi">
<Link>Service/service.fsi</Link>
</Compile>
<Compile Include="$(FSharpSourcesRoot)\fsharp\service\FSharpChecker.fs">
<Link>Service/FSharpChecker.fs</Link>
<Compile Include="$(FSharpSourcesRoot)\fsharp\service\service.fs">
<Link>Service/service.fs</Link>
</Compile>
<Compile Include="$(FSharpSourcesRoot)\fsharp\service\ServiceInterfaceStubGenerator.fsi">
<Link>Service/ServiceInterfaceStubGenerator.fsi</Link>
Expand Down
4 changes: 2 additions & 2 deletions fcs/docsrc/content/caches.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,12 @@ Low-Memory Condition
-------

Version 1.4.0.8 added a "maximum memory" limit specified by the `MaxMemory` property on FSharpChecker (in MB). If an FCS project operation
is performed (see `CheckMaxMemoryReached` in `FSharpChecker.fs`) and `System.GC.GetTotalMemory(false)` reports a figure greater than this, then
is performed (see `CheckMaxMemoryReached` in `service.fs`) and `System.GC.GetTotalMemory(false)` reports a figure greater than this, then
the strong sizes of all FCS caches are reduced to either 0 or 1. This happens for the remainder of the lifetime of the FSharpChecker object.
In practice this will still make tools like the Visual Studio F# Power Tools usable, but some operations like renaming across multiple
projects may take substantially longer.

By default the maximum memory trigger is disabled, see `maxMBDefault` in `FSharpChecker.fs`.
By default the maximum memory trigger is disabled, see `maxMBDefault` in `service.fs`.

Reducing the FCS strong cache sizes does not guarantee there will be enough memory to continue operations - even holding one project
strongly may exceed a process memory budget. It just means FCS may hold less memory strongly.
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/ja/untypedtree.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ let getUntypedTree (file, input) =
`FSharpChecker` の詳細については
[ APIドキュメント](../reference/microsoft-fsharp-compiler-sourcecodeservices-FSharpChecker.html)
の他に、F# ソースコードのインラインコメントも参考になるでしょう
( [`FSharpChecker.fsi` のソースコードを参照](https://github.com/fsharp/fsharp/blob/fsharp_31/src/fsharp/service/FSharpChecker.fsi) )。
( [`service.fsi` のソースコードを参照](https://github.com/fsharp/fsharp/blob/fsharp_31/src/fsharp/service/service.fsi) )。

ASTの走査
---------
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/content/queue.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ To disable implicit background checking completely, set ``checker.ImplicitlyStar
To change the time before background work starts, set ``checker.PauseBeforeBackgroundWork`` to the required number of milliseconds.

Most calls to the FSharpChecker API enqueue an operation in the FSharpChecker compiler queue. These correspond to the
calls to EnqueueAndAwaitOpAsync in [FSharpChecker.fs](https://github.com/fsharp/FSharp.Compiler.Service/blob/master/src/fsharp/service/FSharpChecker.fs).
calls to EnqueueAndAwaitOpAsync in [service.fs](https://github.com/fsharp/FSharp.Compiler.Service/blob/master/src/fsharp/service/service.fs).

* For example, calling `ParseAndCheckProject` enqueues a `ParseAndCheckProjectImpl` operation. The time taken for the
operation will depend on how much work is required to bring the project analysis up-to-date.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -584,11 +584,11 @@
<Compile Include="..\..\fsharp\service\FSharpCheckerResults.fs">
<Link>Service/FSharpCheckerResults.fs</Link>
</Compile>
<Compile Include="..\..\fsharp\service\FSharpChecker.fsi">
<Link>Service/FSharpChecker.fsi</Link>
<Compile Include="..\..\fsharp\service\service.fsi">
<Link>Service/service.fsi</Link>
</Compile>
<Compile Include="..\..\fsharp\service\FSharpChecker.fs">
<Link>Service/FSharpChecker.fs</Link>
<Compile Include="..\..\fsharp\service\service.fs">
<Link>Service/service.fs</Link>
</Compile>
<Compile Include="..\..\fsharp\service\ServiceInterfaceStubGenerator.fsi">
<Link>Service/ServiceInterfaceStubGenerator.fsi</Link>
Expand Down
2 changes: 1 addition & 1 deletion src/fsharp/AccessibilityLogic.fs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ type AccessorDomain =
/// This is used
/// - when solving member trait constraints, which are solved independently of accessibility
/// - for failure paths in error reporting, e.g. to produce an error that an F# item is not accessible
/// - an adhoc use in FSharpChecker.fs to look up a delegate signature
/// - an adhoc use in service.fs to look up a delegate signature
| AccessibleFromSomeFSharpCode

/// An AccessorDomain which returns all items
Expand Down
4 changes: 2 additions & 2 deletions src/fsharp/CompileOps.fs
Original file line number Diff line number Diff line change
Expand Up @@ -1812,7 +1812,7 @@ let GetFsiLibraryName () = "FSharp.Compiler.Interactive.Settings"
// This list is the default set of references for "non-project" files.
//
// These DLLs are
// (a) included in the environment used for all .fsx files (see FSharpChecker.fs)
// (a) included in the environment used for all .fsx files (see service.fs)
// (b) included in environment for files 'orphaned' from a project context
// -- for orphaned files (files in VS without a project context)
// -- for files given on a command line without --noframework set
Expand Down Expand Up @@ -5254,7 +5254,7 @@ module private ScriptPreprocessClosure =

result

/// Given source text, find the full load closure. Used from FSharpChecker.fs, when editing a script file
/// Given source text, find the full load closure. Used from service.fs, when editing a script file
let GetFullClosureOfScriptText(ctok, legacyReferenceResolver, defaultFSharpBinariesDir, filename, source, codeContext, useSimpleResolution, useFsiAuxLib, lexResourceManager:Lexhelp.LexResourceManager, applyCommmandLineArgs, assumeDotNetFramework, tryGetMetadataSnapshot, reduceMemoryUsage) =
// Resolve the basic references such as FSharp.Core.dll first, before processing any #I directives in the script
//
Expand Down
4 changes: 2 additions & 2 deletions src/fsharp/CompileOptions.fs
Original file line number Diff line number Diff line change
Expand Up @@ -1070,7 +1070,7 @@ let testingAndQAFlags _tcConfigB =
The compiler options are put into blocks, named as <block>Flags.
Some block options differ between fsc and fsi, in this case they split as <block>FlagsFsc and <block>FlagsFsi.

The "FSharpChecker.fs" (language service) flags are the same as the fsc flags (except help options are removed).
The "service.fs" (language service) flags are the same as the fsc flags (except help options are removed).
REVIEW: is this correct? what about fsx files in VS and fsi options?

Block | notes
Expand All @@ -1090,7 +1090,7 @@ let testingAndQAFlags _tcConfigB =
---------------------------|--------------------
*)

// Core compiler options exported to fsc.fs, FSharpChecker.fs and fsi.fs
// Core compiler options exported to fsc.fs, service.fs and fsi.fs
//----------------------------------------------------------------

/// The core/common options used by fsc.exe. [not currently extended by fsc.fs].
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -625,11 +625,11 @@
<Compile Include="..\..\fsharp\service\FSharpCheckerResults.fs">
<Link>Service/FSharpCheckerResults.fs</Link>
</Compile>
<Compile Include="..\service\FSharpChecker.fsi">
<Link>Service/FSharpChecker.fsi</Link>
<Compile Include="..\service\service.fsi">
<Link>Service/service.fsi</Link>
</Compile>
<Compile Include="..\service\FSharpChecker.fs">
<Link>Service/FSharpChecker.fs</Link>
<Compile Include="..\service\service.fs">
<Link>Service/service.fs</Link>
</Compile>
<Compile Include="..\service\ServiceInterfaceStubGenerator.fsi">
<Link>Service/ServiceInterfaceStubGenerator.fsi</Link>
Expand Down
2 changes: 1 addition & 1 deletion src/fsharp/LexFilter.fs
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,7 @@ type TokenTup =
//--------------------------------------------------------------------------*)

// Strip a bunch of leading '>' of a token, at the end of a typar application
// Note: this is used in the 'FSharpChecker.fs' to do limited postprocessing
// Note: this is used in the 'service.fs' to do limited postprocessing
let (|TyparsCloseOp|_|) (txt:string) =
let angles = txt |> Seq.takeWhile (fun c -> c = '>') |> Seq.toList
let afterAngles = txt |> Seq.skipWhile (fun c -> c = '>') |> Seq.toList
Expand Down
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion src/fsharp/symbols/SymbolHelpers.fs
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ type ErrorScope() =

member x.FirstError with get() = firstError and set v = firstError <- v

/// Used at entry points to FSharp.Compiler.Service (FSharpChecker.fsi) which manipulate symbols and
/// Used at entry points to FSharp.Compiler.Service (service.fsi) which manipulate symbols and
/// perform other operations which might expose us to either bona-fide F# error messages such
/// "missing assembly" (for incomplete assembly reference sets), or, if there is a compiler bug,
/// may hit internal compiler failures.
Expand Down
2 changes: 1 addition & 1 deletion src/fsharp/tast.fs
Original file line number Diff line number Diff line change
Expand Up @@ -2799,7 +2799,7 @@ and [<NoEquality; NoComparison; StructuredFormatDisplay("{DebugText}")>]
// - in opt.fs : when compiling fslib, we bind an entry for the value in a global table (see bind_escaping_local_vspec)
// - in ilxgen.fs: when compiling fslib, we bind an entry for the value in a global table (see bind_escaping_local_vspec)
// - in opt.fs : (fullDebugTextOfValRef) for error reporting of non-inlinable values
// - in FSharpChecker.fs (boutput_item_description): to display the full text of a value's binding location
// - in service.fs (boutput_item_description): to display the full text of a value's binding location
// - in check.fs: as a boolean to detect public values for saving quotations
// - in ilxgen.fs: as a boolean to detect public values for saving quotations
// - in MakeExportRemapping, to build non-local references for values
Expand Down
2 changes: 1 addition & 1 deletion src/utils/CompilerLocationUtils.fs
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ module internal FSharpEnvironment =
// Used for
// - location of design-time copies of FSharp.Core.dll and FSharp.Compiler.Interactive.Settings.dll for the default assumed environment for scripts
// - default ToolPath in tasks in FSharp.Build.dll (for Fsc tasks, but note a probe location is given)
// - default F# binaries directory in FSharpChecker.fs (REVIEW: check this)
// - default F# binaries directory in service.fs (REVIEW: check this)
// - default location of fsi.exe in FSharp.VS.FSI.dll (REVIEW: check this)
// - default F# binaries directory in (project system) Project.fs
let BinFolderOfDefaultFSharpCompiler(probePoint:string option) =
Expand Down
4 changes: 2 additions & 2 deletions vsintegration/Utils/LanguageServiceProfiling/Options.fs
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,8 @@ let FCS (repositoryDir: string) : Options =
@"src\fsharp\SimulatedMSBuildReferenceResolver.fs"
@"src\fsharp\service\FSharpCheckerResults.fsi"
@"src\fsharp\service\FSharpCheckerResults.fs"
@"src\fsharp\service\FSharpChecker.fsi"
@"src\fsharp\service\FSharpChecker.fs"
@"src\fsharp\service\service.fsi"
@"src\fsharp\service\service.fs"
@"src\fsharp\service\SimpleServices.fsi"
@"src\fsharp\service\SimpleServices.fs"
@"src\fsharp\fsi\fsi.fsi"
Expand Down
2 changes: 1 addition & 1 deletion vsintegration/tests/Salsa/salsa.fs
Original file line number Diff line number Diff line change
Expand Up @@ -1159,7 +1159,7 @@ module internal Salsa =

member file.DoIntellisenseRequest(parseReason) =
if parseReason = BackgroundRequestReason.MemberSelect then
// In the actual product, the only thing that can trigger MemberSelect is the auto-popup caused by the "." or ".." tokens (see FSharpChecker.fs:TokenClassifications.tokenInfo)
// In the actual product, the only thing that can trigger MemberSelect is the auto-popup caused by the "." or ".." tokens (see service.fs:TokenClassifications.tokenInfo)
// Thus, let's try to ensure that unit tests are only testing code paths from the actual product, and assert/fail if not. Best effort.
let lineIndex, colIndex = cursor.line-1, cursor.col-1
System.Diagnostics.Debug.Assert(colIndex > 0, "hm, how did we invoke at start of line?")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -885,7 +885,7 @@ type UsingMSBuild() =
Assert.IsTrue(info.IsSome, "expected parameter info")
let info = info.Value
AssertEqual("f1", info.GetName(0))
// note about (5,0): FSharpChecker.fs adds three lines of empty text to the end of every file, so it reports the location of 'end of file' as first the char, 3 lines past the last line of the file
// note about (5,0): service.fs adds three lines of empty text to the end of every file, so it reports the location of 'end of file' as first the char, 3 lines past the last line of the file
AssertEqual([|(2,10);(2,12);(2,13);(3,0)|], info.GetNoteworthyParamInfoLocations())

[<Test>]
Expand All @@ -907,7 +907,7 @@ type UsingMSBuild() =
Assert.IsTrue(info.IsSome, "expected parameter info")
let info = info.Value
AssertEqual("Foo", info.GetName(0))
// note about (4,0): FSharpChecker.fs adds three lines of empty text to the end of every file, so it reports the location of 'end of file' as first the char, 3 lines past the last line of the file
// note about (4,0): service.fs adds three lines of empty text to the end of every file, so it reports the location of 'end of file' as first the char, 3 lines past the last line of the file
AssertEqual([|(1,14);(1,17);(1,18);(2,0)|], info.GetNoteworthyParamInfoLocations())


Expand All @@ -934,7 +934,7 @@ We really need to rewrite some code paths here to use the real parse tree rather
// Note: no TakeCoffeeBreak(this.VS)
let info = GetParameterInfoAtCursor file // this will fall back to using the name environment, which is stale, but sufficient to look up the call to 'f1'
AssertEqual("Foo", info.GetName(0))
// note about (4,0): FSharpChecker.fs adds three lines of empty text to the end of every file, so it reports the location of 'end of file' as first the char, 3 lines past the last line of the file
// note about (4,0): service.fs adds three lines of empty text to the end of every file, so it reports the location of 'end of file' as first the char, 3 lines past the last line of the file
AssertEqual([|(1,14);(1,21);(1,21);(4,0)|], info.GetNoteworthyParamInfoLocations())
*)

Expand Down Expand Up @@ -972,7 +972,7 @@ We really need to rewrite some code paths here to use the real parse tree rather
r.ToString(), locs)
let testLines = testLinesAndLocs |> List.map fst
let expectedLocs = testLinesAndLocs |> List.map snd |> List.collect id |> List.toArray
// note: FSharpChecker.fs adds a new line character to the end of every file, so it reports the location of 'end of file' as first the char, 3 lines past the last line of the file
// note: service.fs adds a new line character to the end of every file, so it reports the location of 'end of file' as first the char, 3 lines past the last line of the file
let expectedLocs = if defaultArg markAtEOF false then
Array.append expectedLocs [| (testLines.Length-1)+1, 0 |]
else
Expand Down