@@ -116,7 +116,7 @@ module internal ParseAndCheck =
116
116
SimulatedMSBuildReferenceResolver.getResolver(),
117
117
defaultFSharpBinariesDir = FSharpCheckerResultsSettings.defaultFSharpBinariesDir,
118
118
reduceMemoryUsage = ReduceMemoryFlag.Yes,
119
- implicitIncludeDir = Path.GetDirectoryName( projectOptions.ProjectFileName),
119
+ implicitIncludeDir = !! Path.GetDirectoryName( projectOptions.ProjectFileName),
120
120
isInteractive = false ,
121
121
isInvalidationSupported = true ,
122
122
defaultCopyFSharpCore = CopyFSharpCoreFlag.No,
@@ -134,15 +134,14 @@ module internal ParseAndCheck =
134
134
let dependencyProvider = new DependencyProvider()
135
135
let! tcGlobals , tcImports =
136
136
TcImports.BuildTcImports ( tcConfigP, dependencyProvider)
137
- |> Async.AwaitNodeCode
138
137
139
138
// Handle type provider invalidation by resetting compiler state
140
139
tcImports.GetCcusExcludingBase()
141
140
|> Seq.iter ( fun ccu ->
142
141
ccu.Deref.InvalidateEvent.Add( fun _ -> reset())
143
142
)
144
143
145
- let assemblyName = projectOptions.ProjectFileName |> Path.GetFileNameWithoutExtension
144
+ let assemblyName = !! Path.GetFileNameWithoutExtension( projectOptions.ProjectFileName )
146
145
let tcInitial , openDecls0 = GetInitialTcEnv ( assemblyName, rangeStartup, tcConfig, tcImports, tcGlobals)
147
146
let tcInitialState = GetInitialTcState ( rangeStartup, assemblyName, tcConfig, tcGlobals, tcImports, tcInitial, openDecls0)
148
147
@@ -166,7 +165,7 @@ module internal ParseAndCheck =
166
165
topAttrsOpt : TopAttribs option , tcImplFilesOpt : CheckedImplFile list option , compilerState ) =
167
166
let assemblyRef = mkSimpleAssemblyRef " stdin"
168
167
let access = tcState.TcEnvFromImpls.AccessRights
169
- let symbolUses = Choice2Of2 TcSymbolUses.Empty
168
+ let symbolUses = Choice2Of2 ( async { return seq { } })
170
169
let dependencyFiles = parseResults |> Seq.map ( fun x -> x.DependencyFiles) |> Array.concat
171
170
let getAssemblyData () = None
172
171
let details = ( compilerState.tcGlobals, compilerState.tcImports, tcState.Ccu, tcState.CcuSig, symbolUses, topAttrsOpt,
@@ -313,12 +312,12 @@ type InteractiveChecker internal (compilerStateCache) =
313
312
let ctok = CompilationThreadToken()
314
313
let flatErrors = compilerState.tcConfig.flatErrors
315
314
let errors , diagnosticsLogger , _loggerProvider = CompileHelpers.mkCompilationDiagnosticsHandlers( flatErrors)
316
- let exitCode =
315
+ let exnOpt =
317
316
CompileHelpers.tryCompile diagnosticsLogger ( fun exiter ->
318
317
CompileFromTypedAst ( ctok, compilerState.tcGlobals, compilerState.tcImports, tcState.Ccu,
319
318
tcImplFiles, topAttrs, compilerState.tcConfig, outFile, diagnosticsLogger, exiter))
320
319
321
- return errors.ToArray(), exitCode
320
+ return errors.ToArray(), exnOpt
322
321
}
323
322
324
323
/// Parses and checks the whole project, good for compilers (Fable etc.)
0 commit comments