Fix 1029117 by adding *the correct* null check. (changeset 1346614)
Bumped up timeout for "BigVisitor" test to 10 seconds. (changeset 1346793)
There are two possible root causes to this test failure.

1. File IO error.
2. Incorrect options given.

#2 will have some explainatory output, while #1 will not.

Adding logging to determine which case is present.
 (changeset 1346801)
Test for bug 1040171: ETA crashes if labeled statement is used as an embedded statement (changeset 1346866)
Core C# IDE Support for string interpolation

The following features have been updated to support interpolated strings:

* Classification - start, mid, and end tokens of an interpolated string are now classified as strings.

* Formatting - the formatter no longer adds spaces before and after insert "holes" in interpolated strings.  From an IDE design perspective, we've decided to not enforce any spacing rules because it's possible that a user may want no spacing for a simple or dotted name (e.g. "\{name}") but *would* want spacing for more complex expressions.

* Completion List - the position after a start or mid token is now considered an expression context, so the completion list appears as expected.

* Automatic Brace Completion - Typing \{ will complete the closing } in standard brace completion scenarios. It will not complete when going back to edit a string unless the edit happens at the end of the line. This is consistent with how brace completion works in general. (We'll need a platform change to do otherwise.)

* Brace Matching - \{ and } braces are highlighted in the editor when the caret is at the start or end of them respectively. (changeset 1346881)
Doc comments for diagnostic analyzer context types. (changeset 1346945)
Fix bug 1036356: failing assert at Microsoft.CodeAnalysis.CSharp.LocalRewriter.MakeConversion (changeset 1347071)
Implements a spec refinement to how autoprops behave in constructors and initializers. (VB)

     For accesses to an autoprop in a corresponding [static|instance] constructor or initializer -

     (a) It should bind to the property, but the property should be treated as a readable/writable even if it is a readonly autoprop.
     (b) The definite assignment behavior should be as if directly accessing the backing field. (not observable in VB)
     (c) It should code gen to the property accessor (if one exists) or a field access (if not).

     The most observable outcome of all this is that it is possible to assign a readonly autoprop in the constructor.

     The following code is now valid and does what you think it does:

Module Program
    Structure c1
        Public readonly Property p1 As Integer
        Public readonly Property p2 As Integer
        Public Sub New()
            p1 = 42
            p2 = p1
        End Sub
    End Structure

    Sub Main(args As String())
        Dim c As New c1
        System.Console.WriteLine(c.p2)
    End Sub
End Module

.
 (changeset 1347106)
This change enables TypeScript to participate in the settings infrastructure in Roslyn, the immediate requirement is to enabe the ability to enable/disable the Navigation bar, but in the future this will be used for more/other features. (Brace macthing comes to mind).

To minimize the impact I made the following changes:
     - Add an IVT to the ServicesVisualStudioImpl project, this makes the AbstractLanguageSettingsSerializer visible to TypeScript
     - Move the internal class ExportLanguageSpecificOptionSerializerAttribute and ExportOptionSerializerAttribute  to the ServicesVisualStudio project.
     - Fix up namespaces and references to those namespaces
***NO_CI***
 (changeset 1347128)
Update EE to handle EnC updates (add/remove locals) by flowing the method version through to ISymUnmanagedReader.GetMethodByVersion.

(fixes #1017468 & #1030053)
***NO_CI***
 (changeset 1347348)
Fix for bug 685183: Eliminate usages of SemanticModel.ResolveOverloads

This change replaces the uses of this API with use of speculative semantic model to determine if invoking a different constructor (given type or its base type), possibly with a subset of arguments, binds to an accesible constructor.
Additionally, I have removed this public API from SemanticModel.

Note: There are still language specific internal implementations of this API. These seem to be only used by tests, but some tests use them as helpers to test actual overload resolution functionality. I'll open a separate bug on compiler team to clean this up post-preview. (changeset 1347617)
 I am adding telemetry to Roslyn to collect information regarding analyzers which crash. This is to get answers for questions like
     - What are the top 10 analyzers which crash the most often in a VS Session?
     - What exceptions do they crash with?
     - What kind (symbol, syntaxtree) of analyzers crash often?

     DiagnosticAnalyzerDriver.cs - Log the analyzer and the exception details when there is a crash.
     DiagnosticAnalyzerLogger.cs - Logic to aggregate the analyzers crash details and post the summary as telemetry event.
     SolutionCrawlerLogger.cs - Log the analyzer crash summary during shutdown.
     HashAlgorithms.cs - Some style cop changes. (changeset 1347620)
C#: Changing BaseListSyntax to contain a list of BaseTypeSyntax nodes rather than a list of TypeSyntax nodes. (changeset 1347630)
Bugfix 1036954 : Compiler only expects IOException and BadImageFormatException coming out of PortableExecutableReference.GetMetadata.

Any other exception (like UnauthorizedAccessException) needs to be wrapped into IOException, unless it already derives from IOException.
     VisualStudioMetadataReferenceManager.GetStorageInfoFromTemporaryStorage directly calls File.Open which may throw all sorts of exceptions.

The fix is to call FileUtilities.OpenStream which wraps the exceptions properly

Since this is behavior expected any where in the product, the APIs Open, Create have now been wrapped with the helpers to generate the IOException instead of some random exception. (changeset 1347659)
Now its failing in VB.  Adding the same logging to the VB side. (changeset 1347682)
Add a reference in CompilationTestData to hold on to the Compilation that was used to initialize it.  The IL visualizer requires Symbols of the Compilation to still be alive when visualizing tokens.

Most of the time, we hold a reference to the compilation in the test method, so the lifetime of the Symbols would be long enough for all test verification to occur.  However, in some tests, the Compilation is created in a helper and then thrown away as soon as the PE image is emitted.  Verification steps later in the test method could result in AVs if a GC occurs at the wrong time. (changeset 1347747)
Bugfix 1036954  CR Comments (changeset 1347775)
removed diagnostic code I had put into workspace to figure out MEF issues. it is no longer needed. no fix yet though. (changeset 1347829)
Fix bug 1040171: ETA crashes if labeled statement is used as an embedded statement. Also simplifies some conditions using null-propagating operator. (changeset 1347929)
Remove CodeGenerator from public.  To be replaced by future API. (changeset 1347930)