Bugfix 881746

The change is, when a syntax is simplified into its Alias at Attribute Context (i.e. within Attribute) we make sure that we do not remove the suffix "attribute" from the  new Identifier name because the new identifier is now referencing the Alias.

Having the Identifiers meaning the same with "FooAttribute" and "Foo", where "FooAttribute" inherits System.Attribute, in the Attribute context does not apply for Aliases that has "Attribute" suffix. (changeset 1222441)
Enable test for 528147 (changeset 1222543)
Unskip test for resolved bug.  Adjust asserts to reflect remaining issue (not presently worth fixing). (changeset 1223159)
Bugfix 738826

VB Parentheses Reducer was missing a case check to see if the expression that is parenthesised is a GetType expression. Added it. (changeset 1223186)
Adding CultureContext to Roslyn test utilities to enable compiler tests to be culture agnostic (changeset 1223204)
VB Overload Resolution: Adjust amount of shadowing applied before shadowing based on inference level. Resolves #32. (changeset 1223276)
Moved FxCop diagnostic analyzer, test, and setup projects into Diagnostics\FxCop folder. Renamed the FxCop analyzer test assembly so as not to be confused with Roslyn.Diagnostics.Analyzers.UnitTests. Added Roslyn diagnostic analyzer projects to Roslyn.sln. (changeset 1223294)
Fix for bug 529787: [C# and VB] False Unnecessary Cast in collection initializers with overloaded Add method

Use the newly added SemanticModel.GetCollectionInitializerSymbolInfo API to detect if cast removal breaks the semantics of collection initializer expression. (changeset 1223359)
Bugfix 889349

Previously if there was an existing method(constructors too) which has at least one parameter and if there was usage matching the signature of the method except the parameter name, we dont show provide a code action to generate a new method from the usage because the generation of the method would fixed the error at the usage but it introduces a error at definition(duplicate definition)

With the change, we will show code action for new method generation based on the usage because if the user feels that the new defintion is more suitable than the existing definition we should enable them to do the same.

Eg:

class C
{
    void M()
    {
        M(x: 42);
    }

    void M(int y) { }
}

In the above example applying the code action at the M usage will result in

class C
{
    void M()
    {
        M(x: 42);
    }

    private void M(int x)
    {
        throw new NotImplementedException();
    }

    void M(int y) { }
}

--------------------------------------------------

     This error can also be solved by introducing a different codeaction like

     1. Consider changing the parameter name to the existing name
     2. Rename the parameter name in the existing method definition
     3. Remove the named Parameter

      But these will be separate codeactions which can be implemented later tracked by separate user stories (changeset 1223385)
added CSharpServiceTest and VisualBasicServiceTest.

for now, it only contains Formatting Tests, but in future, we should split mixed lang tests in service test to each own one. (changeset 1223390)
Disable partial semantics for non-compiler projects.

If a project does not support creating/providing compilations, then it cannot provide a 'frozen partial snapshot' of the compilation with that document contained within.  Just return the entire snapshot instead. (changeset 1223407)
 Consolidates implementation of metadata references in VS:

     - Introduces VisualStudioMetadataReference that represents a metadata reference in a project system -- this used to be StandardMetadataReference in MetadataReferenceProvider. When this reference is observed by the workspace a snapshot (compiler PortableExecutableReference) is created with a timestamp. We need to create these snapshots and mark them with a timestamp so that we can get back their past state from past solution snapshots.

     - Previous VisualStudioMetadataReferenceProvider (now named VisualStudioMetadataReferenceManager) doesn't derive from MetadataReferenceProvider anymore. MetadataReferenceProvider is meant to support #r directives, not being a base class for all metadata reference factories such as VisualStudioMetadataReferenceProvider. A separate class is used as a MetadataReferenceProvider for compilations.

 (changeset 1223460)
NewNewNewNew AnalyzerDriver implementation and tests (C# only) (changeset 1223480)
Corrected error message about static using

The type in the error message may indeed be a non-static class,
but it could also be something else, like an enum or a struct.
Comment incorrect: Fallback to slow path, not fast path.
Updating solution file to point to new test proejcts
Updating solution file to use new workspace test project paths. (changeset 1224584)
Now that we run incremental analyzers in the preview workspace, only run analyzers on workspaces whose kind they support. (changeset 1224653)
881229: reconcile AliasSymbol.Equals implementation across VB, C# (changeset 1224691)
Added SyntaxFactory parser helper method (changeset 1224711)