1. 30 5月, 2015 1 次提交
    • 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. 28 5月, 2015 16 次提交
  3. 27 5月, 2015 13 次提交
    • A
      Make scanner resilient to binary files as input. · 09c53737
      AlekseyTs 提交于
      Fixes #2867.
      09c53737
    • J
      Jenkins cross platform updates · dffcfbbb
      jaredpar 提交于
      This changes our cross plat build to install the desired version of Mono
      on the machine as a part of the CI process.  This lowers the management
      overhead of our Mac / Linux machines as we can use any machine in the pool
      vs. having reserved, and custom maintained, machines for Roslyn.
      dffcfbbb
    • M
      User scenario: IDE built-in analyzer UnboundIdentifiersDiagnosticAnalyzer... · 89db5476
      Manish Vasani 提交于
      User scenario: IDE built-in analyzer UnboundIdentifiersDiagnosticAnalyzer throws a null reference exception and gets disabled with an exception diagnostic in the error list.
      
      Fix description: Add a missing null check when computing arguments for object creation expression.
      
      Fixes #3027
      
      Testing done: Existing tests
      89db5476
    • H
      changed error list to use SystemBrowser API from VS. · 940ce3cf
      Heejae Chang 提交于
      this will let us use Edge browser in windows 10
      940ce3cf
    • H
      Merge pull request #3045 from heejaechang/vsixfix2 · 83c9c9bd
      Heejae Chang 提交于
      changed sign method from vsix to vsixSHA2
      83c9c9bd
    • M
    • T
      Merge pull request #3047 from tmeschter/Fix3020 · 707645ff
      Tom Meschter 提交于
      Prevent spurious warnings about missing dependencies.
      
      **Bug:** Fixes #3020.
      
      **Customer Scenario**
      1. User adds any analyzer assembly that includes a code fix to their project (e.g.,  Microsoft.CodeAnalysis.FxCopAnalyzers.dll or Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers.dll).
      2. Users saves their project and restarts VS.
      3. User reopens the same project.
      4. User gets spurious warnings about 'System.Composition.AttributedModel' not being found and analyzers possibly not working. Closing and reopening the project sometimes helps, but more often than not the warnings show up.
      
      **Fix Description**
      The fix updates the `AnalyzerDependencyChecker` to allow whitelisting arbitrary sets of assemblies, not just those already loaded. This is used to then whitelist all assemblies with a name starting with "System" on the assumption that even if they are not already loaded they will in fact be found if needed. If an analyzer reference appears on any whitelist we won't report it as missing, even if we don't know where it is.
      
      **Testing**
      I tested the customer scenario listed above, and also tested that missing assemblies that *don't* start with 'System' as still reported.
      707645ff
    • A
      Merge pull request #3037 from AlekseyTs/Issue2903 · 8ea2a5ed
      AlekseyTs 提交于
      Respect ParamArray attribute in source on a delegate parameter.
      8ea2a5ed
    • K
      Merge pull request #3052 from KevinH-MS/stabilization · a143c903
      Kevin Halverson 提交于
      Fix DataTips in Web apps...
      
      (fixes #2916)
      a143c903
    • K
      Fix DataTips in Web apps... · e77b1373
      Kevin Halverson 提交于
      We were previously attempting to match spans in the subject buffer with "Length == 1".  This was incorrect, because the input span is always expected to be zero length in GetDataTipText.  I've fixed the check and added an Assert to this effect.
      e77b1373
    • N
      Merge pull request #3048 from gafter/sandstone-stabilization · 1d6bac73
      Neal Gafter 提交于
      Remove an unused test resource.
      1d6bac73
    • V
      Fixing invalid cast when autoproperty is initialized in another initializer. · a732bbeb
      VSadov 提交于
      Watson crash 1175559
      a732bbeb
    • T
      Merge pull request #3029 from tmeschter/Fix2707 · d2308b2f
      Tom Meschter 提交于
      Reload analyzers with loading errors.
      
      **Bug:** Fixes #2707.
      
      **Customer Scenario**
      User adds an analyzer to their project in VS without first adding all of the dependencies. E.g., they add Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers without first adding Microsoft.CodeAnalysis.FxCopAnalyzers.
      
      The Error List will show various warnings about missing analyzer assemblies and being unable to load diagnostic analyzers from Microsoft.CodeAnalysis.CSharp.FxCopAnalyzers. This is correct and expected.
      
      The user then adds the missing analyzer assembly, expecting the warnings to go away and the diagnostics to start working. Instead, the warnings remain, and the diagnostics still do not work.
      
      **Fix**
      The issue is that an `AnalyzerFileReference` only looks for
      `DiagnosticAnalyzers` once, and caches the results. So even though we
      add the missing dependency and *could* load the types, we don't actually
      try.
      
      The fix is in the logic to add a new analyzer assembly in VS. In
      addition to pushing a new `AnalyzerFileReference` down to the workspace,
      we examine the list of existing analyzers. For each one with load
      errors we remove the existing `AnalyzerFileReference` and add a new one.
      
      **Testing**
      I ran through the Customer Scenario described above.
      d2308b2f
  4. 26 5月, 2015 2 次提交
  5. 24 5月, 2015 3 次提交
    • J
      Merge pull request #3044 from jmarolf/FxCopStable · c452b514
      Jonathon Marolf 提交于
      renaming the fxcop binaries and making them portable.
      c452b514
    • D
      Merge pull request #3057 from dpoeschl/FixNavigationBarCrashPort · 25f9ecef
      David Poeschl 提交于
      Stabilization Port -- NavBar: Guard against symbol navigation on non-symbol items
      25f9ecef
    • D
      NavBar: Guard against symbol navigation on non-symbol items · 1303ece0
      David Poeschl 提交于
      Fixes internal TFS bug #1174848
      
      When a Navigation Bar item is chosen, like the NavigationBarSymbolItem
      representing a particular member, we present the set of chosen items
      (for project, type, and member) as base NavigationBarItems with the text
      display properties & tracking spans *copied* out of the real
      NavigationBarSymbolItem to remove any display indentation and to make
      sure the Navigation Bar does not hold on to old symbols, etc.
      When the Navigation Bar is expanded, we present real
      NavigationBarSymbolItems again and when they are chosen we perform the
      appropriate symbolic navigation.
      
      However, there is a moment after an item is chosen where we have
      replaced the real NavigationBarSymbolItem with its NavigationBarItem
      copy, but the Navigation Bar is still allowing clicks to the item to
      count as navigation (rather than expansion of the collapsed list). When
      this happens, we see NavigateToItem called on a base NavigationBarItem
      and crash because we believe it will be a NavigationBarSymbolItem.
      
      The base NavigationBarItem was being used for multiple purposes, so this
      change makes it abstract and introduces NavigationBarPresentedItem for the
      purposes described above and NavigationBarActionlessItem which can be used
      for items that legitimately produce no action when selected (used in some
      VB event scenarios). The NavigationBarController now rejects any attempts
      to select a NavigationBarPresentedItem so that the
      INavigationBarItemService implementers will not have to deal with them.
      
      VB was already avoiding this problem by typechecking the
      NavigationBarItem, and this change also applies the same type check to
      C#.
      1303ece0
  6. 23 5月, 2015 5 次提交
    • J
      Normalize references to Microsoft.VisualStudio.Composition · 2d237afe
      Jason Malinowski 提交于
      We had one bad reference HintPath that caused resolution issues inside
      Visual Studio. While we're here, make sure they're all the same.
      2d237afe
    • T
      Merge pull request #3053 from tannergooding/stabilization · aaab3130
      Tanner Gooding 提交于
      Revert "Make MetadataReference.CreateFromAssembly obsolete"
      aaab3130
    • T
      Revert "Make MetadataReference.CreateFromAssembly obsolete" · 88214ea6
      Tanner Gooding 提交于
      This reverts commit e16d38bc.
      88214ea6
    • J
      Merge pull request #3022 from jaredpar/fix-2866 · 58ed8f6c
      Jared Parsons 提交于
      Fix connection issues in server
      58ed8f6c
    • J
      Fix connection issues in server · 89818226
      Jared Parsons 提交于
      This addresses the following issues:
      
      - GitHub #2866: Asserts in the check connection loop.
      - DevDiv 1175084: Crashes when server is unable to complete the connection to the named pipe.
      
      These issues are being addressed together because they stem from the same
      underlying problem.  The code is not fulfilling two of the main invariants
      of connection processing in the server:
      
      - The `Task` representing a client connection should never throw an exception.
      Failed connections are instead represented by the data returned from the `Task`.
      - A connection should always provide a new timeout value before completing the
      compilation process.
      
      The `Connection` type is responsible for the majority of the processing here
      and is careful to maintain these invariants.  The `ServerDispatcher` type though
      didn't fully account for exceptions.  This meant that errors actually completing
      the `NamedPipeClientStream` connection ended up violating both of the core
      invariants.
      
      The solution here is two fold:
      
      1. Properly handle the exceptional cases that can come from completing the named
      pipe connection.
      2. Use a single `Task` to represent a client connection instead of a separate one
      for the compilation and keep alive.
      
      close #2866
      89818226