1. 28 10月, 2016 1 次提交
  2. 15 8月, 2016 1 次提交
  3. 21 7月, 2016 1 次提交
  4. 20 4月, 2016 1 次提交
  5. 16 4月, 2016 1 次提交
  6. 09 3月, 2016 2 次提交
  7. 03 3月, 2016 1 次提交
  8. 10 2月, 2016 1 次提交
  9. 06 2月, 2016 1 次提交
  10. 15 1月, 2016 1 次提交
  11. 09 12月, 2015 1 次提交
    • M
      Gracefully handle analyzer diagnostics with location outside the current compilation · 9648c00c
      Manish Vasani 提交于
      Code cracker recently added an analyzer that accidentally reports diagnostics with a location in a syntax tree outside of the current compilation. We were not handling this case gracefully and causing VS to crash. Code cracker fixed their analyzer and released an updated package. This change guards against such cases by ignoring such diagnostics and reporting an analyzer exception diagnostic about invalid diagnostic.
      
      Fixes #7173
      9648c00c
  12. 19 8月, 2015 1 次提交
  13. 07 8月, 2015 1 次提交
    • M
      Report diagnostics for exceptions within the analyzer driver. · ff66368e
      Manish Vasani 提交于
      We execute the analyzer driver's initialization and core analysis tasks on a background thread. Any exceptions from the driver itself (not the analyzer callbacks, we already report diagnostics for those) were getting swallowed and analyzer execution also skipped silently. See #2980 (comment) for an example.
      
      We now report an exception diagnostic for analyzer driver crash (with the complete exception trace), so that the user knows what happened and we can diagnose the bug when the issue is reported.
      
      Fixes #3005
      ff66368e
  14. 05 8月, 2015 1 次提交
    • M
      Implementation for Analyzer driver v2 for IDE analyzer host. · 3298740f
      Manish Vasani 提交于
      Changes include:
      
      1. Enhance CompilationWithAnalyzers to allow computing analyzer diagnostics for a specific tree/span within a compilation and/or for a subset of analyzers. Implementation ensures no duplicate analysis by tracking partial analysis state and caching the reported analyzer diagnostics.
      
      2. Overview of the new APIs added to CompilationWithAnalyzers:
          1. GetAnalyzerSyntaxDiagnostics(tree, analyzers, ct)
              1. Analogous to SyntaxTree.GetDiagnostics(ct)
              2. Gets analyzer diagnostics reported by executing syntax tree actions on the given tree.
          2. GetAnalyzerSemanticDiagnostics(semanticModel, spanOpt, analyzers, ct)
              1. Analogous to SemanticModel.GetDiagnostics(spanOpt, ct)
              2. Gets analyzer diagnostics reported by executing rest of the non-compilation actions on the given tree span.
          3. GetAnalyzerCompilationDiagnostics(analyzers, ct)
              1. Gets rest of the analyzer diagnostics which are reported by either of the following means:
                  1. Compilation actions (and compilation end actions)
                  2. Non-compilation actions reporting diagnostics on different tree: Executing a symbol action on a symbol definition in a tree, can report diagnostic on its partial definition in some other tree.
      
      3. Simplify IDE analyzer driver by switching it to using the new CompilationWithAnalyzers APIs for analyzer diagnostic computation. Both the IDE and compiler drivers now use the compilation event queue model for driving analysis.
      3298740f
  15. 17 3月, 2015 1 次提交
    • M
      Fixes #252 : If an analyzer reports a diagnostic with an unsupported... · ec859c16
      mavasani 提交于
      Fixes #252 : If an analyzer reports a diagnostic with an unsupported diagnostic ID, i.e. no descriptor returned by SupportedDiagnostics has that ID, then throw an ArgumentException in ReportDiagnostic method. This exception would be turned into an analyzer diagnostic by the driver and reported back to the analyzer host.
      Also fix a few tests that were reporting diagnostics with unsupported ID!
      ec859c16
  16. 10 2月, 2015 1 次提交
    • H
      move v1 engine to its own namespace · b1e6db48
      Heejae Chang 提交于
      moved v1 engine to its own namespace and updated sources accordingly.
      
      also added BaseDiagnosticIncrementalAnalyzer which contains all methods that engine needs to implement to make all other services which consume IDiagnosticAnalyzerService to just work.
      
      probably later we will change it but for now, this should let us test v2 engine isolated without too much changes in other part of code base
      b1e6db48
  17. 25 1月, 2015 1 次提交
    • J
      Change the file encoding of many files back to UTF-8. · cfdd6068
      jaredpar 提交于
      These were accidentally changed to UTF-16LE during a recent scripted change.  This went unnoticed because the encoding change didn't register in CodeFlow (indeed if you view a shelve of this change in CodeFlow it will report no changes).  UTF-16 does not work well with Git as it is often interpreted as a binary file.  Moving back to UTF-8 so our GitHub experience works well for customers.
      
      closes #66 (changeset 1403787)
      cfdd6068
  18. 24 1月, 2015 1 次提交
    • B
      First step in moving the compiler code base to the .Net Foundation coding style. · 16512b64
      beep boop 提交于
      Background:
      
      As discussed in the dev team all hands all code under the GitHub dotnet foundation is using a single process for contribution, API review, infrastructure and coding style. The idea is to present a unified view to our customer and give them a single story for contributing to any project under the dotnet foundation.
      
      https://github.com/dotnet/corefx/wiki/Contributing#c-coding-style
      
      The coding style transition is automated using a Roslyn based rewrite tool:
      
      https://github.com/dotnet/codeformatter
      
      This will be applied in stages across our developer tree. Right now the focus is on the Open directory as this is what is being presented on github. Code owners will be contacted before the transition happens.
      
      Note: this is a soft style requirement. There are no build errors that come from this change.
       (changeset 1403394)
      16512b64
  19. 15 1月, 2015 1 次提交
  20. 14 1月, 2015 1 次提交
  21. 07 1月, 2015 2 次提交
    • S
      Make parts of analyzer driver internal. · 97b9a4d3
      srivatsn 提交于
      The renamed files from my previous somehow didn't have the edits but just had the rename checked in. Checking in the edits as well. (changeset 1390443)
      97b9a4d3
    • S
      Make parts of AnalyzerDriver internal by creating shared projects · 644f378d
      srivatsn 提交于
      The IDE uses four public APIs from the compiler layer for doing running analyzers in the IDE:
      
      1. A bunch of static methods on AnalyzerDriver called Execute*Actions which take a type called AnalyzerActions which should be an implementation detail. So first change is to create a shared project called AnalyzerDriver that is referenced by CodeAnalysis and Features layers. I've split out these statics into a type called AnalyzerDriverHelper and made that internal. One challenge in doing this is that these methods create instances of Contexts and currently their constructors are internal. I've added constructors where possible and for some contexts that were taking Scopes, I've changed them to be abstract base classes and eliminated the scopes altogether. As part of pulling these methods, I needed some collections like ArrayBuilder, PooledDictionary etc and created another shared project called SharedCollections and put them there.
      
      2. SemanticModel.GetDeclarationsInSpan - this is used by the IDE to calculate the declarations on which to run analyzers. This has also been pulled into the shared project and the API on semantic model made internal. We need a mechanism for branching into C#\VB implementations on both sides. Hence, the compiler API on semanticmodel still exists and is internal. On the features side, I have a language service, that branches into C#\VB and the implementation simply calls into the shared code.
      
      3,4. AnalyzerDriver.GetEffectiveDiagnsotics and AnalyzerDriver.IsAnalyzerSuppressed() are two APIs about filtering that the IDE uses. There are legitimate scenarios for both of them being public APIs even if we make the IDE simply ask the compiler to run its analyzers. For eg: the IDE will need to run Document analyzers and the compiler can never run them. It needs to filter the results after that. Filtering requires pragma state and suppressmessage etc which are compiler'y things. The plan here is to move these APIs to a type called CompilationWithAnalyzers that John is creating to replace the AnalyzerDriver.GetAnalyzerdiagnostics() method. Once that happens, we can make AnalyzerDriver fully internal. This change doesn't touch those methods.
      
      The shared code needed to access some resources. So I've created a type called AnalyzerDriverResources in both the Codeanalysis and features projects and they redirect to the appropriate resources.
       (changeset 1390439)
      644f378d
  22. 04 12月, 2014 1 次提交