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 "list-patterns" feature into main branch #57962

Merged
merged 58 commits into from
Nov 24, 2021
Merged

Conversation

jcouv
Copy link
Member

@jcouv jcouv commented Nov 24, 2021

FYI @AlekseyTs @333fred
Relates to test plan #51289

msftbot[bot] and others added 30 commits February 21, 2021 03:11
…patterns

Merge master to features/list-patterns
…patterns

Merge master to features/list-patterns
…tterns

Merge main to features/list-patterns
…tterns

Merge main to features/list-patterns
…tterns

Merge main to features/list-patterns
…tterns

Merge main to features/list-patterns
…tterns

Merge main to features/list-patterns
…tterns

Merge main to features/list-patterns
Refresh `features/list-patterns` with latest bits from `main` branch
# Conflicts:
#	src/Compilers/CSharp/Portable/Binder/Binder_Expressions.cs
#	src/Compilers/CSharp/Portable/Binder/Binder_Patterns.cs
#	src/Compilers/CSharp/Portable/Errors/MessageID.cs
#	src/Compilers/CSharp/Portable/FlowAnalysis/DefiniteAssignment.cs
#	src/Compilers/CSharp/Portable/Lowering/LocalRewriter/LocalRewriter.cs
#	src/Compilers/CSharp/Portable/Lowering/LocalRewriter/LocalRewriter_AssignmentOperator.cs
#	src/Compilers/CSharp/Portable/Lowering/LocalRewriter/LocalRewriter_Call.cs
#	src/Compilers/CSharp/Portable/Lowering/LocalRewriter/LocalRewriter_FunctionPointerInvocation.cs
#	src/Compilers/CSharp/Portable/Lowering/LocalRewriter/LocalRewriter_IndexerAccess.cs
#	src/Compilers/CSharp/Portable/Lowering/LocalRewriter/LocalRewriter_ObjectOrCollectionInitializerExpression.cs
#	src/Compilers/CSharp/Portable/PublicAPI.Unshipped.txt
#	src/Compilers/CSharp/Portable/xlf/CSharpResources.cs.xlf
#	src/Compilers/CSharp/Portable/xlf/CSharpResources.de.xlf
#	src/Compilers/CSharp/Portable/xlf/CSharpResources.es.xlf
#	src/Compilers/CSharp/Portable/xlf/CSharpResources.fr.xlf
#	src/Compilers/CSharp/Portable/xlf/CSharpResources.it.xlf
#	src/Compilers/CSharp/Portable/xlf/CSharpResources.ja.xlf
#	src/Compilers/CSharp/Portable/xlf/CSharpResources.ko.xlf
#	src/Compilers/CSharp/Portable/xlf/CSharpResources.pl.xlf
#	src/Compilers/CSharp/Portable/xlf/CSharpResources.pt-BR.xlf
#	src/Compilers/CSharp/Portable/xlf/CSharpResources.ru.xlf
#	src/Compilers/CSharp/Portable/xlf/CSharpResources.tr.xlf
#	src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hans.xlf
#	src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hant.xlf
#	src/Compilers/Test/Utilities/CSharp/TestOptions.cs
Merge main into features/list-patterns
…tterns

Merge main to features/list-patterns
…tterns

Merge main to features/list-patterns
…tterns

Merge main to features/list-patterns
…tterns

Merge main to features/list-patterns
…tterns

Merge main to features/list-patterns
alrz and others added 13 commits October 28, 2021 11:47
Merge `main` branch into `list-patterns` branch
Merge `main` branch into `list-patterns`
…tterns

Merge main to features/list-patterns
Co-authored-by: AlekseyTs <AlekseyTs@users.noreply.github.com>

This changes the bound tree representation of list patterns, slice patterns and implicit indexer accesses to avoid storing property or method symbols. Instead we store BoundIndexerAccess/BoundArrayAccess/BoundCall, which be obtain from existing "Bind*" methods and that we run through `CheckValue`. This ensures that we're not missing on all the validation rules which those include.
We intend to do some further refactoring, allowing `CheckValue` to properly deal with placeholders. This will allow us to store the Receiver separately from the IndexerOrSliceAccess and leverage existing placeholder infrastructure.
…tterns

Merge main to features/list-patterns
@jcouv
Copy link
Member Author

jcouv commented Nov 24, 2021

@alrz FYI the feature will likely get merged before your latest PR (#57934). If so, we'll just have to retarget the PR. Thanks

@jcouv jcouv marked this pull request as ready for review November 24, 2021 17:02
@jcouv jcouv requested review from a team as code owners November 24, 2021 17:02
@jcouv jcouv merged commit 19d3159 into main Nov 24, 2021
@ghost ghost added this to the Next milestone Nov 24, 2021
@jcouv
Copy link
Member Author

jcouv commented Nov 24, 2021

The list-patterns feature was merged for VS 17.1p2 and .NET 6.0.200.
Thanks @alrz, @333fred and @AlekseyTs

@allisonchou allisonchou modified the milestones: Next, 17.1.P2 Nov 30, 2021
@RikkiGibson
Copy link
Contributor

.NET 6.0.200

marking my calendar for when Roslyn can adopt the feature :)

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.

7 participants