Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge master to features/source-generators #45502

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
6e078f4
Fix descriptions for XMLDoc Triple Apostrophes in some languages.
gekka May 18, 2020
c6d6235
Add comment to resx for translator
gekka May 19, 2020
7b0aaff
Implicit var switch expression fix
allisonchou May 27, 2020
15a1a7a
Clarify comment
allisonchou May 27, 2020
8c62f62
Fix exception in declare-as-nullable code fix (#44338)
dymanoid May 27, 2020
865209a
Added tests regarding bug 11510
Jun 2, 2020
7824bf9
Fixed the test and issue where indexers were not highlighted if their…
Jun 10, 2020
c5dcda2
Fixed some spacing issues
Jun 10, 2020
0d6b83e
Removed an unecessary test, made the test change more compact, made t…
Jun 10, 2020
15f9a09
Made test method names better
Jun 10, 2020
1969897
Actually fixed the test method names, forgot to save last time
Jun 11, 2020
0615473
Removed the special case of the parameter entirely
Jun 11, 2020
b2b7139
Make extention method of array types simple in index
genlu Jun 15, 2020
a8d8245
Add API review notes for d16.7
333fred Jun 16, 2020
773b341
Support FieldDeclarationSyntax in CS8618 fixer
Youssef1313 Jun 16, 2020
6878961
Make receiver type name part of the extension method filter
genlu Jun 16, 2020
ca70f85
Add info about whether a complex receiver type is an array to Symbolt…
genlu Jun 16, 2020
5b3577b
Fix the failure
Youssef1313 Jun 17, 2020
1477f00
Update CSharpDeclareAsNullableCodeFixTests.cs
Youssef1313 Jun 17, 2020
a6a49ef
Apply feedback
Youssef1313 Jun 17, 2020
e833d92
Update CSharpDeclareAsNullableCodeFixTests.cs
Youssef1313 Jun 17, 2020
0335c20
Update CSharpDeclareAsNullableCodeFixTests.cs
Youssef1313 Jun 17, 2020
617846f
Update src/EditorFeatures/CSharpTest/Diagnostics/Nullable/CSharpDecla…
CyrusNajmabadi Jun 17, 2020
fda2b7d
Don't serialize method symbols from PE references
genlu Jun 17, 2020
ca892c8
Add info for receiver of complex array type in syntax index
genlu Jun 18, 2020
386dd3b
Fix completion of ext-method for receiver of type parameter type
genlu Jun 18, 2020
27f94ef
Add missing semi-colon in test
Youssef1313 Jun 18, 2020
2313621
Update src/EditorFeatures/CSharpTest/Diagnostics/Nullable/CSharpDecla…
Youssef1313 Jun 18, 2020
9d9322c
Fix regression
genlu Jun 18, 2020
6866afa
Require completion list to be shown after typing first quote
jnm2 Jun 19, 2020
8252837
Show completion list after typing quote characters
jnm2 Jun 19, 2020
e1041a4
Make 'G' the default format code because it matches DateTime.ToString()
jnm2 Jun 19, 2020
7087a17
Add new public APIs to CompilationWithAnalyzers to fetch syntax and s…
mavasani Jun 19, 2020
c921538
Refactor IDE open file diagnostic analysis + some perf improvements
mavasani Jun 19, 2020
6ec37b1
Make VisitType tail recursive in more cases.
333fred Jun 19, 2020
acdc9cc
Refactor to ensure single CompilationWithAnalyzers is created for doc…
mavasani Jun 21, 2020
5f2abba
Add new public APIs to CompilationWithAnalyzers to fetch syntax and s…
mavasani Jun 19, 2020
72a631d
Fix doc comments and one callsite
mavasani Jun 21, 2020
019199b
Fix doc comments and one callsite
mavasani Jun 21, 2020
730e634
Merge pull request #45309 from jnm2/show_formatting_intellisense_afte…
CyrusNajmabadi Jun 22, 2020
9fbd5fe
Address review comments
genlu Jun 22, 2020
968f15d
Fix handling of ValueTupe type of tuple form in source
genlu Jun 22, 2020
314cbb3
Cache `TypeArgumentsWithAnnotationsNoUseSiteDiagnostics` in a local.
333fred Jun 22, 2020
7ca148c
Support datetime completion in interpolation format clauses.
CyrusNajmabadi Jun 22, 2020
45588cc
Safety
CyrusNajmabadi Jun 22, 2020
39d2322
Use constants for complex receiver type names
genlu Jun 22, 2020
8bd9b04
Document and test how CanApplyParse/CompilationOptions works
jasonmalinowski Jun 17, 2020
16bd662
Merge pull request #45227 from Youssef1313/nullable-cs8618-bug
jasonmalinowski Jun 23, 2020
4129ecb
Merge pull request #43569 from zaytsev-victor/Fixes43267
CyrusNajmabadi Jun 23, 2020
a69d15b
Remove IActiveStatementSpanTracker from the MEF catalog
sharwell Jun 23, 2020
00ebef4
Fix registration of IActiveStatementSpanTrackerFactory
sharwell Jun 23, 2020
212fc8f
Give an example in the non-exhaustive diagnostic (#44702)
Jun 23, 2020
5a85e7f
Include line numbers in Integration Test stack traces
tmat Jun 23, 2020
8c77320
Merge branch 'master' of github.com:dotnet/roslyn into SwitchExpressi…
allisonchou Jun 23, 2020
eb5197d
Remove unnecessary code
allisonchou Jun 23, 2020
9a29e6a
Cache ReduceExtensionMethod result per receiver type
genlu Jun 23, 2020
022b6e6
Lazily realize IOperation.ConstantValue
333fred Jun 12, 2020
373d430
Merge pull request #45373 from sharwell/span-tracker
sharwell Jun 23, 2020
0c92f53
Merge pull request #45328 from 333fred/visit-type-tail
333fred Jun 23, 2020
35b67f8
Binder Check for Unbound Generics in Methods (#45033)
Jun 23, 2020
430056a
Do not permit default literals in relational patterns (#45375)
Jun 23, 2020
6230bcd
Merge pull request #45211 from 333fred/api-notes
333fred Jun 23, 2020
c4674ce
Merge pull request #44604 from dymanoid/declare-as-nullable-code-fix
sharwell Jun 23, 2020
09db48d
Finalize the design for the shape of the BaseTypeSyntax for records a…
AlekseyTs Jun 23, 2020
9a658fa
Annotate more public syntax APIs (#44266)
jcouv Jun 23, 2020
6ac9071
Address SymbolKey resolution issue when projects targeting different …
genlu Jun 24, 2020
7f5df27
Sg latebreak fixes (#45357)
chsienki Jun 24, 2020
69a2f55
Remove unnecessary setting
tmat Jun 24, 2020
2df7d87
Ignore SymbolKeys failed to resolve due to different target framework
genlu Jun 24, 2020
c2d0166
Enable AdditionalFiles to respect CopyToOutputDirectory option (#45406)
chsienki Jun 24, 2020
892df31
Add missing guid on Code Style/Formatting/New Lines option page (#45407)
tmat Jun 24, 2020
c8d3f43
Update Binder_WithExpression.cs (#45397)
RikkiGibson Jun 24, 2020
8968bc9
Address offline feedback from Aleksey and add GetAnalysisResultAsync …
mavasani Jun 24, 2020
27dc1e9
Update test name and comment
mavasani Jun 24, 2020
037bfae
Address offline feedback from Aleksey and add GetAnalysisResultAsync …
mavasani Jun 24, 2020
abdbc3c
Update test name and comment
mavasani Jun 24, 2020
8386713
Address feedback + update DocumentAnalysisExecutor to use the new Get…
mavasani Jun 24, 2020
2f626aa
Fix region analysis for checked, unchecked, and unsafe blocks. (#45334)
Jun 24, 2020
f1fa80a
Simplified logic for the test code
Jun 24, 2020
fe31d6f
Update src/EditorFeatures/Test2/ReferenceHighlighting/AbstractReferen…
akhera99 Jun 24, 2020
2616eca
Update src/EditorFeatures/Test2/ReferenceHighlighting/AbstractReferen…
akhera99 Jun 24, 2020
d2e59f5
Remove some unused parameters
jasonmalinowski Jun 19, 2020
ad347e0
Delete some dead code
jasonmalinowski Jun 24, 2020
2210f33
Don't fetch output paths for some Intellisense projects
jasonmalinowski Jun 19, 2020
45f802e
Address feedback
mavasani Jun 24, 2020
6f9c8b6
Remove the OperationConstantValue wrapper type and push the WeakRefer…
333fred Jun 24, 2020
c8b7158
Removed unused declaration.
333fred Jun 24, 2020
82aac2c
Merge pull request #45035 from akhera99/bug_11510
akhera99 Jun 25, 2020
988813b
Temporarily restore warning
allisonchou Jun 25, 2020
41671b2
Update xlf files with notes
jasonmalinowski Jun 25, 2020
70b1410
Fix compilation error, remove extraneous block.
333fred Jun 25, 2020
25cc3f3
Merge pull request #44581 from allisonchou/SwitchExpressionError
allisonchou Jun 25, 2020
38eb489
Merge pull request #45347 from mavasani/NewApi_CompilationWithAnalyzers
mavasani Jun 25, 2020
8acc9e8
Use reference null check followed by access in VB.
333fred Jun 25, 2020
b220db4
Enhance tests to show that Roslyn run on coreclr parses decimal liter…
Jun 25, 2020
c3b4ade
Document https://github.com/dotnet/roslyn/issues/32732 (#45440)
Jun 25, 2020
4d15a42
Fix inconsistencies in handling CompilerVisibleItemMetadata
sharwell Jun 25, 2020
29eced9
Address feedback
mavasani Jun 24, 2020
1577f48
Merge remote-tracking branch 'upstream/master' into OpenFileAnalysis
mavasani Jun 25, 2020
a807e98
Correct constant value logic in vb forto loops.
333fred Jun 25, 2020
b321457
Remove redundant conditional.
333fred Jun 25, 2020
6a7aa5f
Merge pull request #45266 from jasonmalinowski/document-and-add-tests…
jasonmalinowski Jun 25, 2020
e75f8da
Merge pull request #45316 from jasonmalinowski/fix-project-references…
Jun 25, 2020
2e23352
Move SourceOrdinaryMethodSymbol functionality that is not syntax spec…
AlekseyTs Jun 25, 2020
d2a074f
Remove unnecessary conditional compilation
sharwell Jun 24, 2020
b840ec1
Track unrooted symbols in HashSet instead of ConditionalWeakTable
sharwell Jun 24, 2020
92fa91b
Simplify weak set usage with WeakSet<T>
sharwell Jun 25, 2020
fd0e340
Merge pull request #45322 from mavasani/OpenFileAnalysis
Jun 25, 2020
f2657e4
Code cleanup from review
sharwell Jun 25, 2020
8f795fd
Update src/Features/Core/Portable/Completion/Providers/ImportCompleti…
genlu Jun 25, 2020
3b9099a
Address review comments
genlu Jun 25, 2020
fc5fe37
Merge pull request #45464 from sharwell/rm-conditional
sharwell Jun 25, 2020
44a5287
Use loop instead of enumerator
genlu Jun 25, 2020
7a836c8
Merge pull request #45127 from 333fred/constant-value
333fred Jun 25, 2020
b001cfa
Extract SourcePropertySymbolBase class (#45411)
agocke Jun 26, 2020
e57870e
Merge pull request #44336 from gekka/master
jasonmalinowski Jun 26, 2020
7aed56f
Update dependencies from https://github.com/dotnet/roslyn build 20200…
dotnet-maestro[bot] Jun 26, 2020
3c614d2
Correctly support local functions in function pointer loads. Fixes ht…
333fred Jun 26, 2020
87304a1
Merge pull request #45435 from sharwell/reference-holder
sharwell Jun 26, 2020
2875d18
Fix failure to reuse pooled connections
sharwell Jun 26, 2020
ab5e21a
Correctly bind function pointer arguments for error recovery. Fixes h…
333fred Jun 26, 2020
801f1ab
Correct baselines.
333fred Jun 26, 2020
da2c25b
Updates the option page type GUID to match the one in pkgdef
tmat Jun 26, 2020
ae195fd
Fix test
genlu Jun 26, 2020
b564311
Merge pull request #45474 from tmat/NewLinesPageGuid
Jun 26, 2020
2545d2c
Merge pull request #45472 from sharwell/connection-pool
sharwell Jun 26, 2020
9c40d6a
Ensure recoverable text is in temporary storage
sharwell Jun 26, 2020
394d1c5
Allow TryGetTextVersion to pass through to the initial source
sharwell Jun 26, 2020
2def19c
Avoid loading document text in AbstractObjectBrowserLibraryManager.Do…
sharwell Jun 26, 2020
915da6a
Merge pull request #45381 from tmat/StackTraceLineNumbers
Jun 26, 2020
12f1b8f
LangVersion 9 (#44911)
chsienki Jun 26, 2020
bd545a6
Replace binary serialization of encoding with a custom serializer. (#…
tmat Jun 26, 2020
a0fdc69
Expand comment in CreateRecoverableText
sharwell Jun 26, 2020
ff10cc4
Add records to compiler test plan (#45434)
jcouv Jun 26, 2020
ced84c0
Merge pull request #45283 from genlu/CompletionPerf
genlu Jun 26, 2020
36c029c
Merge pull request #45455 from sharwell/cookbook-fixes
sharwell Jun 26, 2020
e1133ad
PR Feedback:
333fred Jun 26, 2020
a670e7a
Don't emit ldftn when the result is unused.
333fred Jun 26, 2020
9036462
Add constant inerpolated strings to the test plan, update status for …
333fred Jun 26, 2020
a86f5a9
Move to vnext
333fred Jun 26, 2020
dc6c8e0
Fix typo
333fred Jun 26, 2020
076c90f
Update dependencies from https://github.com/dotnet/arcade build 20200…
dotnet-maestro[bot] Jun 26, 2020
e93dca6
Fix up nondeterminism in serializing naming style preferences
jasonmalinowski Jun 26, 2020
71d1c6f
VisitType in MethodToClassRewriter for function pointers.
333fred Jun 26, 2020
fa69a8c
Merge pull request #45473 from 333fred/func-ptr-bugs
Jun 27, 2020
4e102e1
Merge pull request #45477 from sharwell/touch-document-lite
sharwell Jun 27, 2020
febdd08
Merge pull request #45495 from 333fred/update-feature-status
333fred Jun 27, 2020
327c010
Merge pull request #45483 from jasonmalinowski/fix-serialization-inco…
jasonmalinowski Jun 27, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions Compilers.sln
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CSharpErrorFactsGenerator",
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CSharpSyntaxGenerator", "src\Tools\Source\CompilerGeneratorTools\Source\CSharpSyntaxGenerator\CSharpSyntaxGenerator.csproj", "{288089C5-8721-458E-BE3E-78990DAB5E2D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IOperationGenerator", "src\Tools\Source\CompilerGeneratorTools\Source\IOperationGenerator\CompilersIOperationGenerator.csproj", "{D0A79850-B32A-45E5-9FD5-D43CB345867A}"
EndProject
Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "VisualBasicSyntaxGenerator", "src\Tools\Source\CompilerGeneratorTools\Source\VisualBasicSyntaxGenerator\VisualBasicSyntaxGenerator.vbproj", "{6AA96934-D6B7-4CC8-990D-DB6B9DD56E34}"
EndProject
Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "VisualBasicErrorFactsGenerator", "src\Tools\Source\CompilerGeneratorTools\Source\VisualBasicErrorFactsGenerator\VisualBasicErrorFactsGenerator.vbproj", "{909B656F-6095-4AC2-A5AB-C3F032315C45}"
Expand Down Expand Up @@ -301,6 +303,10 @@ Global
{288089C5-8721-458E-BE3E-78990DAB5E2D}.Debug|Any CPU.Build.0 = Debug|x64
{288089C5-8721-458E-BE3E-78990DAB5E2D}.Release|Any CPU.ActiveCfg = Release|x64
{288089C5-8721-458E-BE3E-78990DAB5E2D}.Release|Any CPU.Build.0 = Release|x64
{D0A79850-B32A-45E5-9FD5-D43CB345867A}.Debug|Any CPU.ActiveCfg = Debug|x64
{D0A79850-B32A-45E5-9FD5-D43CB345867A}.Debug|Any CPU.Build.0 = Debug|x64
{D0A79850-B32A-45E5-9FD5-D43CB345867A}.Release|Any CPU.ActiveCfg = Release|x64
{D0A79850-B32A-45E5-9FD5-D43CB345867A}.Release|Any CPU.Build.0 = Release|x64
{6AA96934-D6B7-4CC8-990D-DB6B9DD56E34}.Debug|Any CPU.ActiveCfg = Debug|x64
{6AA96934-D6B7-4CC8-990D-DB6B9DD56E34}.Debug|Any CPU.Build.0 = Debug|x64
{6AA96934-D6B7-4CC8-990D-DB6B9DD56E34}.Release|Any CPU.ActiveCfg = Release|x64
Expand Down Expand Up @@ -464,6 +470,7 @@ Global
{02459936-CD2C-4F61-B671-5C518F2A3DDC} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC}
{288089C5-8721-458E-BE3E-78990DAB5E2E} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC}
{288089C5-8721-458E-BE3E-78990DAB5E2D} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC}
{D0A79850-B32A-45E5-9FD5-D43CB345867A} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC}
{6AA96934-D6B7-4CC8-990D-DB6B9DD56E34} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC}
{909B656F-6095-4AC2-A5AB-C3F032315C45} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC}
{D0BC9BE7-24F6-40CA-8DC6-FCB93BD44B34} = {A41D1B99-F489-4C43-BBDF-96D61B19A6B9}
Expand Down
3 changes: 2 additions & 1 deletion docs/Language Feature Status.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ efforts behind them.
| [Function pointers](https://github.com/dotnet/csharplang/issues/191) | [function-pointers](https://github.com/dotnet/roslyn/tree/features/function-pointers) | [Merged into 16.7p3](https://github.com/dotnet/roslyn/issues/43321) | [333fred](https://github.com/333fred) | [AlekseyTs](https://github.com/AlekseyTs) | [jaredpar](https://github.com/jaredpar) |
| [Pattern matching improvements](https://github.com/dotnet/csharplang/issues/2850) | master | [Merged into 16.7p1](https://github.com/dotnet/roslyn/issues/40727) | [gafter](https://github.com/gafter) | [RikkiGibson](https://github.com/RikkiGibson),[agocke](https://github.com/agocke) | [gafter](https://github.com/gafter) |
| [Static lambdas](https://github.com/dotnet/csharplang/issues/275) | [features/static-lambdas](https://github.com/dotnet/roslyn/tree/features/static-lambdas) | [In progress](https://github.com/dotnet/roslyn/issues/39606) | [CyrusNajmabadi](https://github.com/CyrusNajmabadi) | [jcouv](https://github.com/jcouv) | [jcouv](https://github.com/jcouv) |
| [Records](https://github.com/dotnet/csharplang/issues/39) | [features/records](https://github.com/dotnet/roslyn/tree/features/records) | [In progress](https://github.com/dotnet/roslyn/issues/40726) | [agocke](https://github.com/agocke) | [gafter](https://github.com/gafter), [333fred](https://github.com/333fred) | [agocke](https://github.com/agocke) |
| [Records](https://github.com/dotnet/csharplang/issues/39) | [features/records](https://github.com/dotnet/roslyn/tree/features/records) | [Merged into 16.7p3](https://github.com/dotnet/roslyn/issues/40726) | [agocke](https://github.com/agocke) | [gafter](https://github.com/gafter), [333fred](https://github.com/333fred) | [agocke](https://github.com/agocke) |
| [Target-typed conditional](https://github.com/dotnet/csharplang/issues/2460) | [features/target-typing](https://github.com/dotnet/roslyn/tree/features/target-typing) | [In Progress](https://github.com/dotnet/roslyn/issues/43186) | [gafter](https://github.com/gafter) | [agocke](https://github.com/agocke), [RikkiGibson](https://github.com/RikkiGibson) | [gafter](https://github.com/gafter) |
| [Covariant](https://github.com/dotnet/csharplang/issues/49) [Returns](https://github.com/dotnet/csharplang/issues/2844) | [features/covariant-returns](https://github.com/dotnet/roslyn/tree/features/covariant-returns) | [In Progress](https://github.com/dotnet/roslyn/issues/43188) | [gafter](https://github.com/gafter) | [AlekseyTs](https://github.com/AlekseyTs), [agocke](https://github.com/agocke) | [gafter](https://github.com/gafter) |
| [Extension GetEnumerator](https://github.com/dotnet/csharplang/issues/3194) | [features/extension-foreach](https://github.com/dotnet/roslyn/tree/features/extension-foreach) | [In Progress](https://github.com/dotnet/roslyn/issues/43184) | [YairHalberstadt](https://github.com/YairHalberstadt) | [333fred](https://github.com/333fred) | [333fred](https://github.com/333fred) |
Expand All @@ -35,6 +35,7 @@ efforts behind them.
| [Caller expression attribute](https://github.com/dotnet/csharplang/issues/287) | [caller-expression](https://github.com/dotnet/roslyn/tree/features/caller-expression) | Prototype | [alrz](https://github.com/alrz) | [jcouv](https://github.com/jcouv) | [jcouv](https://github.com/jcouv) |
| [Generic attributes](https://github.com/dotnet/csharplang/issues/124) | [generic-attributes](https://github.com/dotnet/roslyn/tree/features/generic-attributes) | [In Progress](https://github.com/dotnet/roslyn/issues/36285) | [AviAvni](https://github.com/AviAvni) | [agocke](https://github.com/agocke) | [mattwar](https://github.com/mattwar) |
| [Default in deconstruction](https://github.com/dotnet/roslyn/pull/25562) | [decon-default](https://github.com/dotnet/roslyn/tree/features/decon-default) | [Implemented](https://github.com/dotnet/roslyn/issues/25559) | [jcouv](https://github.com/jcouv) | [gafter](https://github.com/gafter) | [jcouv](https://github.com/jcouv) |
| [Constant Interpolated Strings](https://github.com/dotnet/csharplang/issues/2951) | [features/interpolated-string-constants](https://github.com/dotnet/roslyn/tree/features/interpolated-string-constants) | In Progress | [kevinsun-dev](https://github.com/kevinsun-dev) | [333fred](https://github.com/333fred) | [jaredar](https://github.com/jaredpar), [agocke](https://github.com/agocke) |

# C# 8.0

Expand Down
61 changes: 61 additions & 0 deletions docs/compilers/API Notes/6-11-20.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
### `BaseTypeSyntax` Design

In master, we currently have added an optional argument list to `SimpleBaseTypeSyntax` for record primary constructors. However, there is an argument to be made that we should add a new subtype of `BaseTypeSyntax`, something like `PrimaryConstructorTypeSyntax`, to represent these new base type clauses. This was an explicit extension point added in the original design for this very purpose. For either of these designs, GetSymbolInfo will behave consistently: if the `BaseTypeSyntax` has an argument list (either because it's a separate type or because it's a `PrimaryConstructorTypeSyntax`), it will return the constructor symbol or candidates as appropriate. If there are no arguments, then it will return nothing.

Pros for keeping the optional argument list on `SimpleBaseTypeSyntax`:
* The primary constructor arguments feel like an extension to existing nodes, not a totally new node type
* Existing analyzers/fixers might pick things up right without much modification

Pros for extending `BaseTypeSyntax`:
* This extension point was put in explicitly for this
* Existing code might be less likely to erroneously use it
* There was some feeling that it would serve as a more clear delineation for future additions to this syntax (if such C# features ever come to pass)

#### Conclusion

We lean towards extending `BaseTypeSyntax` in the next preview.

### `CompilationOutputFilePaths`

The plural when this struct only has one path in it currently felt wrong. Some options for renaming:

* `CompilationOutputFileInfo`
* `CompilationOutputInfo`
* `CompilationOutputFiles`

We leave it up to whoever does the rename to choose among these.

### `SolutionInfo.Create`

Add `EditorBrowsable(Never)` to the backcompat overload.

### `SymbolKind.FunctionPointer`

Suffix with `Type` for consistency with the other kinds that are also `TypeKind`s.

### `SyntaxFactory.ParseType`

The new overload should use `ParseOptions` instead of the specific C#/VB type in both factories.
Most of the Parse overloads that take a `ParseOptions` here use the non-specific one, and it can be very convenient for IDE APIs here.
While it is marginally less type-safe, the ergonomic and consistency benefits are a deciding factor.

### `WithExpressionSyntax.Receiver`

This should be renamed to `Expression` for consistency with other `SyntaxNode`s.

### `SymbolFinder.Find(Derived(Classes|Interfaces)|Interfaces)Async`

We should reconsider adding multiple overloads, and instead remove the default parameters from the existing overload and introduce a new overload with `transitive` set to `true` to match current behavior.
This is our standard modus operandi for these scenarios.

### `INegatedPatternOperation.NegatedPattern`

Rename to just `Pattern`.

### `IWithOperation.Value`

Rename to `Operand`.

### `Renamer.RenameDocumentAsync`

Make this and the related structs internal unless we have a partner team ready to consume the API in 16.7. We can make the API public again when someone is ready to consume and validate the API shape.
Original file line number Diff line number Diff line change
Expand Up @@ -117,3 +117,4 @@ Each entry should include a short description of the break, followed by either a
}
}
```
12. https://github.com/dotnet/roslyn/issues/32732 Switch statements that handle both a `true` case and a `false` case are now considered to handle all of the possible input values.
10 changes: 5 additions & 5 deletions docs/contributing/Compiler Test Plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@ This document provides guidance for thinking about language interactions and tes

# Type and members
- Access modifiers (public, protected, internal, protected internal, private protected, private), static, ref
- types
- methods
- fields
- properties (including get/set accessors)
- events (including add/remove accessors)
- type declarations (class, record with or without positional members, struct, interface, type parameter)
- methods
- fields
- properties (including get/set/init accessors)
- events (including add/remove accessors)
- Parameter modifiers (ref, out, in, params)
- Attributes (including security attribute)
- Generics (type arguments, variance, constraints including `class`, `struct`, `new()`, `unmanaged`, `notnull`, types and interfaces with nullability)
Expand Down
8 changes: 4 additions & 4 deletions docs/features/source-generators.cookbook.md
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ public class MyGenerator : ISourceGenerator
- As a generator author I want to make decisions based on the values contained in the project file
- As a user of a generator I want to be able to customize the generated code and override defaults.

**Solution:** MSBuild will automatically translate specified properties and metadata into a global analyzer config that can be read by a generator. A generator author specifies the properties and metadata they want to make available by adding items to the `CompilerVisibleProperty` and `CompilerVisibleMetadata` item groups. These can be added via a props or targets file when packaging the generator as a NuGet package.
**Solution:** MSBuild will automatically translate specified properties and metadata into a global analyzer config that can be read by a generator. A generator author specifies the properties and metadata they want to make available by adding items to the `CompilerVisibleProperty` and `CompilerVisibleItemMetadata` item groups. These can be added via a props or targets file when packaging the generator as a NuGet package.

For example, consider a generator that creates source based on additional files, and wants to allow a user to enable or disable logging via the project file. The author would specify in their props file that they want to make the specified MSBuild property visible to the compiler:

Expand All @@ -474,11 +474,11 @@ context.AnalyzerConfigOptions.GlobalOptions.TryGetValue("build_property.MyGenera

A user can thus enable, or disable logging, by setting a property in their project file.

Now, consider that the generator author wants to optionally allow opting in/out of logging on a per-additional file basis. The author can request that MSBuild emit the value of metadata for the specified file, by adding to the `CompilerVisibleMetadata` item group. The author specifies both the MSBuild itemType they want to read the metadata from, in this case `AdditionalFiles`, and the name of the metadata that they want to retrieve for them.
Now, consider that the generator author wants to optionally allow opting in/out of logging on a per-additional file basis. The author can request that MSBuild emit the value of metadata for the specified file, by adding to the `CompilerVisibleItemMetadata` item group. The author specifies both the MSBuild itemType they want to read the metadata from, in this case `AdditionalFiles`, and the name of the metadata that they want to retrieve for them.

```xml
<ItemGroup>
<CompilerVisibleMetadata Include="AdditionalFiles" MetadataName="MyGenerator_EnableLogging" />
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="MyGenerator_EnableLogging" />
</ItemGroup>
```

Expand Down Expand Up @@ -509,7 +509,7 @@ MyGenerator.props:
<Project>
<ItemGroup>
<CompilerVisibleProperty Include="MyGenerator_EnableLogging" />
<CompilerVisibleMetadata Include="AdditionalFiles" MetadataName="MyGenerator_EnableLogging" />
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="MyGenerator_EnableLogging" />
</ItemGroup>
</Project>
```
Expand Down
8 changes: 4 additions & 4 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
<ProductDependencies>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.20302.3">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.20326.2">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>9b71be0663493cd0e111b55536a2e1eeb272f54c</Sha>
<Sha>ed69753a3ffbdaa08365252c710d57a64d17f859</Sha>
</Dependency>
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="3.7.0-4.20314.5">
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="3.7.0-4.20319.6">
<Uri>https://github.com/dotnet/roslyn</Uri>
<Sha>c2835e1b5cdb18dba1edb7991942abb68ba1b83f</Sha>
<Sha>5911981d56de6afdaa84b26343ab915c5f9aca56</Sha>
</Dependency>
</ToolsetDependencies>
</Dependencies>
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
</MajorVersion>
<MinorVersion>
</MinorVersion>
<MicrosoftNetCompilersToolsetVersion>3.7.0-4.20314.5</MicrosoftNetCompilersToolsetVersion>
<MicrosoftNetCompilersToolsetVersion>3.7.0-4.20319.6</MicrosoftNetCompilersToolsetVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Versions used by several individual references below -->
Expand Down
2 changes: 1 addition & 1 deletion eng/common/sdl/packages.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Guardian.Cli" version="0.7.2"/>
<package id="Microsoft.Guardian.Cli.win10-x64" version="0.20.1"/>
</packages>
2 changes: 1 addition & 1 deletion eng/common/templates/job/execute-sdl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ jobs:
continueOnError: ${{ parameters.sdlContinueOnError }}
- ${{ if eq(parameters.overrideParameters, '') }}:
- powershell: eng/common/sdl/execute-all-sdl-tools.ps1
-GuardianPackageName Microsoft.Guardian.Cli.0.7.2
-GuardianPackageName Microsoft.Guardian.Cli.win10-x64.0.20.1
-NugetPackageDirectory $(Build.SourcesDirectory)\.packages
-AzureDevOpsAccessToken $(dn-bot-dotnet-build-rw-code-rw)
${{ parameters.additionalParameters }}
Expand Down
2 changes: 1 addition & 1 deletion global.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
"xcopy-msbuild": "16.4.0-alpha"
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.20302.3"
"Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.20326.2"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2735,5 +2735,35 @@ static void Main(string[] args)
}",
options: ImplicitTypeEverywhere());
}

[WpfFact, Trait(Traits.Feature, Traits.Features.CodeActionsUseExplicitType)]
[WorkItem(44507, "https://github.com/dotnet/roslyn/issues/44507")]
public async Task DoNotSuggestVarInAmbiguousSwitchExpression()
{
await TestMissingAsync(
@"using System;

class C
{
void M()
{
var i = 1;
[||]C x = i switch
{
0 => new A(),
1 => new B(),
_ => throw new ArgumentException(),
};
}
}

class A : C
{
}

class B : C
{
}", parameters: new TestParameters(options: ImplicitTypeEverywhere()));
}
}
}
3 changes: 2 additions & 1 deletion src/Compilers/CSharp/Portable/Binder/Binder_Attributes.cs
Original file line number Diff line number Diff line change
Expand Up @@ -666,7 +666,7 @@ private ImmutableArray<TypedConstant> GetRewrittenAttributeConstructorArguments(
}
else if (reorderedArgument.Kind == TypedConstantKind.Array &&
parameter.Type.TypeKind == TypeKind.Array &&
!((TypeSymbol)reorderedArgument.TypeInternal).Equals(parameter.Type, TypeCompareKind.AllIgnoreOptions))
!((TypeSymbol)reorderedArgument.TypeInternal!).Equals(parameter.Type, TypeCompareKind.AllIgnoreOptions))
{
// NOTE: As in dev11, we don't allow array covariance conversions (presumably, we don't have a way to
// represent the conversion in metadata).
Expand Down Expand Up @@ -922,6 +922,7 @@ private static bool TryGetNormalParamValue(ParameterSymbol parameter, ImmutableA
}

HashSet<DiagnosticInfo>? useSiteDiagnostics = null; // ignoring, since already bound argument and parameter
Debug.Assert(argument.TypeInternal is object);
Conversion conversion = conversions.ClassifyBuiltInConversion((TypeSymbol)argument.TypeInternal, parameter.Type, ref useSiteDiagnostics);

// NOTE: Won't always succeed, even though we've performed overload resolution.
Expand Down
Loading