Compiler api harmonise#639
Compiler api harmonise#639dsyme merged 4 commits intofsharp:masterfrom 7sharp9:compiler-api-harmonise
Conversation
Add compiling API’s to SourceCodeServices
|
Fixes / Implements #516 |
dsyme
left a comment
There was a problem hiding this comment.
Great work. Could you also please deprecate the methods in SimpeServices.fsi? And adjust any documentation (if there is any for these).
|
|
||
| member ic.TryGetRecentTypeCheckResultsForFile(filename, options, ?source) = ic.TryGetRecentCheckResultsForFile(filename,options,?source=source) | ||
|
|
||
| member ic.Compile(argv: string[]) = |
There was a problem hiding this comment.
I think these operations should all go via the backgroundCompiler and the Reactor thread - that's more obvious now that they are all part of the proper service API. Could you add that as part of this PR? Or we could do that as a separate item of work.
There was a problem hiding this comment.
I think a separate PR as that would be a change of functionality, Im not entirely sure on the interaction of the compile action with an ongoing background compilation. Maybe that in itself is a good reason for a reactor lock.
|
Do we need to depreciate the compile methods in Maybe |
Yes, I believe it can now be deprecated (though please double check, maybe there's something dangling). |
|
Theres quite a few uses around on github, I think the bast bet is to mark it as depreciated for now, I can add that to this PR. |
Great, thanks |
|
Here's the AppVeyor failure: |
|
Hmm, dotnetcore issue? |
|
At the moment I have to disable dotnetcore to get mono to compile. Maybe #637 needs a closer look to get the CI stable. |
|
@7sharp9 Yes. Either a missing reference, or changed namespace, or need to #if out the functionality, or something. |
|
@7sharp9 I think |
|
@dsyme Appveyor is ok now. |
|
Thanks for this @7sharp9 |
|
I'll do a further PR later to add the depreciate flag in simplesourcecodeservces and the reactor thread. |
|
@7sharp9 Thanks. Let's aim to nuke SimpleSourceCodeServices and bring it all into FSharpChecker. |
This PR addresses the fact the
SimpleSourceCodeServiceshas compile specific API's that are not present inSourceCodeServices.The benefits of this PR is that a single
FSharpCheckercan be created and used to do compile operations, rather than having to move betweenSimpleSourceCodeServicesandSourceCodeServices.