@@ -1397,7 +1397,7 @@ type FSharpParsingOptions =
13971397}
13981398
13991399static member FromTcConfigBuidler ( tcConfigB : TcConfigBuilder , sourceFiles ) =
1400- {
1400+ {
14011401 SourceFiles= sourceFiles
14021402 ConditionalCompilationDefines= tcConfigB.conditionalCompilationDefines
14031403 ErrorSeverityOptions= tcConfigB.errorSeverityOptions
@@ -1725,7 +1725,7 @@ type FSharpProjectOptions =
17251725member x.ProjectOptions = x.OtherOptions
17261726/// Whether the two parse options refer to the same project.
17271727static member UseSameProjectFileName ( options1 , options2 ) =
1728- options1.ProjectFileName= options2.ProjectFileName
1728+ options1.ProjectFileName= options2.ProjectFileName
17291729
17301730/// Compare two options sets with respect to the parts of the options that are important to building.
17311731static member AreSameForChecking ( options1 , options2 ) =
@@ -1738,7 +1738,9 @@ type FSharpProjectOptions =
17381738 options1.UnresolvedReferences= options2.UnresolvedReferences&&
17391739 options1.OriginalLoadReferences= options2.OriginalLoadReferences&&
17401740 options1.ReferencedProjects.Length= options2.ReferencedProjects.Length&&
1741- Array.forall2( fun ( n1 , a ) ( n2 , b ) -> n1= n2&& FSharpProjectOptions.AreSameForChecking( a, b)) options1.ReferencedProjects options2.ReferencedProjects&&
1741+ Array.forall2( fun ( n1 , a ) ( n2 , b ) ->
1742+ n1= n2&&
1743+ FSharpProjectOptions.AreSameForChecking( a, b)) options1.ReferencedProjects options2.ReferencedProjects&&
17421744 options1.LoadTime= options2.LoadTime
17431745
17441746/// Compute the project directory.
@@ -2050,11 +2052,11 @@ module Helpers =
20502052
20512053// Look for DLLs in the location of the service DLL first.
20522054let defaultFSharpBinariesDir = FSharpEnvironment.BinFolderOfDefaultFSharpCompiler( Some( typeof< FSharpCheckFileAnswer>. Assembly.Location)) .Value
2053-
2055+
20542056/// Determine whether two (fileName,options) keys are identical w.r.t. affect on checking
2055- let AreSameForChecking2 (( fileName1 : string , options1 : FSharpProjectOptions ), ( fileName2 , o2 )) =
2057+ let AreSameForChecking2 (( fileName1 : string , options1 : FSharpProjectOptions ), ( fileName2 , options2 )) =
20562058( fileName1= fileName2)
2057- && FSharpProjectOptions.AreSameForChecking( options1, o2 )
2059+ && FSharpProjectOptions.AreSameForChecking( options1, options2 )
20582060
20592061/// Determine whether two (fileName,options) keys should be identical w.r.t. resource usage
20602062let AreSubsumable2 (( fileName1 : string , o1 : FSharpProjectOptions ),( fileName2 : string , o2 : FSharpProjectOptions )) =
@@ -2720,7 +2722,7 @@ type BackgroundCompiler(legacyReferenceResolver, projectCacheSize, keepAssemblyC
27202722member bc.InvalidateConfiguration ( options : FSharpProjectOptions , startBackgroundCompileIfAlreadySeen , userOpName ) =
27212723let startBackgroundCompileIfAlreadySeen = defaultArg startBackgroundCompileIfAlreadySeen implicitlyStartBackgroundWork
27222724// This operation can't currently be cancelled nor awaited
2723- reactor.EnqueueOp( userOpName, " InvalidateConfiguration" , options.ProjectFileName, fun ctok ->
2725+ reactor.EnqueueOp( userOpName, " InvalidateConfiguration: Stamp( " + ( options.Stamp |> Option.defaultValue 0 L ) .ToString () + " ) " , options.ProjectFileName, fun ctok ->
27242726// If there was a similar entry then re-establish an empty builder . This is a somewhat arbitrary choice - it
27252727// will have the effect of releasing memory associated with the previous builder, but costs some time.
27262728if incrementalBuildersCache.ContainsSimilarKey( ctok, options) then