@@ -325,6 +325,11 @@ type internal TransparentCompiler
325325 useSyntaxTreeCache
326326 ) as self =
327327
328+ let documentSource =
329+ match getSource with
330+ | Some getSource -> DocumentSource.Custom getSource
331+ | None -> DocumentSource.FileSystem
332+
328333 // Is having just one of these ok?
329334 let lexResourceManager = Lexhelp.LexResourceManager()
330335
@@ -1470,8 +1475,6 @@ type internal TransparentCompiler
14701475 let tcSymbolUses = sink.GetSymbolUses()
14711476 let tcOpenDeclarations = sink.GetOpenDeclarations()
14721477
1473- let tcDependencyFiles = [] // TODO add as a set to TcIntermediate
1474-
14751478 // TODO: Apparently creating diagnostics can produce further diagnostics. So let's capture those too. Hopefully there is a more elegant solution...
14761479 // Probably diagnostics need to be evaluated during typecheck anyway for proper formatting, which might take care of this too.
14771480 let extraLogger = CapturingDiagnosticsLogger( " DiagnosticsWhileCreatingDiagnostics" )
@@ -1531,7 +1534,7 @@ type internal TransparentCompiler
15311534 projectSnapshot.IsIncompleteTypeCheckEnvironment,
15321535 None,
15331536 projectSnapshot.ToOptions(),
1534- Array.ofList tcDependencyFiles,
1537+ Array.ofList tcInfo. tcDependencyFiles,
15351538 creationDiags,
15361539 parseResults.Diagnostics,
15371540 tcDiagnostics,
@@ -1931,7 +1934,7 @@ type internal TransparentCompiler
19311934 userOpName : string
19321935 ) : Async < FSharpCheckFileAnswer > =
19331936 async {
1934- let! snapshot = FSharpProjectSnapshot.FromOptions( options, fileName, fileVersion, sourceText)
1937+ let! snapshot = FSharpProjectSnapshot.FromOptions( options, fileName, fileVersion, sourceText, documentSource )
19351938
19361939 ignore parseResults
19371940
@@ -1950,7 +1953,7 @@ type internal TransparentCompiler
19501953 userOpName : string
19511954 ) : Async < FSharpCheckFileAnswer option > =
19521955 async {
1953- let! snapshot = FSharpProjectSnapshot.FromOptions( options, fileName, fileVersion, sourceText)
1956+ let! snapshot = FSharpProjectSnapshot.FromOptions( options, fileName, fileVersion, sourceText, documentSource )
19541957
19551958 ignore parseResults
19561959
@@ -2001,7 +2004,8 @@ type internal TransparentCompiler
20012004 ) : Async < seq < range >> =
20022005 async {
20032006 ignore canInvalidateProject
2004- let! snapshot = FSharpProjectSnapshot.FromOptions options
2007+
2008+ let! snapshot = FSharpProjectSnapshot.FromOptions( options, documentSource)
20052009
20062010 return ! this.FindReferencesInFile( fileName, snapshot.ProjectSnapshot, symbol, userOpName)
20072011 }
@@ -2014,7 +2018,8 @@ type internal TransparentCompiler
20142018
20152019 member this.GetAssemblyData ( options : FSharpProjectOptions , fileName , userOpName : string ) : Async < ProjectAssemblyDataResult > =
20162020 async {
2017- let! snapshot = FSharpProjectSnapshot.FromOptions options
2021+ let! snapshot = FSharpProjectSnapshot.FromOptions( options, documentSource)
2022+
20182023 return ! this.GetAssemblyData( snapshot.ProjectSnapshot, fileName, userOpName)
20192024 }
20202025
@@ -2033,7 +2038,7 @@ type internal TransparentCompiler
20332038 userOpName : string
20342039 ) : Async < FSharpParseFileResults * FSharpCheckFileResults > =
20352040 async {
2036- let! snapshot = FSharpProjectSnapshot.FromOptions options
2041+ let! snapshot = FSharpProjectSnapshot.FromOptions( options, documentSource )
20372042
20382043 match ! this.ParseAndCheckFileInProject( fileName, snapshot.ProjectSnapshot, userOpName) with
20392044 | parseResult, FSharpCheckFileAnswer.Succeeded checkResult -> return parseResult, checkResult
@@ -2047,7 +2052,8 @@ type internal TransparentCompiler
20472052 userOpName : string
20482053 ) : Async < FSharpParseFileResults > =
20492054 async {
2050- let! snapshot = FSharpProjectSnapshot.FromOptions options
2055+ let! snapshot = FSharpProjectSnapshot.FromOptions( options, documentSource)
2056+
20512057 return ! this.ParseFile( fileName, snapshot.ProjectSnapshot, userOpName)
20522058 }
20532059
@@ -2061,7 +2067,7 @@ type internal TransparentCompiler
20612067 async {
20622068 ignore builder
20632069
2064- let! snapshot = FSharpProjectSnapshot.FromOptions( options, fileName, 1 , sourceText)
2070+ let! snapshot = FSharpProjectSnapshot.FromOptions( options, fileName, 1 , sourceText, documentSource )
20652071
20662072 match ! this.ParseAndCheckFileInProject( fileName, snapshot.ProjectSnapshot, " GetCachedCheckFileResult" ) with
20672073 | parseResult, FSharpCheckFileAnswer.Succeeded checkResult -> return Some( parseResult, checkResult)
@@ -2110,7 +2116,9 @@ type internal TransparentCompiler
21102116 ) : Async < EditorServices.SemanticClassificationView option > =
21112117 async {
21122118 ignore userOpName
2113- let! snapshot = FSharpProjectSnapshot.FromOptions options
2119+
2120+ let! snapshot = FSharpProjectSnapshot.FromOptions( options, documentSource)
2121+
21142122 return ! ComputeSemanticClassification( fileName, snapshot.ProjectSnapshot)
21152123 }
21162124
@@ -2132,7 +2140,7 @@ type internal TransparentCompiler
21322140 userOpName : string
21332141 ) : Async < FSharpParseFileResults * FSharpCheckFileAnswer > =
21342142 async {
2135- let! snapshot = FSharpProjectSnapshot.FromOptions( options, fileName, fileVersion, sourceText)
2143+ let! snapshot = FSharpProjectSnapshot.FromOptions( options, fileName, fileVersion, sourceText, documentSource )
21362144
21372145 return ! this.ParseAndCheckFileInProject( fileName, snapshot.ProjectSnapshot, userOpName)
21382146 }
@@ -2143,7 +2151,9 @@ type internal TransparentCompiler
21432151 member this.ParseAndCheckProject ( options : FSharpProjectOptions , userOpName : string ) : Async < FSharpCheckProjectResults > =
21442152 async {
21452153 ignore userOpName
2146- let! snapshot = FSharpProjectSnapshot.FromOptions options
2154+
2155+ let! snapshot = FSharpProjectSnapshot.FromOptions( options, documentSource)
2156+
21472157 return ! ComputeParseAndCheckProject snapshot.ProjectSnapshot
21482158 }
21492159
0 commit comments