1. 20 2月, 2020 3 次提交
  2. 19 2月, 2020 2 次提交
  3. 14 2月, 2020 1 次提交
    • A
      Improve SubstitutedMethodSymbol.GetHashCode (#41674) · 82a17a58
      Andy Gocke 提交于
      The changes made in https://github.com/dotnet/roslyn/pull/41123 fix the
      GetHashCode for SubstitutedMethodSymbol for more nullability scenarios,
      but end up hashing all generic methods with a non-generic containing
      type into the same bucket. This can cause large performance regressions
      for the compiler.
      
      This change ensures that substituted symbols which have substitutions
      equivalent to their original methods' type parameter continue to be
      equal, but substituted methods with different type substitutions are not
      considered equal.
      82a17a58
  4. 13 2月, 2020 3 次提交
  5. 11 2月, 2020 1 次提交
  6. 10 2月, 2020 1 次提交
  7. 08 2月, 2020 1 次提交
  8. 07 2月, 2020 2 次提交
  9. 06 2月, 2020 1 次提交
  10. 05 2月, 2020 3 次提交
    • M
      Merge pull request #41417 from agocke/update-arcade · c3471194
      msftbot[bot] 提交于
      Update arcade to support SDK publishing
      c3471194
    • A
    • J
      Delete the lazy caching of GetLatestProjectVersion() · 252064f8
      Jason Malinowski 提交于
      Solution.GetLatestProjectVersion() returns the highest project version
      of any of the Projects in the Solution. This is lazily computed, but
      the lazy computation has a fatal flaw. It's implemented with a
      Lazy<VersionStamp>, and if a Solution is changed and no project was
      changed (say, you only modified a document's text), the existing
      Lazy<VersionStamp> is reused. This causes us to root an older
      SolutionState or ProjectState until somebody were to call
      GetLatestProjectVersion() and cause the Lazy<VersionStamp> to be
      evaluated.
      
      Except...that would never happen. It turns out that nothing calls
      GetLatestProjectVersion() in Visual Studio anywhere that I can find.
      The only call is in one unit test that calls it and then ignores the
      result. Thus, we'd simply leak the SolutionState/ProjectState until
      some code ran that knew it could explicitly state the value instead of
      reuse the existing Lazy<VersionStamp>.
      
      Looking through history, it appears that this used to be used more
      regularly as a part of an older implementation of the
      ProjectDependencyGraph, but that was removed in
      abd7654e.
      
      Since nobody calls this, and the actual computation (just looping
      through all projects to find the newest stamp) is fairly trivial, I'm
      just going to delete all the lazy handling and just inline the
      computation. In the unlikely case that this ever becomes a hot path,
      we can revisit the laziness at that time.
      252064f8
  11. 04 2月, 2020 12 次提交
  12. 03 2月, 2020 2 次提交
  13. 01 2月, 2020 8 次提交