[SAOC 2025] Separate Semantic Routines from AST Nodes Weekly Update #2
Mohamed El Shorbagy
mohrizq895 at gmail.com
Mon Sep 29 16:13:14 UTC 2025
## Summary of Progress (September 22 - September 29)
This week, I further eliminated some of the semantic function
calls inside AST node files.
### What I Worked On
- Moved `TemplateInstanceBox` to `dmd/templatesem.d` to eliminate
the calls of `dmd.templatesem.equalsx` (See [Merged
PR](https://github.com/dlang/dmd/pull/21904)).
- Moved `arrayObjectHash` to `dmd/templatesem.d` to eliminate the
calls of `dmd.templatesem.getExpression` (See [Merged
PR](https://github.com/dlang/dmd/pull/21905)).
- (WIP) Broke semantic dependency of `dmd/dtemplate.d` on
`dmd/dsymbolsem.d` by refactoring the `TemplateDeclaration`
constructor to eliminate the call of `oneMembers` and call it at
sites where it is needed (See
[PR](https://github.com/dlang/dmd/pull/21917)).
- (WIP) Made `TemplateDeclaration.instances` a `void *` and cast
it as `TemplateInstance[TemplateInstanceBox]` where it is used.
This is to eliminate the import of
`dmd.templatesem.TemplateInstanceBox` from `dmd/dtemplate.d`
resulting from the first PR.
More information about the Digitalmars-d
mailing list