Skip to content
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 85 commits into from Nov 27, 2016
Merged

merge from master #13

merged 85 commits into from Nov 27, 2016

Commits on Nov 9, 2016

  1. Change the way we generate nupkg files (#1721)

    * Simplify Nugets
    
    * Re-remove ValidateConfiguration
    
    * Re-remove ValidateConfiguration
    
    * fsianycpu.config was inadvertently deleted
    
    * FSC.proj merge issue
    
    * fsharp.core.proj
    
    * Remove prerequisited from vsixmanifest
    KevinRansom committed Nov 9, 2016
    Configuration menu
    Copy the full SHA
    ce83658 View commit details
    Browse the repository at this point in the history
  2. remove a directory and a file (#1722)

    dsyme authored and KevinRansom committed Nov 9, 2016
    Configuration menu
    Copy the full SHA
    7ddf2e5 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2016

  1. test fixes (#1729)

    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 .
    dsyme committed Nov 10, 2016
    Configuration menu
    Copy the full SHA
    0e40f7d View commit details
    Browse the repository at this point in the history
  2. Update build.cmd (#1730)

    dsyme committed Nov 10, 2016
    Configuration menu
    Copy the full SHA
    7f86dc7 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2016

  1. test cleanup

    dsyme committed Nov 11, 2016
    Configuration menu
    Copy the full SHA
    dedf4f8 View commit details
    Browse the repository at this point in the history
  2. test cleanup

    dsyme committed Nov 11, 2016
    Configuration menu
    Copy the full SHA
    70f3e6a View commit details
    Browse the repository at this point in the history
  3. code cleanup

    dsyme committed Nov 11, 2016
    Configuration menu
    Copy the full SHA
    1a8339f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9e8bd80 View commit details
    Browse the repository at this point in the history
  5. test cleanup

    dsyme committed Nov 11, 2016
    Configuration menu
    Copy the full SHA
    99021e8 View commit details
    Browse the repository at this point in the history
  6. remove FSHARP_CORE_4_5

    dsyme committed Nov 11, 2016
    Configuration menu
    Copy the full SHA
    30bb033 View commit details
    Browse the repository at this point in the history
  7. test cleanup

    dsyme committed Nov 11, 2016
    Configuration menu
    Copy the full SHA
    558805a View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    20eaba5 View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2016

  1. fix build

    dsyme committed Nov 12, 2016
    Configuration menu
    Copy the full SHA
    ff62b0b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    500229b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f82f527 View commit details
    Browse the repository at this point in the history
  4. Use dotnet publish to deploy fsharp.core.unittests for coreclr (#1733)

    * 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
    KevinRansom committed Nov 12, 2016
    Configuration menu
    Copy the full SHA
    d0a1356 View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2016

  1. Configuration menu
    Copy the full SHA
    bfbf8b6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d1891be View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2016

  1. Configuration menu
    Copy the full SHA
    9967c1b View commit details
    Browse the repository at this point in the history
  2. merge

    dsyme committed Nov 14, 2016
    Configuration menu
    Copy the full SHA
    8bd0d30 View commit details
    Browse the repository at this point in the history
  3. fix test

    dsyme committed Nov 14, 2016
    Configuration menu
    Copy the full SHA
    3f6c106 View commit details
    Browse the repository at this point in the history
  4. test updates

    dsyme committed Nov 14, 2016
    Configuration menu
    Copy the full SHA
    95452c2 View commit details
    Browse the repository at this point in the history
  5. test updates

    dsyme committed Nov 14, 2016
    Configuration menu
    Copy the full SHA
    8174c85 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4525ee5 View commit details
    Browse the repository at this point in the history
  7. Merge branch 'test-fixes-2' of https://github.com/dsyme/visualfsharp

    …into test-fixes-2
    dsyme committed Nov 14, 2016
    Configuration menu
    Copy the full SHA
    593e151 View commit details
    Browse the repository at this point in the history
  8. fix tests

    dsyme committed Nov 14, 2016
    Configuration menu
    Copy the full SHA
    7eb164d View commit details
    Browse the repository at this point in the history
  9. code cleanup

    dsyme committed Nov 14, 2016
    Configuration menu
    Copy the full SHA
    62fabb1 View commit details
    Browse the repository at this point in the history
  10. code cleanup

    dsyme committed Nov 14, 2016
    Configuration menu
    Copy the full SHA
    82f567e View commit details
    Browse the repository at this point in the history
  11. fix tests

    dsyme committed Nov 14, 2016
    Configuration menu
    Copy the full SHA
    aa0d768 View commit details
    Browse the repository at this point in the history
  12. Add FSharp.sln

    dsyme committed Nov 14, 2016
    Configuration menu
    Copy the full SHA
    5f95b10 View commit details
    Browse the repository at this point in the history
  13. [WIP] test cleanup (#1732)

    * Cleanup 'fsharp' suite
    * remove resx arguments processing and System.Windows.Forms dependency 
    * add FSharp.sln
    * Normalize code in fsc.fs and add comments
    * Normalize, simplify and cleanup lists of FX_NO_XYZ defines
    * Delete all batch files from "fsharp" suite
    * Remove FSHarp.Compiler.Hosted, it was silly
    * Remove testing for portable profiles from "fsharp" suite as it was mostly disabled
    * Reinstate ``isNil`` for ``List.empty``
    * Normalize ``#if`` followed by empty then ``#else``
    * Remove unused defines
    * Remove old stay-resident compiler that was used on Mono years ago
    dsyme committed Nov 14, 2016
    Configuration menu
    Copy the full SHA
    6ce962e View commit details
    Browse the repository at this point in the history
  14. Make Async.AwaitHandle Timeout test more lenient.

    This test is failing regularly on AppVeyor, hopefully this helps.
    kurtschelfthout committed Nov 14, 2016
    Configuration menu
    Copy the full SHA
    091fade View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2016

  1. Merge pull request #1743 from kurtschelfthout/async-awaithandle-timeout

    Make Async.AwaitHandle Timeout test more lenient.
    dsyme committed Nov 15, 2016
    Configuration menu
    Copy the full SHA
    ec9fb95 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2016

  1. Fix 1393 and simplify "fsharp" suite further (#1744)

    * fix 1393 and simplify fsharp test suite
    
    * fix 1393 and simplify fsharp test suite
    
    * play errors only once
    
    * fix tests
    
    * fix tests
    dsyme authored and KevinRansom committed Nov 16, 2016
    Configuration menu
    Copy the full SHA
    bca082a View commit details
    Browse the repository at this point in the history
  2. Fix 99: remove restriction on static linking (#1741)

    * remove restriction on static linking
    
    * add test case
    
    * fix test
    
    * fix test
    
    * check static linking of mscorlib-based into System.Runtime DLLs
    
    * merge master
    
    * fix test
    dsyme authored and KevinRansom committed Nov 16, 2016
    Configuration menu
    Copy the full SHA
    34690eb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b811e37 View commit details
    Browse the repository at this point in the history
  4. Use vssdk from nuget (#1748)

    * Use vssdk from nuget
    
    * forget to commit packages.config
    KevinRansom committed Nov 16, 2016
    Configuration menu
    Copy the full SHA
    032f9c4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1f3a2bc View commit details
    Browse the repository at this point in the history
  6. updates

    dsyme committed Nov 16, 2016
    Configuration menu
    Copy the full SHA
    e37ea23 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2016

  1. updates

    dsyme committed Nov 17, 2016
    Configuration menu
    Copy the full SHA
    558e47e View commit details
    Browse the repository at this point in the history
  2. fix scripts

    dsyme committed Nov 17, 2016
    Configuration menu
    Copy the full SHA
    a7e398b View commit details
    Browse the repository at this point in the history
  3. factor in fsi changes from FCS

    dsyme committed Nov 17, 2016
    Configuration menu
    Copy the full SHA
    d59c1f4 View commit details
    Browse the repository at this point in the history
  4. fix nunit

    dsyme committed Nov 17, 2016
    Configuration menu
    Copy the full SHA
    c03f13e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ab106fc View commit details
    Browse the repository at this point in the history
  6. fix print length on coreclr

    dsyme committed Nov 17, 2016
    Configuration menu
    Copy the full SHA
    e3af0ea View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5e1284e View commit details
    Browse the repository at this point in the history
  8. Minor Build Configuration Improvements (#1760)

    * gitignore 'tests/fsharpqa/testenv/bin/'
    
    * fix paths for posh
    
    * ensure preview2 of dotnet cli is used with global.json
    
    * delete global.json
    cloudRoutine authored and KevinRansom committed Nov 17, 2016
    Configuration menu
    Copy the full SHA
    9bcfe0b View commit details
    Browse the repository at this point in the history
  9. fix tests

    dsyme committed Nov 17, 2016
    Configuration menu
    Copy the full SHA
    6c3db89 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    7ad98ac View commit details
    Browse the repository at this point in the history
  11. add new project file

    dsyme committed Nov 17, 2016
    Configuration menu
    Copy the full SHA
    12eb574 View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2016

  1. Configuration menu
    Copy the full SHA
    551a7a0 View commit details
    Browse the repository at this point in the history
  2. fix test

    dsyme committed Nov 18, 2016
    Configuration menu
    Copy the full SHA
    9379e75 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1750 from dsyme/fsi-4

    Additional testing for CoreCLR and make it easier to play with F# Compiler and Interactive on CoreCLR
    dsyme committed Nov 18, 2016
    Configuration menu
    Copy the full SHA
    f31f26f View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2016

  1. Try to reproduce #1749 (#1786)

    * Try to reproduce #1749
    
    * Check if code is run
    
    * Remove test error
    forki authored and dsyme committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    384451e View commit details
    Browse the repository at this point in the history
  2. fix 1775 (#1793)

    dsyme committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    c1ea283 View commit details
    Browse the repository at this point in the history
  3. Don't append Module for types with arguments. (#1772)

    Don't implicitly append 'Module' to module names if the type with the
    same name as the module has a type argument. In that case the name is
    not ambiguous.
    In addition, the current situation breaks these fairly common use cases
    for libraries that need to interoperate with other .NET languages, as
    with the new compiler some modules will suddenly gain a Module suffix.
    There is no way to turn this off, short of making the module into a
    static class, which is silly.
    kurtschelfthout authored and KevinRansom committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    9367586 View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2016

  1. Configuration menu
    Copy the full SHA
    7cb0929 View commit details
    Browse the repository at this point in the history
  2. Make async test less flakey. (#1794)

    * 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.
    kurtschelfthout authored and KevinRansom committed Nov 22, 2016
    Configuration menu
    Copy the full SHA
    bfd9bc6 View commit details
    Browse the repository at this point in the history
  3. Fix 1749 (#1795)

    * fix 1775
    
    * Fix 1749
    
    * adjustment to fix
    
    * fix test
    dsyme committed Nov 22, 2016
    Configuration menu
    Copy the full SHA
    234ebff View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dd9ac53 View commit details
    Browse the repository at this point in the history
  5. fix paths

    dsyme committed Nov 22, 2016
    Configuration menu
    Copy the full SHA
    2d919b7 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    413bc7a View commit details
    Browse the repository at this point in the history
  7. Improve compiler's type searching logic (#1792)

    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)
    dsyme committed Nov 22, 2016
    Configuration menu
    Copy the full SHA
    a0db991 View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2016

  1. Update DEVGUIDE.md

    dsyme committed Nov 23, 2016
    Configuration menu
    Copy the full SHA
    de77efc View commit details
    Browse the repository at this point in the history
  2. Update DEVGUIDE.md

    dsyme committed Nov 23, 2016
    Configuration menu
    Copy the full SHA
    8d88f89 View commit details
    Browse the repository at this point in the history
  3. Fix 1805,1807 (#1816)

    * Fix 1805,1807
    
    * fix assert in goto-definition
    dsyme committed Nov 23, 2016
    Configuration menu
    Copy the full SHA
    60fd445 View commit details
    Browse the repository at this point in the history
  4. add F5 instructions (#1823)

    brettfo committed Nov 23, 2016
    Configuration menu
    Copy the full SHA
    66c3343 View commit details
    Browse the repository at this point in the history
  5. Fix some underlying causes of long UI blocks in new LS implementation (

    …#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.
    dsyme committed Nov 23, 2016
    Configuration menu
    Copy the full SHA
    820af62 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3fbc133 View commit details
    Browse the repository at this point in the history

Commits on Nov 24, 2016

  1. Fix [<RequireQualifiedAccess>] on a DU shadows types in the same modu…

    …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
    forki authored and dsyme committed Nov 24, 2016
    Configuration menu
    Copy the full SHA
    adff559 View commit details
    Browse the repository at this point in the history
  2. Fixing #1644 (#1818)

    * try to reproduce #1644
    
    * Fix #1644
    forki authored and KevinRansom committed Nov 24, 2016
    Configuration menu
    Copy the full SHA
    41cc6af View commit details
    Browse the repository at this point in the history
  3. Fix colorization speed in large files (#1829)

    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
    dsyme committed Nov 24, 2016
    Configuration menu
    Copy the full SHA
    bfe4086 View commit details
    Browse the repository at this point in the history
  4. fixes for type providers (#1831)

    Fix type providers on VS2017 RC.
    dsyme committed Nov 24, 2016
    Configuration menu
    Copy the full SHA
    74c9869 View commit details
    Browse the repository at this point in the history
  5. CommentUncommentService (#1832)

    vasily-kirichenko authored and dsyme committed Nov 24, 2016
    Configuration menu
    Copy the full SHA
    8e0e0da View commit details
    Browse the repository at this point in the history
  6. Don't suggest types that are not accessible (#1552)

    * Repro case for #1548
    
    * Fixes suggestions in #1548
    forki authored and dsyme committed Nov 24, 2016
    Configuration menu
    Copy the full SHA
    a6e900e View commit details
    Browse the repository at this point in the history

Commits on Nov 25, 2016

  1. Configuration menu
    Copy the full SHA
    2f5851a View commit details
    Browse the repository at this point in the history
  2. Add type info to error - references #1574 (#1834)

    * Add type info to error - references #1574
    
    * Add type info to FS0314
    
    * Add type info to more SignatureConformance errors
    forki authored and dsyme committed Nov 25, 2016
    Configuration menu
    Copy the full SHA
    403fc0c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    beef089 View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2016

  1. Fix GoTo Definition issues (#1836)

    * fix goto defn on operators and other items
    
    * fix gtd
    dsyme committed Nov 26, 2016
    Configuration menu
    Copy the full SHA
    5b105dc View commit details
    Browse the repository at this point in the history
  2. fix assert on negative index

    dsyme authored and dsyme committed Nov 26, 2016
    Configuration menu
    Copy the full SHA
    7752a08 View commit details
    Browse the repository at this point in the history
  3. Update TESTGUIDE.md (#1848)

    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.
    kurtschelfthout authored and dsyme committed Nov 26, 2016
    Configuration menu
    Copy the full SHA
    d03cca8 View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2016

  1. Configuration menu
    Copy the full SHA
    4506180 View commit details
    Browse the repository at this point in the history
  2. Fix for missing IntelliSense after type constraint error (#1568)

    * partially fixes Intellisense after type constraint error
    
    * working with intellisense
    
    * fix tests
    
    * exits on too many errors, remove some of the expected error messages
    liboz authored and dsyme committed Nov 27, 2016
    Configuration menu
    Copy the full SHA
    66a5f53 View commit details
    Browse the repository at this point in the history
  3. Implement FSharpQuickInfoProvider (by @OmarTawfik) (#1849)

    * 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
    vasily-kirichenko authored and dsyme committed Nov 27, 2016
    Configuration menu
    Copy the full SHA
    f67db1f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    22ca784 View commit details
    Browse the repository at this point in the history