1. 31 1月, 2015 1 次提交
  2. 15 1月, 2015 1 次提交
  3. 14 1月, 2015 2 次提交
    • R
      e315208f
    • M
      Fix race conditions in VB compiler around generation of SymbolDeclaredEvents. · 47ffd11f
      manishv 提交于
      The failing test SuppressSyntaxDiagnosticsOnRaiseEventAccessorBasic for bug 1103442 blows up intermittently on build queues with an exception thrown for trying to enqueue an event to the CompilationEventQueue after the queue has been completed. I was able to get a consistent repro by running the test in a Parallel.For for about 10k iterations.
      The failing call stack shows that the faulty symbol declared event is being generated for a SourceEventSymbol. Currently we generate the symbol declared event for event symbols within ExplicitInterfaceImplementations property. However, this property is accessible from the symbol constructor, as is the case for this failure.
      Generating the SymbolDeclaredEvent from a symbol constructor is inherently racy, as multiple threads might be trying to compute members of it's containing symbol and hence might instantiate the member symbols, even though just one thread will succeed in storing the computed members onto the field.
      This change moves the SymbolDeclaredEvent for events and properties out of  ExplicitInterfaceImplementations and into GenerateDeclarationErrors, guarded by a special state flag. The modified failing test passes consistently on my machine after this fix. (changeset 1395533)
      47ffd11f
  4. 13 11月, 2014 1 次提交
    • P
      Add a diagnostic (not yet part of the toolset) to ensure CancellationToken... · 3387b4d8
      Pilchie 提交于
      Add a diagnostic (not yet part of the toolset) to ensure CancellationToken arguments are last* and fix violations.
      
      * Unless they are followed by params, out, ref, or optional parameters (without themselves being optional), or are interface implementations or overrides.
      
      * I suppressed the warnings in the TaskExtensions and TaskFactoryExtensions types, since we're trying to mirror the TPL's APIs there.
      
      Includes some tests for C# scenarios, and a fixer for C# that just reorders the signature (arguably, it's better to just let the user invoke Change Signature themself). (changeset 1370978)
      3387b4d8
  5. 17 10月, 2014 1 次提交
  6. 07 10月, 2014 1 次提交
    • J
      Make much of the Workspaces layer Portable. · e76a29a4
      jasonmalinowski 提交于
      This change splits the Workspaces layer into two parts, mirroring the Portable/Desktop split that the compilers did. The core parts of the Workspaces layer (managing documents and projects, formatting, some refactoring, code fixes) is kept in the portable subset, with a few non-portable pieces remaining, notably MSBuild support.
      
      This change has a major impact on how MEF now works in Roslyn. Traditional MEF (“MEFv1”) is not portable, and so we must move the Workspaces layer over to using the Microsoft.Composition NuGet package (“MEFv2”) which is. The APIs are distinct in that each has its own namespace, but the concepts are more or less identical. It requires some care though: the workspaces layer is simple in that it only references MEFv2, but higher layers have to reference both versions to use metadata attributes. Exports using metadata attributes from the editor (say, ContentTypeAttribute) must use MEFv1 attributes to export, whereas exports for the workspaces layer must use MEFv2 attributes. The rule is subtle and yet simple, and so a diagnostic is provided which catches any offenses to prevent confusion.
      
      This also has some impact in how we create MEF hosts: if you wish to host just the base workspaces layer, we can use MEFv2 to compose everything. The HostServices implementation (MefV1HostServices) that consumes a MEFv1 ExportProvider. If you’re in Visual Studio, you can use this implementation to get the full set of host services provided in Visual Studio.
      
      Otherwise, most of the changes in here are minor: we react to some APIs that have been moved/renamed in the portable subset we are targeting, and also align our various exception helper utilities with the compiler’s precedent. (changeset 1349276)
      e76a29a4
  7. 06 10月, 2014 2 次提交
  8. 25 9月, 2014 2 次提交
  9. 22 7月, 2014 1 次提交
  10. 02 7月, 2014 1 次提交
  11. 20 6月, 2014 2 次提交
    • T
      Splits Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.CSharp and... · fc3b332f
      TomasMatousek 提交于
      Splits Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.CSharp and Microsoft.CodeAnalysis.VisualBasic into portable and desktop assemblies.
      
      Existing Core\Source, CSharp\Source and VisualBasic\Source directories are renamed to Core\Portable, CSharp\Portable and VisualBasic\Portable.
      New sibling Desktop folders are added and non-portable source is moved there.
      "System.Runtime" references has to be removed in order for the portable project system magic to automatically add facade references.
       (changeset 1281686)
      fc3b332f
    • T
      VB portability cleanup · abc3b26b
      TomasMatousek 提交于
      Replaces usages of Debug.Fail with Debug.Assert or ExceptionHelpers.
      Removes usage of ExcludeFromCoverageAttribute.
      And other minor tweaks. (changeset 1278940)
      abc3b26b
  12. 19 3月, 2014 1 次提交