View source code
Display the source code in dmd/expressionsem.d from which thispage was generated on github.
Report a bug
If you spot a problem with this page, click here to create aBugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.Requires a signed-in GitHub account. This works well for small changes.If you'd like to make larger changes you may want to consider usinglocal clone.
Function dmd.expressionsem.markArrayExpModifiable
mark ArrayExp on the left side of an assignment recursively as modifiable before semantic analysis to defer potential lowerings into the assignment when the right side of the expression is analyzed, too, i.e.
a[i][j] = 1
is parsed to
AssignExp(ArrayExp(ArrayExp(Id('a'), Id('i')), Id('j')), 1)
ArrayExp is converted to IndexExp during semantic analysis, but the lowering for IndexExp on associative arrays is different for reading or writing. For struct types, it can even depend on the right hand side of an assignment.
Parameters
| Name | Description |
|---|---|
| ae | the ArrayExp to mark |
Authors
License
Copyright © 1999-2026 by the D Language Foundation | Page generated by ddox.