Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
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
1 change: 1 addition & 0 deletions docs/release-notes/.FSharp.Compiler.Service/9.0.300.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

### Changed

* FSharpCheckFileResults.ProjectContext.ProjectOptions will not be available when using the experimental Transparent Compiler feature.

### Breaking Changes

4 changes: 2 additions & 2 deletions src/Compiler/Service/BackgroundCompiler.fs
Original file line number Diff line number Diff line change
Expand Up @@ -1066,7 +1066,7 @@ type internal BackgroundCompiler
tcProj.TcGlobals,
options.IsIncompleteTypeCheckEnvironment,
Some builder,
options,
Some options,
Array.ofList tcDependencyFiles,
creationDiags,
parseResults.Diagnostics,
Expand Down Expand Up @@ -1248,7 +1248,7 @@ type internal BackgroundCompiler
tcEnvAtEnd.AccessRights,
tcAssemblyExprOpt,
Array.ofList tcDependencyFiles,
options)
Some options)

let results =
FSharpCheckProjectResults(
Expand Down
17 changes: 11 additions & 6 deletions src/Compiler/Service/FSharpCheckerResults.fs
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ type internal TypeCheckInfo
tcAccessRights: AccessorDomain,
projectFileName: string,
mainInputFileName: string,
projectOptions: FSharpProjectOptions,
projectOptions: FSharpProjectOptions option,
sResolutions: TcResolutions,
sSymbolUses: TcSymbolUses,
sFallback: NameResolutionEnv,
Expand Down Expand Up @@ -3289,7 +3289,7 @@ module internal ParseAndCheckFile =
tcEnvAtEnd.AccessRights,
projectFileName,
mainInputFileName,
projectOptions,
Some projectOptions,
sink.GetResolutions(),
sink.GetSymbolUses(),
tcEnvAtEnd.NameEnv,
Expand All @@ -3302,9 +3302,14 @@ module internal ParseAndCheckFile =
}

[<Sealed>]
type FSharpProjectContext(thisCcu: CcuThunk, assemblies: FSharpAssembly list, ad: AccessorDomain, projectOptions: FSharpProjectOptions) =
type FSharpProjectContext
(thisCcu: CcuThunk, assemblies: FSharpAssembly list, ad: AccessorDomain, projectOptions: FSharpProjectOptions option) =

member _.ProjectOptions = projectOptions
// TODO: Once API around Transparent Compiler is stabilized we should probably remove this.
member _.ProjectOptions =
projectOptions
|> Option.defaultWith (fun () ->
failwith "ProjectOptions are not available. This is expected when using FSharpChecker with useTransparentCompiler=true.")

member _.GetReferencedAssemblies() = assemblies

Expand Down Expand Up @@ -3713,7 +3718,7 @@ type FSharpCheckProjectResults
AccessorDomain *
CheckedImplFile list option *
string[] *
FSharpProjectOptions) option
FSharpProjectOptions option) option
) =

let getDetails () =
Expand Down Expand Up @@ -4009,7 +4014,7 @@ type FsiInteractiveChecker(legacyReferenceResolver, tcConfig: TcConfig, tcGlobal
tcState.TcEnvFromImpls.AccessRights,
None,
dependencyFiles,
projectOptions)
Some projectOptions)

let projectResults =
FSharpCheckProjectResults(fileName, Some tcConfig, keepAssemblyContents, errors, Some details)
Expand Down
4 changes: 2 additions & 2 deletions src/Compiler/Service/FSharpCheckerResults.fsi
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@ type public FSharpCheckFileResults =
tcGlobals: TcGlobals *
isIncompleteTypeCheckEnvironment: bool *
builder: IncrementalBuilder option *
projectOptions: FSharpProjectOptions *
projectOptions: FSharpProjectOptions option *
dependencyFiles: string[] *
creationErrors: FSharpDiagnostic[] *
parseErrors: FSharpDiagnostic[] *
Expand Down Expand Up @@ -554,7 +554,7 @@ type public FSharpCheckProjectResults =
AccessorDomain *
CheckedImplFile list option *
string[] *
FSharpProjectOptions) option ->
FSharpProjectOptions option) option ->
FSharpCheckProjectResults

module internal ParseAndCheckFile =
Expand Down
4 changes: 2 additions & 2 deletions src/Compiler/Service/TransparentCompiler.fs
Original file line number Diff line number Diff line change
Expand Up @@ -1696,7 +1696,7 @@ type internal TransparentCompiler
bootstrapInfo.TcGlobals,
projectSnapshot.IsIncompleteTypeCheckEnvironment,
None,
projectSnapshot.ToOptions(),
None,
Array.ofList tcInfo.tcDependencyFiles,
creationDiags,
parseResults.Diagnostics,
Expand Down Expand Up @@ -1963,7 +1963,7 @@ type internal TransparentCompiler
tcEnvAtEnd.AccessRights,
Some checkedImplFiles,
Array.ofList tcDependencyFiles,
projectSnapshot.ToOptions())
None)

let results =
FSharpCheckProjectResults(
Expand Down
Loading