1. 29 6月, 2019 1 次提交
  2. 22 5月, 2019 1 次提交
  3. 21 5月, 2019 1 次提交
  4. 13 4月, 2019 1 次提交
    • J
      Attach .editorconfig information to SyntaxTrees and AnalyzerOptions · ee67cd8f
      Jason Malinowski 提交于
      This adds to ProjectState an AsyncLazy to compute the AnalyzerConfigs
      that need to be applied to the documents in the project. Since the
      information needs to be applied to a SyntaxTree itself, the ValueSource
      is given to DocumentStates so that way any syntax tree fetch includes
      this information.
      ee67cd8f
  5. 28 3月, 2019 1 次提交
  6. 11 1月, 2019 1 次提交
  7. 16 5月, 2018 1 次提交
    • A
      Add diagnostic options to SyntaxTree (#25964) · 693be1d2
      Andy Gocke 提交于
      This change allows the user of a Compilation to configure warning
      reporting on a syntax tree level. There is a new public API, 
      DiagnosticOptions, on SyntaxTree which allows a user to retrieve
      these options in a map from diagnostic ID to severity.
      
      In general, these options take precedence over the global diagnostic
      options, but are overridden by pragmas. In C# the global warning
      level can also suppress these options.
      693be1d2
  8. 05 4月, 2018 1 次提交
  9. 31 3月, 2018 2 次提交
  10. 09 12月, 2016 1 次提交
  11. 18 3月, 2015 1 次提交
  12. 10 3月, 2015 1 次提交
  13. 05 3月, 2015 1 次提交
  14. 15 1月, 2015 1 次提交
  15. 14 1月, 2015 1 次提交
  16. 16 11月, 2014 1 次提交
    • C
      Move from cost-based cache to explicit caching · 973bc442
      chandera 提交于
      The current cost-based cache has no domain knowledge of whether items will be needed again or are safe to collect.  It is therefore usually over-sized. This change implements an explicit cache that must be enabled by consumers. The cache will hold trees and compilations as needed and release them when clients are done with them.
      
      Currently, we enable explicit caching of the active document. Rename tracking and the solution crawler also request caching for each project they process. (changeset 1372494)
      973bc442
  17. 07 10月, 2014 1 次提交
    • J
      Make much of the Workspaces layer Portable. · e76a29a4
      jasonmalinowski 提交于
      This change splits the Workspaces layer into two parts, mirroring the Portable/Desktop split that the compilers did. The core parts of the Workspaces layer (managing documents and projects, formatting, some refactoring, code fixes) is kept in the portable subset, with a few non-portable pieces remaining, notably MSBuild support.
      
      This change has a major impact on how MEF now works in Roslyn. Traditional MEF (“MEFv1”) is not portable, and so we must move the Workspaces layer over to using the Microsoft.Composition NuGet package (“MEFv2”) which is. The APIs are distinct in that each has its own namespace, but the concepts are more or less identical. It requires some care though: the workspaces layer is simple in that it only references MEFv2, but higher layers have to reference both versions to use metadata attributes. Exports using metadata attributes from the editor (say, ContentTypeAttribute) must use MEFv1 attributes to export, whereas exports for the workspaces layer must use MEFv2 attributes. The rule is subtle and yet simple, and so a diagnostic is provided which catches any offenses to prevent confusion.
      
      This also has some impact in how we create MEF hosts: if you wish to host just the base workspaces layer, we can use MEFv2 to compose everything. The HostServices implementation (MefV1HostServices) that consumes a MEFv1 ExportProvider. If you’re in Visual Studio, you can use this implementation to get the full set of host services provided in Visual Studio.
      
      Otherwise, most of the changes in here are minor: we react to some APIs that have been moved/renamed in the portable subset we are targeting, and also align our various exception helper utilities with the compiler’s precedent. (changeset 1349276)
      e76a29a4
  18. 23 5月, 2014 1 次提交
    • T
      Stores Encoding on SourceText so that we can always calculate checksum of the... · 97862d24
      TomasMatousek 提交于
      Stores Encoding on SourceText so that we can always calculate checksum of the underlying binary data, even if the SourceText wasn’t created from a Stream.
      
      Adds WithRootAndOptions and WithFilePath methods to SyntaxTree and implements them for all subclasses. I decided to merge WithRoot and WithOptions to a single method WithRootAndOptions since setting one without the other doesn't make much sense (the options should correspond to the root node).
      
      Propagates the Encoding throughout workspaces and services.
      Refactors recoverable syntax trees so that they can implement With* methods.
      
      Allow encoding on SourceText to be unspecified (null) and report an emit diagnostic when attempting to emit debug information for a syntax tree that is backed by encoding-less source text. If user creates a syntax tree from a string they previously read from a file and then try to emit debuggable compilation with such tree the original encoding of the file might not match the default UTF8 (they might different by presence of BOM, which is quite subtle). To avoid confusion we don't set UTF8 encoding by default. Instead we report the diagnostic and the user needs to explicitly provide an encoding to the syntax tree factory method.
      
      Avoid leaking DecoderFallbackException out of EncodedStringText.Create. Throw InvalidDataException instead to reduce the amount of exceptions that the caller needs to deal with.
      
      Also moves HasSameText extension method from Services to SourceText and optimizes the comparison for the case we the SHA1 checksums are available.
       (changeset 1260412)
      97862d24
  19. 10 4月, 2014 1 次提交
    • M
      This change makes public means to access workspace and language services. · 7b62af6b
      mattwar 提交于
      FeaturePacks have changed to become HostServices.
      IWorkspaceServiceProvider has become HostWorkspaceServices
      ILanguageServiceProvider has become HostLanguageServices
      
      HostWorkspaceServices can be accessed directly from Workspace.Services.
      HostLanguageServices can be accessed directly from Project.LanguageServices.
      
      Some of the existing workspace and language services have been made public. (changeset 1226729)
      7b62af6b
  20. 19 3月, 2014 1 次提交