September 29

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).

  • Moved arrayObjectHash to dmd/templatesem.d to eliminate the calls of dmd.templatesem.getExpression (See Merged PR).

  • (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).

  • (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.