Skip to content

Conversation

@CyrusNajmabadi
Copy link
Member

@CyrusNajmabadi CyrusNajmabadi commented Oct 21, 2025

Also adds some support fo GetSymbolInfo on a with(...) element.

Relates to test plan #80613

@jcouv
Copy link
Member

jcouv commented Oct 23, 2025

I'm not sure how to finish reviewing this PR. It seems to have irrelevant commits directly added to the commit list, not as a simple merge.

For comparison, when I did a merge from main to resolve conflicts in a recent PR, it only shows up as a single commit and the diff will not shows irrelevant files as modified:

image

@333fred
Copy link
Member

333fred commented Oct 23, 2025

I'm not sure what happened to this PR, but it now shows a whole bunch of changes unrelated to this PR:

I assume because @CyrusNajmabadi merged main into this branch, and it isn't in the feature branch currently.

@CyrusNajmabadi
Copy link
Member Author

PR should be good again.

@CyrusNajmabadi CyrusNajmabadi requested a review from jcouv October 23, 2025 21:36
@CyrusNajmabadi
Copy link
Member Author

Ok. I think review feedback accounted for.

@CyrusNajmabadi
Copy link
Member Author

Would like to move further tests to other followups.


// PROTOTYPE: Spec says we should only allow arglist if trivial. Circle back on this and see if
// this just falls out with the 'allowArgList: true' below. If so, let LDM know it was easy and
// allow it. If it requires substantial work beyond this, disallow it for this feature.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

resolved by email.

<Field Name="Type" Type="TypeSymbol?" Override="true" Null="always"/>

<!-- With-arguments support for collection expression with(...) syntax.
PROTOTYPE: Determine if this is how we want to represent this data in this expression. -->
Copy link
Member Author

@CyrusNajmabadi CyrusNajmabadi Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

resolved by meeting today. #Closed

Copy link
Member

@jcouv jcouv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM Thanks (commit 74)

var root = semanticModel.SyntaxTree.GetRoot();

var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(root.DescendantNodes().OfType<BlockSyntax>().ToArray()[1], semanticModel);
ControlFlowGraphVerifier.VerifyGraph(compilation, """
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uh... what happened to the ternary? This seems broken, I'd expect to see that extracted out and feeding into the collection creation as a flow capture. It also appears that the operation tree writer is not including the constructor in the output of a ICollectionExpressionOperation.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like ControlFlowGraph depends on IOp, which likely needs to be updated to include the creation expr. i'd really like to not do that in this PR if that's ok.

Copy link
Member

@333fred 333fred left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have a prototype comment tracking the IOperation work yet?

@CyrusNajmabadi
Copy link
Member Author

Not that i know of.

@333fred
Copy link
Member

333fred commented Oct 24, 2025

Not that i know of.

Please add one.

@CyrusNajmabadi
Copy link
Member Author

Please add one.

Sure. Added.

@CyrusNajmabadi CyrusNajmabadi merged commit 329e403 into dotnet:features/collection-expression-arguments Oct 25, 2025
24 checks passed
@CyrusNajmabadi CyrusNajmabadi deleted the withError2 branch October 25, 2025 02:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants