- 11 10月, 2014 2 次提交
-
-
由 tmeschter 提交于
When our projects were last updated to a newer version of Microsoft.Net.ToolsetCompilers, NuGet didn't replace the old version--it just put the new version next to it. Every project ended up referencing both versions, and which set of compiler binaries "won" depended on the order they appeared in the project file. So different projects built with different compilers. This change strips out all references to the old version. (changeset 1352054)
-
由 mattwar 提交于
Remove type constraint on ReplaceNodes API that forces the type of the replacement node to be of the same type as the node to be replaced. (changeset 1352036)
-
- 10 10月, 2014 3 次提交
- 07 10月, 2014 2 次提交
-
-
由 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)
-
由 TomasMatousek 提交于
-
- 06 10月, 2014 3 次提交
-
-
由 ADGreen 提交于
Renamed the event and property accessor blocks to be consistent with each other and the accessor statements they parent. (changeset 1348603)
-
由 ADGreen 提交于
Abbreviates the public VB-specific types (e.g. VisualBasicSyntaxTree -> VBSyntaxTree) in accordance with the .NET Class Library Guidelines to avoid overly lengthy names and consistent with the conventions used in other APIs (e.g. VB CodeDom). (changeset 1348499)
-
由 ADGreen 提交于
Makes the VB and C# Syntax APIs more consistent in their representation of Imports/using statements. * Folds AliasImportsClause and MembersImportsClause into a new SimpleImportsClause with an optional ImportAliasClause. (changeset 1348278)
-
- 05 10月, 2014 2 次提交
-
-
由 ADGreen 提交于
-
由 ADGreen 提交于
Simply the VB syntax trees for single- and multi-line Ifs and Try blocks, making them consistent with the VB language spec. Now, instead of being parented by an intermediate "If Part" or "Try Part" the header statements and the body statements are directly parented by the block (similar to how we represent them in C#). (changeset 1348193)
-
- 04 10月, 2014 2 次提交
- 02 10月, 2014 4 次提交
-
-
由 TomasMatousek 提交于
This shelveset implements following changes to metadata reference compiler API in order to remove duplication in the public surface and prevent users from unexpected metadata lifetime issues: 1) MetadataImageReference and MetadataFileReference overlap Currently MetadataImageReference can be constructed from a Stream. MetadataImageReference supports metadata prefetch (reading the blob into memory and close the underlying stream) as well deferred reading (no content is read until the reference is consumed during compilation). MetadataFileReference only supports deferred reading. Lifetime of MetadataFileReference is non-deterministic, the underlying file is locked until no references exist and we GC the metadata. On the other hand, it is possible to construct MetadataImageReference in such a way that allows controlling the underlying resources deterministically. Remove MetadataFileReference, use MetadataImageReference instead. 2) Lifetime management AssemblyMetadata and ModuleMetadata objects hold on resources and implement IDisposable. When using MetadataFileReference constructors and some MetadataImageReference constructors to create references the underlying metadata objects are created implicitly and the user doesn’t have a way to explicitly dispose them. Make MetadataImageReference constructors internal and instead add factory method GetReference on AssemblyMetadata/ModuleMetadata. The usage pattern is: using (var metadata = AssemblyMetadata.CreateFromXxx(…)) { var compilation = CSharpCompilation.Create(syntaxTrees, new[] { metadata.GetReference() }); … } In addition the shelveset makes MetadataImageReference internal and adds the following convenience APIs, that are not the most efficient but are very convenient, easy to discover and safe to use for customers that don’t wanna explicitly manage the lifetime of metadata objects. (changeset 1345987)
-
由 manishv 提交于
This change introduces following context objects: (a) CodeFixContext struct which is passed into CodeFixProvider.GetFixesAsync method and (b) CodeRefactoringContext struct which is passed into CodeRefactoringProvider.GetRefactoringsAsync. (changeset 1345537)
-
由 srivatsn 提交于
Creating an analyzer driver is rather complicated today - you need to create the right one for the language and you need to know to attach that to the compilation etc. In this change I'm just adding a public method called Create and hiding the constructor. Also hiding a method called GetAnalyzerDiagnostic which was just used by a test in the IDE layer. The remaining public methods on this type either are resonable or are needed for the implementation of the IDE driver. We have some ideas to write the IDE driver in a way that might not require these post preview. (changeset 1345464)
-
由 manishv 提交于
Change ICodeFixProvider (interface) to CodeFixProvider (abstract type) and ICodeRefactoringProvider (interface) to CodeRefactoringProvider (abstract type) (changeset 1344836)
-
- 25 9月, 2014 5 次提交
-
-
由 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)
-
由 jmarolf 提交于
***NO_CI*** (changeset 1341082)
-
由 pgavlin 提交于
- Update the parser to produce such nodes when parsing assignment expressions - Port the rest of the compiler and related tests over to AssignmentExpressions - Port the workspace layer, its tests, and the samples over to AssignmentExpressions. - Port the editor features, samples, VS support, and related tests over to AssignmentExpressions. (changeset 1338828)
-
由 RoslynTeam 提交于
Replace IDiagnosticAnalyzer with DiagnosticAnalyzer, and move to an action-based diagnostic analysis model. (changeset 1337816)
-
由 TomasMatousek 提交于
Removes workarounds for portability bugs 967430 and 797360 - the underlying issues in the project system have been fixed. Removes explicit references to portable facade assemblies (System.IO, System.Runtime, etc.). (changeset 1336570)
-
- 12 9月, 2014 1 次提交
-
-
由 RoslynTeam 提交于
This fixes the warnings which occur during a build of Asyncpackage. The nuspec file puts several dlls into the tools portion of the package which triggers a warning (won't reference dll unless they are in lib). The behavior here is intentional as the dlls aren't meant to be referenced. Suppress the warning to get to a clean build (changeset 1333949)
-
- 10 9月, 2014 7 次提交
-
-
由 jmarolf 提交于
-
由 angocke 提交于
Update the version of the toolset compilers used for build and make sure that all projects are using the toolset NuGet. (changeset 1330804)
-
由 tmeschter 提交于
Fix a build break due to a warning about a namespace with no accessible members. (changeset 1323607)
-
由 jmarolf 提交于
-
由 jmarolf 提交于
-
由 jmarolf 提交于
-
由 manishv 提交于
Follow up change to changeset 1322657: Delete ExportDiagnosticAnalyzerAttribute now that we don't MEF import it anymore. (changeset 1322726)
-
- 15 8月, 2014 6 次提交
-
-
由 jmarolf 提交于
-
由 jmarolf 提交于
-
由 jmarolf 提交于
-
由 manishv 提交于
Fix for bug 992852: Remove unused "Name" property in ExportDiagnosticAnalyzerAttribute. The attribute ctor now just takes a params array of supported languages. (changeset 1314758)
-
由 jmarolf 提交于
Deleting empty directories. Removing a file that was added accidentally, and updating the Blocking analyzer. (changeset 1314564)
-
由 jmarolf 提交于
Moving the samples we ship with our SDK to open source. Also including the interns analyzers, code fixes, and tests. (changeset 1314543)
-