Skip to content

Merge master to features/param-nullchecking#36171

Merged
42 commits merged intofeatures/param-nullcheckingfrom
merges/master-to-features/param-nullchecking
Jun 5, 2019
Merged

Merge master to features/param-nullchecking#36171
42 commits merged intofeatures/param-nullcheckingfrom
merges/master-to-features/param-nullchecking

Conversation

@dotnet-bot
Copy link
Copy Markdown
Collaborator

This is an automatically generated pull request from master into features/param-nullchecking.

git fetch --all
git checkout merges/master-to-features/param-nullchecking
git reset --hard upstream/features/param-nullchecking
git merge upstream/master
# Fix merge conflicts
git commit
git push upstream merges/master-to-features/param-nullchecking --force

Once all conflicts are resolved and all the tests pass, you are free to merge the pull request.

JoeRobich and others added 30 commits May 30, 2019 16:03
This change produced a 535MB (7.5%) allocation reduction in the scenario
described by #36114.
This change produced a 806MB (11.3%) allocation reduction in the scenario
described by #36114.
* Add InteractiveHost as a NuGet package

* Make InteractiveWindow a package dependency

* Update InteractiveWindow version to 2.8.0

* Add missing package dependencies
Currently, the APIs for nullable reference types take a model that
instead of the top level nullability of a named type being on the
INamedTypeSymbol, it's carried along as a separate piece of information.
This causes a lot of churn for code that is used to passing along
ITypeSymbols today; one way to ease this is simply create a set of
wrapper types which carry it along for us but still implement
ITypeSymbol.
This enables basic support for applying top-level nullability to
parameters and the return types when generating methods.

Fixes #30319
This catches places we're calling Construct() or
ClassifyConversion().
This makes the extension method work again. The workaround is tracked by
#36093.
* Update ILAsm and ILDasm version to match expected SDK version

* Fixed version numbers
Andrew Hall and others added 7 commits June 4, 2019 14:56
… ambiguous type returns (#35853)

FindImplementationsForInterfaceMemberAsync checks for forwarded types using SymbolFinder.OriginalSymbolsMatch, which expects non-null compilation for both the project containing the interface and the project containing the symbol to compare to. Until now, most instances have found equivalence without falling through, but in cases where the type forwarding isn't completely verified a non-null compilation for the interface symbol is needed as well. See VerifyForwardedTypes for the logic being used.

In #35786 the type System.Text.Encoding is provided by a a NuGet reference and could be ambiguous based on the build target. The OOP service attempts to find the correct type resolution but needs the original symbol compilation to verify.

Without this fix, FindAllReferences may cause a null deref and fail.

Fixes #35786
* Learn from comparisons to non-constant, non-null values

* Update comment

* Remove unused local function

* Remove another unused local function

* Check for null constant before trying to learn from notNull == maybeNull. Add tests

* More tests, more cleanup

* Add conditional access with || test

* More test updates from feedback

* Cleanup

* Change some locals in tests to parameters
Update AnalyzerRunner to support IIncrementalAnalyzer testing
Avoid captures in SqlConnection.ReadBlob
Pass CancellationToken instead of CancellationTokenSource
DisposableWaitAsync often completes synchronously
heejaechang and others added 5 commits June 4, 2019 18:11
* mark NFW from OOP critical

currently, whenever OOP throws an exception, we show infobar saying "restart VS". whenever that happens, we report NFW. now those NFW will be marked as critical and we will stop reporting NFW after that in VS.

basically making critical NFW behavior same as fatal watson in VS. and management will treat critical NFW same as fatal watson.

also, now we will show callstack like code fix exception when info bar is shown

* xml document fix

* fix build break.

* changed button to hyper-link to follow same pattern as other info bar (code fix)

show remote exception in callstack view.

* introduced enum for Watson Severity
…hod-with-nullable-wrapper

Implement generate method and constructor with top-level nullability tracking wrapper
* Update implicity declared type expression nullability:
- When updating the implicit type in a declaration also update the bound type declaration nullability
- Record nullability for inferred foreach variable
- Add nullable public api tests
- Add nullable tests
* Write Roslyn assembly version to DependentAssemblyVersions file

* Depend on GetAssemblyVersion to ensure AssemblyVersion has been calculated
…o merges/master-to-features/param-nullchecking
Copy link
Copy Markdown

@ghost ghost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Auto-approval

@ghost ghost merged commit f8050ff into features/param-nullchecking Jun 5, 2019
@ghost ghost deleted the merges/master-to-features/param-nullchecking branch June 5, 2019 21:30
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants