Skip to content

Conversation

Cosifne
Copy link
Member

@Cosifne Cosifne commented Oct 15, 2024

Fix https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2112145

Right now you can't call collapse to definition in this case:
collapseToDefinition

It is regressed back in #71064
In that PR we want to support a scenario:

M1(M2(
))

only M2 will be collapsed.
The implementation is to compare the start line of the block span (later it changes to compare both start & end line in #74413)

However, the problem is in the lamda case:

public class YY
{
    public void YX() => System.Linq.Enumerable.Range(10, 100).Any(x =>
    {
        return x == 10;
    });
}

Method YX and lambda

x => {
 return x == 10;
}

generate two block spans with same line start and line end. But AutoCollapse proprety is different,

autoCollapse: !node.IsParentKind(SyntaxKind.LocalFunctionStatement)));

Fix is to also compare other properties in Block span when remove them from the context.

After the PR:
17 12CollapseLambdaFix

@Cosifne Cosifne requested a review from a team as a code owner October 15, 2024 19:21
@ghost ghost added Area-IDE untriaged Issues and PRs which have not yet been triaged by a lead labels Oct 15, 2024
@Cosifne Cosifne merged commit d2e011d into dotnet:main Oct 16, 2024
25 checks passed
@Cosifne Cosifne deleted the dev/shech/FixCollapseToDefinition branch October 16, 2024 18:28
@dotnet-policy-service dotnet-policy-service bot added this to the Next milestone Oct 16, 2024
Cosifne added a commit to Cosifne/roslyn that referenced this pull request Oct 16, 2024
…efinition

Also compare other properties when remove block spans
@Cosifne Cosifne mentioned this pull request Oct 16, 2024
Cosifne added a commit that referenced this pull request Oct 16, 2024
@akhera99 akhera99 modified the milestones: Next, 17.13 P1 Oct 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-IDE untriaged Issues and PRs which have not yet been triaged by a lead VSCode
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants