1. 25 1月, 2020 1 次提交
    • A
      Synthesize record properties and ctor (#41011) · e85be97b
      Andy Gocke 提交于
      The synthesized constructor assigns the properties, if they are
      synthesized properties. The properties are synthesized only if no
      conflicting member already exists in the class.
      e85be97b
  2. 18 1月, 2020 1 次提交
  3. 17 1月, 2020 1 次提交
  4. 11 1月, 2020 1 次提交
  5. 07 1月, 2020 1 次提交
  6. 06 1月, 2020 1 次提交
    • A
      Implement parsing for records (#40467) · 8769e0b5
      Andy Gocke 提交于
      As agreed in LDM, the specification requires that a data contextual
      keyword be present in front of the class and a parameter list to be
      present after the identifier, for the type to be a record.
      
      The absence of either of these two elements will be a semantic error,
      not a parsing error.
      8769e0b5
  7. 24 12月, 2019 1 次提交
  8. 22 12月, 2019 1 次提交
  9. 14 12月, 2019 2 次提交
  10. 13 12月, 2019 1 次提交
  11. 10 12月, 2019 1 次提交
  12. 22 11月, 2019 1 次提交
  13. 21 11月, 2019 1 次提交
  14. 13 11月, 2019 1 次提交
    • J
      Implement lambda discard parameters (#38786) · 4dea4416
      Julien Couvreur 提交于
      * Implement lambda discard parameters
      
      * Remove duplicate tests
      
      * Factor logic to recognize underscore tokens
      
      * Align symbol display with other discards
      
      * Distinguish discards in QuickInfo
      
      * Add IsDiscard property instead of IDiscardSymbol
      
      * Adjust IDE logic to use IsDiscard
      
      * Avoid large tuple return
      
      * Add test for ref/out discard parameters
      
      * Address PR feedback and test plan ideas
      
      * Allow in expression trees
      
      * Support general discard parameters
      
      * Add IDE tests
      
      * Emit with unspeakable name
      
      * Remove unused error code
      
      * Only support lambdas
      
      * Fix tests
      
      * Address some PR feedback
      
      * Address remaining feedback
      
      * Address more feedback
      
      * Fix conflict
      
      * Update PublicAPI.Unshipped.txt
      
      * Update PublicAPI.Unshipped.txt
      
      * Add ChangeSignature tests
      
      * Add SymbolCompletion tests
      
      * Add InlineRename test
      
      * Typo
      4dea4416
  15. 09 11月, 2019 1 次提交
  16. 01 11月, 2019 1 次提交
  17. 19 10月, 2019 1 次提交
    • C
      Minor using decl fixes (#39373) · 6550f516
      Chris Sienkiewicz 提交于
      * async -> asynchronous
      * Fix up error messages for await using declarations in langver < 8.0
      * Use CSharpTestBase.IAsyncDisposableDefinition for interfaces
      6550f516
  18. 21 9月, 2019 1 次提交
  19. 18 9月, 2019 2 次提交
  20. 14 9月, 2019 1 次提交
  21. 01 9月, 2019 1 次提交
  22. 31 8月, 2019 1 次提交
  23. 30 8月, 2019 1 次提交
  24. 29 8月, 2019 1 次提交
  25. 25 8月, 2019 1 次提交
  26. 22 8月, 2019 1 次提交
  27. 15 8月, 2019 2 次提交
    • N
      Reduce memory consumption for string concatenation from O(n^2) to O(n) (#37915) · 99cc3811
      Neal Gafter 提交于
      Fixes #7398
      Fixes #37572
      Relates to https://github.com/aspnet/Razor/issues/614 and many other customer accommodations that are no longer needed.
      
      History of this bug:  When constant folding a long sequence of string concatenations, there is an intermediate constant value for every left-hand operand.  So the total memory consumed to compute the whole concatenation was *O(n^2)*.  The compiler would simply perform this work and eventually run out of memory, simply crashing with no useful diagnostic.  Later, the concatenation implementation was instrumented so it would detect when it was likely to run out of memory soon, and would instead report a diagnostic at the last step. See https://github.com/dotnet/roslyn/commit/f177077665a5bef862014f1898b961d1759c9248.  Test `Bug529600()` was added to demonstrate that we produced a diagnostic.  However, the compiler still consumed *O(n^2)* memory for the concatenation and this test used to consume so much memory that it would cause other tests running in parallel to fail because they might not have enough memory to succeed.  So the test was disabled and eventually removed.  The compiler would still crash with programs containing large string concatenations, or consume huge amounts of memory and take a long time before reporting a diagnostic, so the underlying problem had not been addressed.
      
      Here we have revised the implementation of constant folding string concatenations so that it requires *O(n)* memory and remove the old instrumentation.  As a consequence the test `Bug529600()` now runs very quickly and does not consume gobs of memory.
      99cc3811
    • R
  28. 21 7月, 2019 1 次提交
  29. 18 7月, 2019 1 次提交
  30. 16 7月, 2019 1 次提交
    • N
      Target-typed switch expression (#37052) · fbdb480b
      Neal Gafter 提交于
      Implements https://github.com/dotnet/csharplang/issues/2389
      Fixes #35958
      
      Note that the switch expression conversion is not a standard implicit conversion.  Specifically, it should not be considered as a valid implicit conversion as input to a user-defined conversion, as that could permit two chained user-defined conversions.
      
      Also changes binding of switch expression to ECMA so it can interact properly with switch expressions.
      Fixes #14965
      fbdb480b
  31. 15 7月, 2019 1 次提交
  32. 12 7月, 2019 1 次提交
  33. 03 7月, 2019 1 次提交
  34. 28 6月, 2019 1 次提交
  35. 25 6月, 2019 1 次提交
  36. 24 6月, 2019 1 次提交
  37. 21 6月, 2019 1 次提交