forked from dotnet/fsharp
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
merge from master #13
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Simplify Nugets * Re-remove ValidateConfiguration * Re-remove ValidateConfiguration * fsianycpu.config was inadvertently deleted * FSC.proj merge issue * fsharp.core.proj * Remove prerequisited from vsixmanifest
This fixes #1728 and makes sure we are checking the error code. This PR also removes the exclude option from build.cmd which was causing batch file hell (because of the use of a ! character!), which was only used to exclude Expensive tests. Now use an explicit include Expensive .
* Simplify Nugets * Re-remove ValidateConfiguration * Re-remove ValidateConfiguration * fsianycpu.config was inadvertently deleted * FSC.proj merge issue * fsharp.core.proj * Remove prerequisited from vsixmanifest * Use publish for fsharp.core.unittests * remove tuplesample.dlls * Fix tuplesample reference * correct profile for fsharp.core.unittests * typo * Remove pre-requisites again * Put readme in artifacts directory to ensure it exists
…into test-fixes-2
* Make async test less flakey. See #1755. Instead of a ref cell with a lock, we use a ManualResetEvent so that the sleep 100ms - which I assume is the reason for the flakiness, this is not proven - can be replaced with a generous timeout, while the test can still complete in reasonable time. * Make sure cancel handler is registered.
* fix 1775 * Fix 1749 * adjustment to fix * fix test
The compiler has some logic to search for known types amongst available DLLs. With this PR we get to enable several tests that uses F# Interactive on .NET Core and more tests for the F# compiler on .NET Core Some of the known-type-search logic is OK, but swathes of it are not so good, e.g. this stuff This improves the search by just having one function to do the search moving many "known types" out of Abstract IL (ILGlobals) and into the F# Compiler TcGlobals. THe advantages of this is that getting started with ILGlobals is much simpler if the set of referenced types is simpler - in particular if the small set of types known to Abstract IL are all always in the primary assembly (Int32, String, Array etc.). This is particularly important for .NET Core. I don't trust the current code to correctly find some of the more obscure types for .NET Core, since the searching was based around various assumptions for Profile 7, 78, 259. Overall this removes a fair chunk of fragile code from the compiler. Separately this refactors TcGlobals to be a class instead of a record (which requires fewer lines of code)
* Fix 1805,1807 * fix assert in goto-definition
…#1819) Fixes underlying issues associated with #1815 After getting a 15+ second UI block in VS 2017, I've done a complete review of the way the new LanguageService implementation is using FSharp.Compiler.Service (the DLL internally called FSharp.Compiler.LanguageService in the Visual F# Tools repo, but it's basically the same component as FCS) In short, the new LS implementation expects FCS to honour cancellation of submitted tasks in a more timely way. This PR greatly improves the cancellability of FCS requests, which was one of the underlying causes of such a long UI block. 1. Improve FCS so that it respects cancellation in a more timely way. Cancellation will now be respected at each step of the evaluation of the incremental build graph (IncrementalBuild.fs). This represents a fundamental improvement to FCS which will be very useful to other F# editors as well, as long as they are cancelling tasks. In particular, some FCS requests could be _very_ long running, e.g. CheckFileInProject may require checking **all** the files prior to this file (and if cross-F#-to-F#-project checking is enabled then it will require checking all the dependent projects too). Prior to this PR FCS was not respecting cancellation of these requests, and was simply running them through and then throwing the results away. 2. The new LS implementation was using some unnecessary calls to Async.RunSynchronously. All of these could inject arbitrary non-responsiveness into some part of the causality chains. I've removed these in favour of fully async code. 3. In FCS the old IsResultObsolete logic can be removed in favour of checking a cancellation token This also fixes #1756, see [this change here](https://github.com/Microsoft/visualfsharp/pull/1819/files#diff-69fa840cd1c6d144d0cd489cad82e901R88) We have a separate issue that too may errors/warnings are shown for out-of-project files - the old LS implementation showed the first 3 errors - a good choice which we decided on long ago. I'll add an issue for that.
…le (#1512) * Reproduce #1253 * Union resolution should not stop other searches * reproduce #1294 * fix #1294 * Show that constructor syntax still works * Fix shortcut * Fix shortcut * Adding further tests * Search for a discriminated union without RequireQualifiedAccess attribute * Don't run union search twice * Simplify code * Fix encoding issue
Fixes #1821 Incremental colorization was not being effective on changing files for a number of reasons •Data cache was keyed by source text rather than document ID •We were writing None entries right through to end-of-file even when we could stop earlier •We weren't checking that start-of-line indexes and lex states were still the same when reusing entries •Tokenizers getting recreated for each line - we can cache these as well. I've tried the PR out on large files and it works much more efficiently. Also a fix to make ShouldTriggerCompletionAux faster in the common case where not pressing . This also fixes glyphs: #1806. Public/private/protected is not yet propagated to the glyph but this gives us feature parity with VS2015
Fix type providers on VS2017 RC.
…s OSS build FSI to run. (#1833)
* fix goto defn on operators and other items * fix gtd
As a result of struggling with running and adding to the compiler tests recently, hopefully this will make things clearer for future contributors. * FSharpSuite are NUnit tests now. * Move RunAll.pl specific test.lst stuff to FSharpQA paragraph. * Add example of using build.cmd to run subset of FSharpQA tests.
* partially fixes Intellisense after type constraint error * working with intellisense * fix tests * exits on too many errors, remove some of the expected error messages
* Implement FSharpQuickInfoProvider (by @OmarTawfik) * extract tryClassifyAtPosition and reuse it in QuickInfoProvider * address code review * fix QuickInfo text span * don't show empty tooltip * add a QuickInfoProvider test * QuickInfoProvider respects current theme colors * revert problem stuff into FSharp.Compiler.fsproj
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.