1. 04 10月, 2018 1 次提交
  2. 30 5月, 2018 1 次提交
  3. 11 4月, 2018 1 次提交
  4. 07 3月, 2018 1 次提交
    • H
      Blame (#24043) · a105ce76
      Heejae Chang 提交于
      * enable logAnalyzerExecutionTime on IDE so that we can start track analyzer perf
      
      * removed unnecessary ICodeAnalysisDiagnosticAnalyzerExecutor interface.
      
      it was added when OOP is first introduced to make sure VS.Next dll won't get loaded to VS process if OOP is not enabled.
      
      when it is enabled by default, rather than removing the interface, implementation just moved down to feature layer to reduce code churn.
      
      now, I am properly removing unnecessary abstraction.
      
      * take Executor out of test MEF composition
      
      * added IRemoteDiagnosticAnalyzerService interface
      
      * made initial version working.
      
      * added tests
      
      * add tracking for inproc only analyzers
      
      * pass in diagnostic analyzer service
      
      * added open file performance tracking as well.
      
      * added PII test
      
      * dont hash analyzerId when it is reported by internal user
      
      * added link to LOF wiki
      
      * made blame to track open files as well.
      
      * forgot to add return in if statement
      
      * reduce threshold to 100ms
      
      decide to start from lower threshold and then iterate rather than start from higher threshold
      
      * added a way to log real time perf data in local machine with explicit option which can be used to train formula later
      
      * addressed ivan's feedbacks
      
      * renamed to ExpensiveAnalyzerInfo
      
      * addressed PR feedbacks
      
      * more renames
      
      * addressed PR feedbacks.
      
      renamed as much as I can find.
      
      * listener can be null in unit test
      
      * addressed PR feedbacks
      a105ce76
  5. 19 12月, 2017 1 次提交
  6. 12 12月, 2017 1 次提交
  7. 23 8月, 2017 1 次提交
  8. 29 6月, 2017 2 次提交
  9. 23 5月, 2017 1 次提交
  10. 05 5月, 2017 1 次提交
    • H
      stop exposing Workspace from WorkspaceAnalyzerOptions. · e846ff7a
      Heejae Chang 提交于
      exposing workspace directly cause people to depends on data/service analyzer is not supposed to depend on, also, it sometime access mutable data instead of snapshot of it which analyzer is not supposed to use.
      
      this cut the connection, and expose specific info analyzer is allowed to use in IDE case.
      e846ff7a
  11. 08 2月, 2017 1 次提交
  12. 10 12月, 2016 2 次提交
  13. 21 11月, 2016 1 次提交
  14. 06 11月, 2016 1 次提交
  15. 24 9月, 2016 1 次提交
  16. 14 9月, 2016 1 次提交
  17. 10 9月, 2016 1 次提交
    • H
      added OpenFileOnly in IBuiltInAnalyzer and removed RunInProcess · 0999ff02
      Heejae Chang 提交于
      now, all builtin analyzer that is not set to only run on open files will run in OOP.
      
      any builtin analyzer that can't run in OOP should mark it as open file only.
      
      for analyzers that return only hidden severity but return different severity on runtime should use the new API to control whether it want it to run full solution or not. if set to run on full solution, it will run in OOP.
      0999ff02
  18. 05 8月, 2016 1 次提交
  19. 30 7月, 2016 1 次提交
    • H
      porting OOP to preview 4 branch · c141605a
      Heejae Chang 提交于
      changes include
      make SourceText::GetChecksum and AnalyzerTelemetry contructor public.
      
      added MustRunInProc in IBuiltInAnalyzer and some clean up around serializing Solution/Project/DocumentId and how DocumentState is exposed.
      
      simplified temporary storage service's temporary storage management and added ability to attach to existing temporary storage
      
      solution checksum and serialization service.
      
      added remote host client
      - this gives an ability for host (vs) to talk to remote host (service hub)
      
      rename and moving files between feature/workspace layers
      - only real change is having ICompilerDiagnosticAnalyzer interface which can either have inproc implementation or out of proc implementation.
      - inproc is needed since diagnostics are in feature layer and one who uses feature layer out side of VS host need an implementation.
      
      added RemoteWorkspace
      - RemoteWorkspace has host agnostic implementation of roslyn features/services/workspace that will run in remote host
      
      added service hub component and setup project for service hub
      - service hub component is basically thin layer that deals with converting data to pass in to RemoteWorkspace
      
      made devdiv insertion tool to ignore servicehub related files
      
      support byte and char array natively in ObjectReader/Writer
      c141605a
  20. 28 7月, 2016 1 次提交
  21. 27 7月, 2016 1 次提交
    • H
      rename and moving files between feature/workspace layers · 008c705d
      Heejae Chang 提交于
      only real change is having ICompilerDiagnosticAnalyzer interface which can either have inproc implementation or out of proc implementation.
      
      inproc is needed since diagnostics are in feature layer and one who uses feature layer out side of VS host need an implementation.
      008c705d
  22. 20 7月, 2016 1 次提交
  23. 27 2月, 2016 1 次提交
  24. 13 1月, 2016 2 次提交
  25. 11 11月, 2015 3 次提交
  26. 19 10月, 2015 1 次提交
    • M
      This change increases the severity of analyzer exception diagnostic (AD0001),... · b9751e96
      Manish Vasani 提交于
      This change increases the severity of analyzer exception diagnostic (AD0001), generated when an analyzer throws an exception, from info to a warning. Additionally, its descriptor is now reported as a supported diagnostic descriptor of the compiler analyzer, which ensures that it shows up in the ruleset editor.
      
      Fixes #3707
      b9751e96
  27. 16 10月, 2015 1 次提交
  28. 26 8月, 2015 1 次提交
  29. 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
  30. 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
  31. 24 6月, 2015 1 次提交
    • M
      Add DiagnosticDescriptor.GetEffectiveSeverity(CompilationOptions) API to get... · 05a7e645
      Manish Vasani 提交于
      Add DiagnosticDescriptor.GetEffectiveSeverity(CompilationOptions) API to get the effective severity of diagnostics created based on the descriptor for the given compilation options.
      
      This change also removes the clone of this functionality in the IDE layer used by the solution explorer rule severity display and error list/diagnostic service. It now uses this public API.
      
      Fixes #2598
      05a7e645
  32. 27 5月, 2015 1 次提交
  33. 16 5月, 2015 1 次提交
    • M
      Add a new command line compiler switch "/reportanalyzer" to report analyzer... · 3de55924
      Manish Vasani 提交于
      Add a new command line compiler switch "/reportanalyzer" to report analyzer execution times. Output is grouped by analyzer assemblies and is displayed in descending order of execution times.
      
      NOTE: We do not display the total build time or the ratios between build time and analyzer execution time as the the actual wall clock time for analyzer execution is likely lesser due to multithreaded analyzer execution.
      3de55924
  34. 14 5月, 2015 1 次提交
  35. 12 5月, 2015 1 次提交