1. 02 10月, 2014 10 次提交
  2. 27 9月, 2014 1 次提交
  3. 26 9月, 2014 16 次提交
  4. 25 9月, 2014 13 次提交
    • H
    • C
      f63640d2
    • K
    • J
      Responding to CR feedback. · d204da4f
      jmarolf 提交于
      Removing the changes to the C# language inference service.  Keeping them for VB.
      ***NO_CI***
       (changeset 1341709)
      d204da4f
    • V
      Test for bug 1034455: GetDiagnostics() fails with ArgumentException for... · f47c69d7
      vladres 提交于
      Test for bug 1034455: GetDiagnostics() fails with ArgumentException for [assembly:AssemblyCulture("\0")] (changeset 1341623)
      f47c69d7
    • V
      Making parameterless constructors in structs (VB) not experimental. · e7522e8f
      VSadov 提交于
      ***NO_CI***
       (changeset 1341617)
      e7522e8f
    • V
      Test for bug 1034429: GetDiagnostics fails with InvalidOperationException :... · 3efafe3b
      vladres 提交于
      Test for bug 1034429: GetDiagnostics fails with InvalidOperationException : TypedConstant is an array. Use Values property. (changeset 1341604)
      3efafe3b
    • V
      Fixes subtle potential race condition that could be allowed by the lowering... · 06c83837
      VSadov 提交于
       Fixes subtle potential race condition that could be allowed by the lowering of null-propagating operator.
      The general rule here is that compiler should not introduce reads to the same location on the heap. Doing so can introduce races to the user's code that otherwise does not have races.
      
      As a result of that it is ok to read a local variable multiple times, but only if the local cannot be modified in between reads and when it is known to not be captured into a closure.
      In particular at lowering stage (before lambda rewritings) without additional analysis we do not know if locals could be captured into closures and therefore shared with other threads and modified between reads.
      
                == in this change:
      Do not assume that reads of locals and byval parameters are idempotent if we do not know whether they may be captured in closures.
      Without additional analysis we can not make this assumption, so at the time of local rewrite we must conservatively consider locals and parameters as potentially returning different value every time they are evaluated.
      
      Note that nullables are excluded from this rule. That is because in the ?. operators over nullable we do not read the same location twice. We read "HasValue" and then conditionaly read ValueOrDefault.
       That is no different than just reading both values unconditionally - we would not introduce any new races if we do not cache the whole local between such reads.
       .
       (changeset 1341599)
      06c83837
    • C
      Update Completion, Signature Help, and token-based formatting to support conditional access. · 096d0117
      chandera 提交于
      ***NO_CI***
       (changeset 1341577)
      096d0117
    • H
      adding another point to find out why document.GetSemanticModelAsync returns null. · 7bdbe585
      heejaechang 提交于
      theoretically this shouldn't ever happen (except TypeScript case), but perf machien caught this being happening.
      
      this adds some checking in get semantic model to find out how and when null can be set. (changeset 1341531)
      7bdbe585
    • M
      User story 862192: FixAllProvider API and default fix all implementations... · 56e17171
      manishv 提交于
      User story 862192: FixAllProvider API and default fix all implementations (replace "Fix All Occurrences")
      
      Changes include:
      1) Add a new abstract type, FixAllProvider, in Workspaces layer to represent a provider which can provide "fix all occurrences" code fixes corresponding to fixes provided by an ICodeFixProvider.
      
      2) Add a new API on ICodeFixProvider (GetFixAllProvider()) to get an optional FixAllProvider. Implementers can return null to indicate no fix all support. Otherwise, they can either return an instance any of the well known implementations (see (3) below) or return an instance of their own implementation of FixAllProvider.
      
      3) Provide default implementation of a batch FixAllProvider which works for simple code fix providers which return code actions which have a single document change action. This provider batches all the individual diagnostic fixes across the scope of fix all action, computes fixes in parallel and and then merges all the non-conflicting fixes into a single fix all code action. For more complex scenarios, users must write their own FixAllProvider implementation.
      
      4) Add the following public types for FixAllProvider:
        (a) FixAllScope: Represents the scope in which fix all occurrences will be applied (document/project/solution/custom)
        (b) FixAllContext: Context information for computing fix all fixes. This context object is passed into FixAllProvider.GetFix API.
      
      5) Add an optional string property "Id" on CodeAction. This string defines a unique Id amongst all code actions returned by an ICodeFixProvider, and is part of the FixAllContext to determine which code action is applied at all fix locations.
      
      6) Enable fix all support for following code fixes:
        (a) Simplify type names
        (b) Remove unnecessary cast
        (c) Remove unncessary usings
        (d) Implement interface/abstract type
      
      7) Fix All Occurrences UI: Currently, these FixAllOccurrences code fixes will show up as hyperlinks in code fix preview pane. Clicking on these will trigger computation of diagnostics and fix all fixes for the chosen scope. Subsequently, preview changes dialog will come up to preview the fix.
      Post preview, these hyperlinks will be replaced with lightbulb sub menus under the original code fix. (changeset 1341442)
      56e17171
    • H
    • J
      updating toolset compilers to \\cpvsbuild\drops\Roslyn\Main-Signed-Release\20140923.3 · 324b041e
      jmarolf 提交于
      ***NO_CI***
       (changeset 1341082)
      324b041e