- 26 2月, 2019 2 次提交
-
-
由 Neal Gafter 提交于
-
由 Neal Gafter 提交于
-
- 25 2月, 2019 1 次提交
-
-
由 Neal Gafter 提交于
The NullableWalker is revised so that the inferred state of an expression is either `NotNull` or `MaybeNull` (represented by the new type `NullableFlowState`). There is no longer such as thing as an oblivious rvalue. There are four kinds of lvalues: - oblivious lvalues read as NotNull but null can be written to them - annotated lvalues read as MaybeNull and null can be written to them - unannotated lvalues read as NotNull and null may not be written to them - unconstrained type parameters read as MaybeNull but null may not be written to them In order to preserve the safety in the face of such unconstrained type parameters, we warn immediately when a null value of such a type is introduced. This is a safety warning. The contexts in which such a warning are given are - `default` and `default(T)` - `null` conversion to `T` (when `T` is known to be ref type) - `e?.M()` when the return type is `T` - dynamic conversion or cast to `T` when the dynamic might be null - explicit conversion to `T` - `e as T` when there is not an implicit conversion from the type of `e` to `T` - a call to a method like `FirstOrDefault()` that is annotated with `[MaybeNull] (not yet implemented) We remove the hidden diagnostics previously computed by the NullableWalker. We add debugger display support for a number of types used by the NullableWalker. The display for `NullableWalker` summarizes the computed nullability of variables in a nice compact form. We remove support for definite assignment in the NullableWalker. Some scenarios involving the use of not-definitely-assigned variables may cause cascaded diagnostics. We might remove them in the future by initializing all vaiables to the `NotNull` state when they enter scope. We overhaul and simplify the inplementation of conversions, the null-conditional operator, and result inference for lifted operators. We simplify the Meet and Join operations so that they form a lattice on both the NullableAnnotation and NullableFlowState. Catch variables are now initialized to a non-null state on entry to the catch block. In unreachable code, every expression produces a non-null rvalue. An erroneous expression produces a non-null rvalue (to suppress cascaded diagnostics).
-
- 24 2月, 2019 2 次提交
-
-
由 dotnet-automerge-bot 提交于
Merge dev16.0 to master
-
由 Sam Harwell 提交于
Fix the navigation bar tests for VS2019
-
- 23 2月, 2019 17 次提交
-
-
由 Kirill Osenkov 提交于
Simple null-check for snippet.Shortcut in preprocessor context check.
-
由 Rikki Gibson 提交于
Don't run ResizeCompactsAllDead on Mono
-
由 dotnet-automerge-bot 提交于
Merge dev16.0 to master
-
由 Jason Malinowski 提交于
-
由 Jason Malinowski 提交于
Fix deadlock with the GlobalOptionService and roaming option persister
-
由 Rikki Gibson 提交于
-
由 Heejae Chang 提交于
* fixed outputRefFilePath not synched at initial synchronization OutputRefFilePath didn't get synched at the initial synchronization but synched correctly on incremental update. we had test for incremental update but didn't have test covering initial sync. also added more debugging code to spot issue easier * change on GetAssetMapAsync for ValidateChecksums for debugging changed behavior of GetAssetMapAsync unit test depends on. changed unit test to deal with new changes.
-
由 Charles Stoner 提交于
-
由 Sam Harwell 提交于
Install a TraceListener for integration testing
-
由 Sam Harwell 提交于
-
由 Julien Couvreur 提交于
-
由 Charles Stoner 提交于
-
由 Manish Vasani 提交于
Diagnostic for assignment to this with readonly fields
-
由 Tomáš Matoušek 提交于
-
由 Tomáš Matoušek 提交于
-
由 Sam Harwell 提交于
-
由 Sam Harwell 提交于
Add a hang mitigating timeout to WaitForBuildToFinish
-
- 22 2月, 2019 14 次提交
-
-
由 Sam Harwell 提交于
Fixes #33599
-
由 Sam Harwell 提交于
See #33597
-
由 Heejae Chang 提交于
* move down support syntaxtree check to where it is actually used. * bunch of renames, but just renames. no logic changes. I didn't clean up all mention of parsing though. * added sanity check on giving wrong document to the service
-
由 Sam Harwell 提交于
Cache visited assemblies to improve object browser startup
-
由 Jason Malinowski 提交于
This deadlock is a classic deadlock where two components both have a lock, and called out to the other component while holding the lock. The two offending methods were: 1. GlobalOptionService.GetOption, which acquires the global option lock and then calls into serializers. This would result in RoamingVisualStudioProfileOptionPersister.RecordObservedValueToWatchForChanges being called which would acquire the persister's lock. 2. RoamingVisualStudioProfileOptionPersister.OnSettingChangedAsync would acquire the persister's lock, and then call back into the GlobalOptionService to update it. If both of these happened at the same time, there's a small chance of deadlock. We've seen this sporatically in automation. The classic fix for this is to fix one (or both) of the cases above to avoid calling out to another component while holding the lock. Both are easy to fix but I'm choosing (for now) to just the second case. My reasoning is the first lock is still potentially useful: if multiple components are requesting the same option at the same time, we will only be calling into the settings service once rather than calling into it multiple times simultaneously. Fixes https://github.com/dotnet/roslyn/issues/20019.
-
由 Joey Robichaud 提交于
-
由 dotnet-automerge-bot 提交于
Merge dev16.0 to master
-
由 Jared Parsons 提交于
Short-term workaround for crash on missing member on tuple literal
-
由 Jason Malinowski 提交于
Subscribe to and process rule set file changes
-
由 Sam Harwell 提交于
Revert "set no activation context on provisional tab when navigate to"
-
由 Andrew Hall 提交于
Update the FindImplementationsForInterfaceMember
-
由 Jason Malinowski 提交于
Fix up all the test project launchSettings.json to allow F5 again
-
由 Jason Malinowski 提交于
Subscribe to and process rule set file changes
-
由 Sam Harwell 提交于
This reverts commit 2750f630.
-
- 21 2月, 2019 4 次提交
-
-
由 Joey Robichaud 提交于
-
由 Sam Harwell 提交于
SendInput using scan codes when available
-
由 Sam Harwell 提交于
Fixes #33555
-
由 dotnet-automerge-bot 提交于
Merge dev16.0 to master
-