Skip to content

Merge "list-patterns" feature into main branch#57962

Merged
jcouv merged 58 commits intomainfrom
features/list-patterns
Nov 24, 2021
Merged

Merge "list-patterns" feature into main branch#57962
jcouv merged 58 commits intomainfrom
features/list-patterns

Conversation

@jcouv
Copy link
Copy Markdown
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 jcouv self-assigned this Nov 24, 2021
@ghost ghost added the Area-Compilers label Nov 24, 2021
@jcouv
Copy link
Copy Markdown
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 requested review from AlekseyTs and jaredpar 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
Copy Markdown
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
Copy Markdown
Member

.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