1. 30 5月, 2015 9 次提交
    • D
      Merge pull request #3181 from DustinCampbell/fix-codetypefromfullname · 955d564b
      Dustin Campbell 提交于
      Make CodeModel.CodeTypeFromFullName rational when returning types that appear in generated code files
      955d564b
    • D
      Merge pull request #3158 from DustinCampbell/fix-3147 · 8ca01a50
      Dustin Campbell 提交于
      Ensure that FormattableString is preferred by Introduce Explaining Variable and Extract Method
      8ca01a50
    • M
      Merge pull request #3105 from mavasani/DuplicateAnalyzerCallbacks · 0154c371
      Manish Vasani 提交于
      Prevent duplicate invocations of per-compilation analyzer actions for a given symbol/syntax node in IDE.
      
      User scenario: An analyzer author writes a compilation end analyzer, which registers symbol and/or syntax node actions to maintain some state about them, and a compilation end action to report diagnostics based on the final sate. When running in the IDE, the analyzer will get duplicate callbacks to the symbol/syntax node actions for the same symbol/node in the compilation: once while computing active document diagnostics and once while computing project diagnostics. This can cause one of the following issues:
      
        1. Crash the analyzer if it is using some map keyed on the callback symbol/node, and doesn't handle duplicate callbacks.
        2. Corrupt the analyzer state by recording the state twice for a single symbol/node.
        3. Possibly cause the analyzer to enter a race or deadlock.
      
      Fix Description: Fix is to ensure that when computing the compilation end diagnostics for such stateful analyzers, we use a new instance of the analyzer. All the compilation wide actions are then invoked on this new instance of the analyzer, avoiding duplicate callbacks into the same instance.
      
      Fixes #248 
      
      Testing: Added a regression test + existing tests.
      
      Approved 5/29 by ML Shiproom.
      0154c371
    • K
      Merge pull request #3134 from KevinH-MS/stabilization · e30ebe5b
      Kevin Halverson 提交于
      Improve performance of IVsLanguageDebugInfo.GetNameOfLocation...
      e30ebe5b
    • K
      Improve performance of IVsLanguageDebugInfo.GetNameOfLocation... · 7a469d30
      Kevin Halverson 提交于
      Previously, we would fetch a SemanticModel and build containing Symbols
      for each breakpoint location.  This could be very expensive in a large
      solution.  However, for the purposes of providing parity with the old
      implementation, it is adequate to just inspect Syntax.
      
      (fixes #1977)
      7a469d30
    • M
      Merge pull request #3173 from mavasani/error_localization · af8a59e6
      Manish Vasani 提交于
      Do not localize diagnostic severity in the diagnostic formatter
      
      Fixes internal bug 1093063: 'csc2.exe'/ 'vbc2.exe' will ICE (exit with Code 1) when trying to report errors on localized installs
      
      User scenario: Create a default VB/C# project on a localized OS, introduce some errors/warnings and build the project from the command line through msbuild.
      Expected: Compiler diagnostics show up in the build output.
      Actual: No diagnostics are displayed, and msbuild exits with code 1.
      
      Fix Description: MSBuild tasks have a specific parsing logic to look for non-localized diagnostic severity strings such as "error" and "warning" in the compiler output to detect errors and warnings. Our diagnostic formatter was localizing these severity strings, causing the msbuild parsing to fail on localized OS. Fix is to match the Dev12 compiler behavior by not localizing the severity strings.
      
      Testing: Added regression tests + existing tests
      af8a59e6
    • M
      Do not localize diagnostic severity in the diagnostic formatter. · dab32bf4
      Manish Vasani 提交于
      Fixes internal bug 1093063: 'csc2.exe'/ 'vbc2.exe' will ICE (exit with Code 1) when trying to report errors on localized installs
      
      User scenario: Create a default VB/C# project on a localized OS, introduce some errors/warnings and build the project from the command line through msbuild.
      Expected: Compiler diagnostics show up in the build output.
      Actual: No diagnostics are displayed, and msbuild exits with code 1.
      
      Fix: MSBuild tasks have a specific parsing logic to look for non-localized diagnostic severity strings such as "error" and "warning" in the compiler output to detect errors and warnings. Our diagnostic formatter was localizing these severity strings, causing the msbuild parsing to fail on localized OS. Fix is to match the Dev12 compiler behavior by not localizing the severity strings.
      
      Testing: Added regression tests + existing tests.
      dab32bf4
    • A
      Merge pull request #3154 from AlekseyTs/Bug1173179 · 69949f67
      AlekseyTs 提交于
      Emit DebuggerStepThroughAttribute on async kick off method in order to improve stepping behavior during debugging.
      69949f67
    • D
      Make CodeModel.CodeTypeFromFullName somewhat rational when processing generated code · 9a71fad6
      Dustin Campbell 提交于
      CodeModel.CodeTypeFromFullName should prefer locations within source
      files that are not generated (using the same heuristic we use within the
      Generate Type dialog to determine whether a source file is "generated").
      However, if the locations are *all* within generated sources, just
      return the first one.
      
      Scenario: this addresses a scenario where CodeModel.CodeTypeFromFullName
      is used to determine the right place to modify user code. In the case of
      XAML apps, there are several generated files that shouldn't be modified
      (i.e. .g.i.cs .g.cs, etc.). Previously, CodeTypeFromFullName might
      return one of these files as a location, breaking whatever feature was
      trying to modify the user's code.
      
      Unit tests have been added for this scenario in C# and VB that test a
      handful of permutations of generated and non-generated code with partial
      classes. Additionally, the Code Model unit testing infrastructure has
      been updated to support TestWorkspaces with multiple documents.
      9a71fad6
  2. 29 5月, 2015 19 次提交
  3. 28 5月, 2015 12 次提交