Skip to content

Commit

Permalink
Merge remote-tracking branch 'dotnet/master' into merge-master
Browse files Browse the repository at this point in the history
* dotnet/master: (495 commits)
  Roslyn Installer: Stop processes that block VSIX installation. (dotnet#34886)
  Remove unused helper BeginInvokeOnUIThread
  Apply a hang mitigating timeout to InvokeOnUIThread
  Apply a hang mitigating timeout in RestoreNuGetPackages
  Apply a hang mitigating timeout to WaitForApplicationIdle
  Fix Value/Ref checks for pattern Index/Range (dotnet#35004)
  Fix assert in remove unused member analyzer
  Treat unconstrained type parameters declared in `#nullable disable` context as having an oblivious nullability in case they are substituted with a reference type. (dotnet#34797)
  Add symbol name to tests. Fix to be the correct name emitted
  PR feedback
  Improve IDE0052 diagnostic message for properties with used setter but unused getter
  Use original definition symbol for fetching control flow graph of generic local functions.
  Properly treat ambiguous explicit interface implementations (dotnet#34584)
  Remove the dependence between the order in NullableAnnotation and metadata attribute values (dotnet#34909)
  Fix warning level test.
  Fix bootstrap on Linux/Mac (dotnet#34978)
  disable completion for immediate window commands (dotnet#32631)
  Updated PreviewWarning color
  Implement design changes for "pattern" Index/Range indexers  (dotnet#34897)
  Add IVTs to 16.1 version of RemoteLS
  ...
  • Loading branch information
333fred committed Apr 17, 2019
2 parents 1ddf374 + d6e44b8 commit 4af8b47
Show file tree
Hide file tree
Showing 1,304 changed files with 125,122 additions and 39,739 deletions.
4 changes: 4 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ indent_size = 2
[*.json]
indent_size = 2

# Powershell files
[*.ps1]
indent_size = 2

# Shell script files
[*.sh]
end_of_line = lf
Expand Down
2 changes: 1 addition & 1 deletion Compilers.sln
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "CSharpAnalyzerDriver", "src
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "BasicAnalyzerDriver", "src\Compilers\VisualBasic\BasicAnalyzerDriver\BasicAnalyzerDriver.shproj", "{E8F0BAA5-7327-43D1-9A51-644E81AE55F1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IlAsmDeploy", "src\Tools\ILAsm\IlAsmDeploy.csproj", "{46B3E63A-C462-4133-9F27-3B85DA5E7D37}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILAsm", "src\Tools\ILTools\ILTools.proj", "{46B3E63A-C462-4133-9F27-3B85DA5E7D37}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Packages", "Packages", "{274B96B7-F815-47E3-9CA4-4024A57A478F}"
EndProject
Expand Down
76 changes: 28 additions & 48 deletions Roslyn.sln

Large diffs are not rendered by default.

24 changes: 14 additions & 10 deletions azure-pipelines-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,44 @@
trigger:
- master
- master-vs-deps
- dev16.0-preview3
- dev16.0-preview3-vs-deps
- dev16.0
- dev16.0-vs-deps
- dev16.1-preview2
- dev16.1-preview2-vs-deps

# Branches that trigger builds on PR
pr:
- master
- master-vs-deps
- features/*
- demos/*
- dev16.0-preview3
- dev16.0-preview3-vs-deps
- dev16.0
- dev16.0-vs-deps
- dev16.1-preview2
- dev16.1-preview2-vs-deps

jobs:
- job: Windows_VisualStudio_Integration_Tests
- job: VS_Integration
pool: dotnet-external-vs2019-preview
strategy:
maxParallel: 4
matrix:
debug:
debug_async:
_configuration: Debug
_useLegacyCompletion: false
release:
_completionName: Async
release_async:
_configuration: Release
_useLegacyCompletion: false
_completionName: Async
debug_legacy:
_configuration: Debug
_useLegacyCompletion: true
_completionName: Legacy
release_legacy:
_configuration: Release
_useLegacyCompletion: true
_completionName: Legacy
timeoutInMinutes: 135

steps:
Expand All @@ -48,14 +52,14 @@ jobs:
testRunner: XUnit
testResultsFiles: $(Build.SourcesDirectory)\artifacts\TestResults\$(_configuration)\*.xml
mergeTestResults: true
testRunTitle: 'Windows Visual Studio Integration $(_configuration)_$(_useLegacyCompletion)'
testRunTitle: '$(System.JobAttempt)-Integration $(_configuration) $(_completionName)'
condition: always()

- task: PublishBuildArtifacts@1
displayName: Publish Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\log\$(_configuration)'
ArtifactName: 'Windows Visual Studio Integration $(_configuration)_$(_useLegacyCompletion)'
ArtifactName: '$(System.JobAttempt)-Logs $(_configuration) $(_completionName) $(Build.BuildNumber)'
publishLocation: Container
continueOnError: true
condition: not(succeeded())
Expand All @@ -64,7 +68,7 @@ jobs:
displayName: Publish Screenshots
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\bin\Microsoft.VisualStudio.LanguageServices.IntegrationTests\$(_configuration)\net472\xUnitResults'
ArtifactName: 'Screenshots $(_configuration)_$(_useLegacyCompletion)'
ArtifactName: '$(System.JobAttempt)-Screenshots $(_configuration) $(_completionName) $(Build.BuildNumber)'
publishLocation: Container
continueOnError: true
condition: not(succeeded())
14 changes: 8 additions & 6 deletions azure-pipelines-official.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@ resources:
- repo: self
clean: true

variables:
SignType: real
SkipTests: false
SkipApplyOptimizationData: false
IbcSourceBranchName: 'default'
IbcDropId: 'default'
# Variables defined in yml cannot be overridden at queue time instead overrideable variables must be defined in the web gui.
# Commenting out until AzDO supports something like the runtime parameters outlined here: https://github.com/Microsoft/azure-pipelines-yaml/pull/129
#variables:
# SignType: real
# SkipTests: false
# SkipApplyOptimizationData: false
# IbcSourceBranchName: 'default'
# IbcDropId: 'default'

jobs:
- job: OfficialBuild
Expand Down
39 changes: 33 additions & 6 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@ trigger:
- master-vs-deps
- features/*
- demos/*
- dev16.0-preview3
- dev16.0-preview3-vs-deps
- dev16.0
- dev16.0-vs-deps
- dev16.1-preview2
- dev16.1-preview2-vs-deps

# Branches that trigger builds on PR
pr:
- master
- master-vs-deps
- features/*
- demos/*
- dev16.0-preview3
- dev16.0-preview3-vs-deps
- dev16.0
- dev16.0-vs-deps
- dev16.1-preview2
- dev16.1-preview2-vs-deps

jobs:
- job: Windows_Desktop_Unit_Tests
Expand Down Expand Up @@ -179,14 +179,14 @@ jobs:
condition: succeeded()

- job: Linux_Test
pool:
pool:
name: NetCorePublic-Int-Pool
queue: BuildPool.Ubuntu.1604.amd64.Open
strategy:
maxParallel: 2
matrix:
coreclr:
_args: --testCoreClr
_args: --testCoreClr --docker
_name: CoreClr
_configuration: Debug
mono:
Expand Down Expand Up @@ -215,3 +215,30 @@ jobs:
continueOnError: true
condition: not(succeeded())

- job: macOS_Test
pool:
vmImage: 'macOS-10.13'
timeoutInMinutes: 90

steps:
- script: ./eng/cibuild.sh --configuration Debug --prepareMachine --testCoreClr
displayName: Build and Test

- task: PublishTestResults@2
displayName: Publish xUnit Test Results
inputs:
testRunner: XUnit
testResultsFiles: '$(Build.SourcesDirectory)/artifacts/TestResults/Debug/*.xml'
mergeTestResults: true
testRunTitle: 'macOS CoreClr'
condition: always()

- task: PublishBuildArtifacts@1
displayName: Publish Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/Debug'
ArtifactName: 'macOS CoreClr'
publishLocation: Container
continueOnError: true
condition: not(succeeded())

8 changes: 4 additions & 4 deletions docs/Language Feature Status.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ efforts behind them.

| Feature | Branch | State | Developers | Reviewer | LDM Champ |
| ------- | ------ | ----- | ---------- | -------- | --------- |
| [Default Interface Methods](https://github.com/dotnet/csharplang/blob/master/proposals/default-interface-methods.md) | [defaultInterfaceImplementation](https://github.com/dotnet/roslyn/tree/features/DefaultInterfaceImplementation) | [Prototype](https://github.com/dotnet/roslyn/issues/19217) | [AlekseyTs](https://github.com/AlekseyTs) | [gafter](https://github.com/gafter) | [gafter](https://github.com/gafter) |
| [Default Interface Methods](https://github.com/dotnet/csharplang/blob/master/proposals/default-interface-methods.md) | [defaultInterfaceImplementation](https://github.com/dotnet/roslyn/tree/features/DefaultInterfaceImplementation) | [Merged to dev16.1 preview2](https://github.com/dotnet/roslyn/issues/19217) | [AlekseyTs](https://github.com/AlekseyTs) | [gafter](https://github.com/gafter) | [gafter](https://github.com/gafter) |
| [Nullable reference type](https://github.com/dotnet/csharplang/blob/master/proposals/nullable-reference-types.md) | [NullableReferenceTypes](https://github.com/dotnet/roslyn/tree/features/NullableReferenceTypes) | [Merged to dev16.0 preview1](https://github.com/dotnet/roslyn/issues/22152) | [cston](https://github.com/cston), [jcouv](https://github.com/jcouv) | [AlekseyTs](https://github.com/AlekseyTs), [333fred](https://github.com/333fred) | [mattwar](https://github.com/mattwar) |
| [Recursive patterns](https://github.com/dotnet/csharplang/blob/master/proposals/patterns.md) | [recursive-patterns](https://github.com/dotnet/roslyn/tree/features/recursive-patterns) | [Merged to dev16.0 preview2](https://github.com/dotnet/roslyn/issues/25935) | [gafter](https://github.com/gafter) | [agocke](https://github.com/agocke), [cston](https://github.com/cston) | [gafter](https://github.com/gafter) |
| [Async streams](https://github.com/dotnet/csharplang/blob/master/proposals/async-streams.md) | [async-streams](https://github.com/dotnet/roslyn/tree/features/async-streams) | [Merged to dev16.0 preview1](https://github.com/dotnet/roslyn/issues/24037) | [jcouv](https://github.com/jcouv) | [agocke](https://github.com/agocke) | [stephentoub](https://github.com/stephentoub) |
Expand All @@ -26,14 +26,14 @@ efforts behind them.
| [stackalloc in nested contexts](https://github.com/dotnet/csharplang/issues/1412) | [nested-stackalloc](https://github.com/dotnet/roslyn/tree/features/nested-stackalloc) | [In Progress](https://github.com/dotnet/roslyn/issues/28968) | [gafter](https://github.com/gafter) | - | [gafter](https://github.com/gafter)
| [Unmanaged generic structs](https://github.com/dotnet/csharplang/issues/1744) | master | [Merged to dev16.1 preview1](https://github.com/dotnet/roslyn/issues/31374) | [RikkiGibson](https://github.com/RikkiGibson) | - | [jaredpar](https://github.com/jaredpar) |
| [Static local functions](https://github.com/dotnet/csharplang/issues/1565) | master | [Merged in dev16.0 preview2](https://github.com/dotnet/roslyn/issues/32069) | [cston](https://github.com/cston) | [jaredpar](https://github.com/jaredpar) | [jcouv](https://github.com/jcouv)
| [Readonly members](https://github.com/dotnet/csharplang/issues/1710) | [readonly-members](https://github.com/dotnet/roslyn/tree/features/readonly-members) | [Prototype](https://github.com/dotnet/roslyn/issues/32911) | [RikkiGibson](https://github.com/RikkiGibson) | TBD | [jaredpar](https://github.com/jaredpar)
| [Readonly members](https://github.com/dotnet/csharplang/issues/1710) | [readonly-members](https://github.com/dotnet/roslyn/tree/features/readonly-members) | [Merged to dev16.1 preview2](https://github.com/dotnet/roslyn/issues/32911) | [RikkiGibson](https://github.com/RikkiGibson) | TBD | [jaredpar](https://github.com/jaredpar)

# VB 16.0

| Feature | Branch | State | Developers | Reviewer | LDM Champ |
| ------- | ------ | ----- | ---------- | -------- | --------- |
| [Line continuation comments](https://github.com/dotnet/vblang/issues/65) | [continuation-comments](https://github.com/dotnet/roslyn/tree/features/continuation-comments) | Prototype | [paul1956](https://github.com/paul1956) | [AlekseyTs](https://github.com/AlekseyTs) | [gafter](https://github.com/gafter) |
| [Relax null coalesing operator requirements](https://github.com/dotnet/vblang/issues/339) | [null-operator-enhancements](https://github.com/dotnet/roslyn/tree/features/null-operator-enhancements) | In Progress | [333fred](https://github.com/333fred) | [cston](https://github.com/cston) | [gafter](https://github.com/gafter) |
| [Line continuation comments](https://github.com/dotnet/vblang/issues/65) | [continuation-comments](https://github.com/dotnet/roslyn/tree/features/continuation-comments) | Merged in 16.1 (preview2) | [paul1956](https://github.com/paul1956) | [AlekseyTs](https://github.com/AlekseyTs) | [gafter](https://github.com/gafter) |
| [Relax null-coalescing operator requirements](https://github.com/dotnet/vblang/issues/339) | [null-operator-enhancements](https://github.com/dotnet/roslyn/tree/features/null-operator-enhancements) | Merged in 16.0 | [333fred](https://github.com/333fred) | [cston](https://github.com/cston) | [gafter](https://github.com/gafter) |

# C# 7.3

Expand Down
10 changes: 10 additions & 0 deletions docs/compilers/CSharp/Compiler Breaking Changes - post VS2019.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## This document lists known breaking changes in Roslyn in *Visual Studio 2019 Update 1* and beyond compared to *Visual Studio 2019*.

*Breaks are formatted with a monotonically increasing numbered list to allow them to referenced via shorthand (i.e., "known break #1").
Each entry should include a short description of the break, followed by either a link to the issue describing the full details of the break or the full details of the break inline.*

1. https://github.com/dotnet/roslyn/issues/34882 A new feature in C# `8.0` will permit using a constant pattern with an open type. For example, the following code will be permitted:
``` c#
bool M<T>(T t) => t is null;
```
However, in *Visual Studio 2019* we improperly permitted this to compile in language versions `7.0`, `7.1`, `7.2`, and `7.3`. In *Visual Studio 2019 Update 1* we will make it an error (as it was in *Visual Studio 2017*), and suggest updating to `preview` or `8.0`.
32 changes: 12 additions & 20 deletions docs/contributing/Building, Debugging, and Testing on Unix.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,13 @@ https://help.github.com/articles/connecting-to-github-with-ssh/
The best way to debug is using lldb with the SOS plugin. This is the same SOS as used in WinDbg and if you're familiar
with it then lldb debugging will be pretty straight forward.

Here are the CoreCLR guidelines for Linux debugging:
The [dotnet/diagnostics](https://github.com/dotnet/diagnostics) repo has more information:

- [Getting LLDB](https://github.com/dotnet/diagnostics/blob/master/documentation/lldb/linux-instructions.md)
- [Installing SOS](https://github.com/dotnet/diagnostics/blob/master/documentation/installing-sos-instructions.md)
- [Using SOS](https://github.com/dotnet/diagnostics/blob/master/documentation/sos-debugging-extension.md)

CoreCLR also has some guidelines for specific Linux debugging scenarios:

- https://github.com/dotnet/coreclr/blob/master/Documentation/botr/xplat-minidump-generation.md
- https://github.com/dotnet/coreclr/blob/master/Documentation/building/debugging-instructions.md#debugging-core-dumps-with-lldb.
Expand All @@ -31,25 +37,9 @@ Corrections:
- LLDB and createdump must be run as root
- `dotnet tool install -g dotnet-symbol` must be run from `$HOME`

Furthermore the version of SOS that comes with the runtime will likely not work with the lldb you have. In order to
use SOS you will need to build it by hand

1. Clone git@github.com:dotnet/diagnostics.git
1. Run `./build.sh`

This will produce libsosplugin.so that can be used in lldb. Once it's built you can start lldb with the following
command line (replace `/home/jaredpar` as appropriate):

``` bash
> sudo lldb -o "plugin load /home/jaredpar/code/diagnostics/artifacts/Debug/bin/Linux.x64/libsosplugin.so"
/home/jaredpar/code/roslyn/Binaries/Tools/dotnet/dotnet
```

From there you should be able to attach to running processes or load up coredumps.

### Core Dumps
The CoreClr does not used the standard core dumping mechanisms on Linux. Instead you must specify via
enviroment variables that you want a core dump to be produced. The simplest setup is to do the following:
environment variables that you want a core dump to be produced. The simplest setup is to do the following:

```
> export COMPlus_DbgEnableMiniDump=1
Expand All @@ -58,8 +48,10 @@ enviroment variables that you want a core dump to be produced. The simplest setu

This will cause full memory dumps to be produced which can then be loaded into LLDB.

A preview of [dotnet-dump](https://github.com/dotnet/diagnostics/blob/master/documentation/dotnet-dump-instructions.md) is also available for interactively creating and analyzing dumps.

### GC stress failures
When you suspect there is a GC failure related to your test then you can use the following environement variables
When you suspect there is a GC failure related to your test then you can use the following environment variables
to help track it down.

```
Expand All @@ -78,7 +70,7 @@ Note: this variables can also be used on Windows as well.

## Ubuntu 18.04
The recommended OS for developing Roslyn is Ubuntu 18.04. This guide was written using Ubuntu 18.04 but should be
applicable to most Linux enviroments. Ubuntu 18.04 was chosen here due to it's support for enhanced VMs in Hyper-V.
applicable to most Linux environments. Ubuntu 18.04 was chosen here due to it's support for enhanced VMs in Hyper-V.
This makes it easier to use from a Windows machine: full screen, copy / paste, etc ...

### Hyper-V
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ The minimal required version of .NET Framework is 4.7.2.
- Ensure C#, VB, MSBuild, .NET Core and Visual Studio Extensibility are included in the selected work loads
- Ensure Visual Studio is on Version "RC1" or greater
- Ensure "Use Previews" is checked in Tools -> Options -> Projects and Solutions -> .NET Core
1. [.NET Core SDK 3.0 Preview 3](https://dotnet.microsoft.com/download/dotnet-core/3.0) [Windows x64 installer](https://dotnet.microsoft.com/download/thank-you/dotnet-sdk-3.0.100-preview3-windows-x64-installer)
1. [.NET Core SDK 3.0 Preview 4](https://dotnet.microsoft.com/download/dotnet-core/3.0) [Windows x64 installer](https://dotnetcli.azureedge.net/dotnet/Sdk/3.0.100-preview4-010963/dotnet-sdk-3.0.100-preview4-010963-win-x64.exe )
1. [PowerShell 5.0 or newer](https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-windows-powershell). If you are on Windows 10, you are fine; you'll only need to upgrade if you're on Windows 7. The download link is under the "upgrading existing Windows PowerShell" heading.
1. Run Restore.cmd
1. Open Roslyn.sln
Expand Down Expand Up @@ -77,7 +77,7 @@ binaries. This means trying out a change to the language, IDE or debugger is as
simple as hitting F5.

The startup project needs to be set to `RoslynDeployment`. This should be
the default but in same cases will need to be set explicitly.
the default but in some cases will need to be set explicitly.

Here are what is deployed with each extension, by project that builds it. If
you're working on a particular area, you probably want to set the appropriate
Expand Down
1 change: 1 addition & 0 deletions docs/contributing/Compiler Test Plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ This document provides guidance for thinking about language interactions and tes
- NoPIA
- Dynamic
- Ref structs, Readonly structs
- Readonly members on structs (methods, property/indexer accessors, custom event accessors)

# Code
- Operators (see Eric's list below)
Expand Down
Loading

0 comments on commit 4af8b47

Please sign in to comment.