-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Track if a file contains a tuple expression or tuple type in our index. #28287
Conversation
Tagging @dotnet/roslyn-ide |
@@ -13,7 +13,7 @@ namespace Microsoft.CodeAnalysis.FindSymbols | |||
internal sealed partial class SyntaxTreeIndex : IObjectWritable | |||
{ | |||
private const string PersistenceName = "<SyntaxTreeIndex>"; | |||
private const string SerializationFormat = "12"; | |||
private const string SerializationFormat = "15"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Specifically not incrementing by one. I think there's another PR going in now that is changing this value, and i want them to conflict.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you mean #28230, it's been merged.
@@ -151,6 +158,7 @@ private enum ContainingNodes | |||
ContainsIndexerMemberCref = 1 << 7, | |||
ContainsDeconstruction = 1 << 8, | |||
ContainsAwait = 1 << 9, | |||
ContainsTupleExpressionOrTupleType = 1 << 10, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This list is out-of-date (I've just changed it in #28230, which was merged earlier this week).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Never mind, I'd added the ContainsAwait
. I'm distracted... :-S
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah ok :) Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
SyntaxNode GetOperandOfPrefixUnaryExpression(SyntaxNode node); | ||
SyntaxToken GetOperatorTokenOfPrefixUnaryExpression(SyntaxNode node); | ||
|
||
|
||
// Left side of = assignment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: extra line
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jinujoseph Can we merge this in? Also, what's an appropriate brnach to target for feature-work? |
Hold on merging this. |
@jinujoseph Can't we just make a branch off of master, and pull into that? It's unclear why it would take a week just to have someplace to check into... Can you clarify? Thanks! |
Thats the plan , we will be branching of master. holiday week plus we have been having some infrastructure issue. thanks for your patience. |
test this please |
@jinujoseph This has been reviewed and is ready to go into 16.0 Thanks! |
Thanks! |
This will be used by the "convert tuple to struct" feature (#28257). We want to track this information to so that we can limit the number of documents we need to look at when choosing "... and update matches in current project" or "... and update matches in dependent projects".
By using this index we can search for files containing tuples which also contain the names of the tuple fields. This should help greatly limit our search space.
I made this into its own PR to help extract out bits of "convert tuple to struct" that could go in independently.