Skip to content

Conversation

@stakx
Copy link
Member

@stakx stakx commented Dec 15, 2025

This is in preparation for #663, where it will be necessary to adjust many code locations dealing with conversion of arguments that get passed around both by-value and by-reference. I find DynamicProxy's handling of by-ref arguments especially hard to understand, and that is in part due to the structuring of the CIL syntax trees.

This PR does lots of little things, but the main goal is introducing a clear distinction in the SimpleAST syntax nodes between expressions/statements and references. The latter are being renamed "locations" to better match ECMA-335 terminology (see section I.8.3).

Way too many of the Reference node types aren't really locations at all, and are thus "down-gradeed" to expressions.

There's also some code duplication being removed here. Nodes that do too many different things are being replaced with simpler single-purpose nodes that compose better than the previous node types.

@stakx stakx added this to the v6.0.0 milestone Dec 15, 2025
@stakx
Copy link
Member Author

stakx commented Dec 16, 2025

I'm not really happy yet with this PR. I'll probably split it up into a few smaller ones.

@stakx stakx closed this Dec 16, 2025
@stakx stakx removed this from the v6.0.0 milestone Dec 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant