1. 15 10月, 2014 2 次提交
    • D
      Bugfix 1040669 - Re-enable OptionPagesDTE · e0083e5c
      dpoeschl 提交于
      Fixes a couple options that were not being serialized to the registry and adds several OptionProviders to enumerate options in portable projects that are no longer exported, allowing us to properly reset all options to their default values during integration tests. (changeset 1353921)
      e0083e5c
    • S
      Currently, we have a many to many mapping between diagnostics reported in a... · b0a4fc5c
      shyamn 提交于
      Currently, we have a many to many mapping between diagnostics reported in a given span and code fixes available for these diagnostics. For example, it is legal for a code fix provider to return two fixes to handle three diagnostics in a given span and we currently have no way to map from the fixes returned from a provider back to the diagnostics that each fix is supposed to handle (the CodeAction for a fix doesn't know which diagnostic it is fixing)
      
      The light bulb menu item (SuggestedAction) for a fix therefore doesn't have a definitive way to identify which diagnostic the menu item is fixing. Instead each SuggestedAction holds on to a collection of diagnostics and it could be fixing any diagnostic in the collection. In the preview pane header for a particular menu item, we currently display details about the 'first' diagnostic in the collection. Most of the time this works fine because most of the time we only have a single diagnostic in any given span. However this breaks anytime we have more than one diagnostic in a given span and we end up showing the wrong headers for our preview panes in such cases.
      
      This fix changes code fix providers to always accept a single diagnostic as input (instead of a collection) and return a list of fixes for this single diagnostic (i.e. have one to many mapping from diagnostic to fixes). The host now passes one diagnostic at a time to each provider which returns set of fixes for each diagnostic. This allows the host to maintain a mapping from diagnostic to fixes and display this mapping to the end user (in the preview pane header) + also makes the API less confusing for the author of the fix provider. (changeset 1353855)
      b0a4fc5c
  2. 14 10月, 2014 8 次提交
    • M
      Fix for bug 1048368: Suppressing/escalating user diagnostics through project... · c118bf28
      manishv 提交于
      Fix for bug 1048368: Suppressing/escalating user diagnostics through project property pages isn't reflected in live errors
      
      Fix assumptions about warnaserror and nowarn ID value being integers at bunch of places in Roslyn code. (changeset 1353758)
      c118bf28
    • J
      Move a few types back to the portable layer to allow a CustomWorkspace to be... · bb235dce
      jasonmalinowski 提交于
      Move a few types back to the portable layer to allow a CustomWorkspace to be produced without needing the desktop layer.
      
      As part of this, I split apart ITemporaryStorageService's ITemporaryStorage into two separate types, so it's clear whether you're storing text or storing binary streams. The merged implementation allowed some leakage of implementation details. (changeset 1353513)
      bb235dce
    • J
      51afdccc
    • C
      Minor code cleanup (changeset 1353261) · 4bae8882
      ChuckStoner 提交于
      4bae8882
    • N
      29319f9f
    • S
      1. The 'preview changes' feature in the light bulb preview pane had a bug... · 07a6e00b
      shyamn 提交于
      1. The 'preview changes' feature in the light bulb preview pane had a bug which meant that it was only applying ApplyChangesOperations - other operations (such as opening and navigating to a document added as part of a fix etc.) were being skipped when the user clicked Apply in the preview dialog. This fix makes sure that we don't skip any operations and that the code fix is applied the same way regardless of whether the user clicks on the light bulb menu or the Apply button in the preview dialog.
      
      2. Additionally, this change also disables check boxes in the preview changes dialog so that it is impossible select / deselect portions of a fix and apply the fix partially. Applying a partial fix can break assumptions in subsequent operations (for example, user could deselect changes to add a document that a subsequent OpenDocumentOperation is going to open and thereby cause this operation to fail).
      
      3. This change also changes the order of suppression fixes so that the 'global' suppression fix (that adds SuppressMessageAttribute in a separate file) is always last in the list of suppression fixes. After this change the suppression menu will read as follows with the (separate file) fix showing up at the end instead of in the middle.
      
           Suppress CA1234 -> this instance
                                               with SuppressMessageAttribute
                                               with SuppressMessageAttribute (in separate file)
      
      4. Also augment doc comment for batch fix all provider to clarify that only ApplyChangesOperations in the constituent fix occurances are batched and that other operations are ignored. (changeset 1353192)
      07a6e00b
    • A
      DevDiv #995192 - VB: Set DkmClrCompilationResultFlags.ReadOnlyResult... · d7a497cb
      acasey 提交于
      DevDiv #995192 - VB: Set DkmClrCompilationResultFlags.ReadOnlyResult appropriately in the Watch window
      
      Expose Binder.IsValidAssignmentTarget and Binder.AdjustAssignmentTarget and invoke them as in BindAssignmentStatement.
      
      CR: ChuckS (changeset 1353140)
      d7a497cb
    • A
      DevDiv #995192: Set DkmClrCompilationResultFlags.ReadOnlyResult appropriately in the Watch window · ff2caffe
      acasey 提交于
      Expose Binder.CheckValueKind and check for Binder.BindValueKind.Assignment.
      
      TODO: VB
      
      CR: ChuckS, KevinH (changeset 1353049)
      ff2caffe
  3. 11 10月, 2014 8 次提交
  4. 10 10月, 2014 13 次提交
  5. 09 10月, 2014 6 次提交
  6. 08 10月, 2014 1 次提交
  7. 07 10月, 2014 2 次提交
    • T
      Merges MetadataReferenceProvider and MetadataReferenceResolver into a single type. · 7fa0b8fc
      TomasMatousek 提交于
      Previously the user had to pass both of these objects to CompilationOptions and the compiler had to call first the resolver to resolve the path specified in #r:
      
      string ResolveReference(string reference, string baseFilePath)
      
      and then the provider to create the reference:
      
      PortableExecutableReference GetReference(string resolvedPath, MetadataReferenceProperties properties)
      
      With this change the compiler simply calls on MetadataReferenceResolver:
      
      ImmutableArray<PortableExecutableReference> ResolveReference(string reference, string baseFilePath, MetadataReferenceProperties properties)
      
      Notice that now the resolver may return multiple references. This is needed to support #r of NuGet packages.
      
      We used reference resolvers and providers in many ways for multiple purposes. I left behind the metadata file resolvers and providers to avoid making too many changes, but made them internal. In some cases the usage is legitimate, but still an implementation detail. More cleanup will also be possible once we remove the old scripting API. For now I have worked around all these dependencies.
       (changeset 1349333)
      7fa0b8fc
    • M
      Add telemetry for FixAllOccurrences. (changeset 1349284) · e69b89d5
      manishv 提交于
      e69b89d5