Summary of Progress (October 06 - October 13)
What I Worked On
-
Deferred most of the
TupleExp
constructor (that takes aTupleDeclaration
as a parameter) to the semantic phase where it is needed to eliminate the call of theexpressionsem.getDsymbol
and hence break the semantic dependency ofexpression.d
onexpressionsem.d
(See Merged PR). -
Moved
TemplateParameter.declareParameter
totemplatesem.d
to break the semantic dependency ofdtemplate.d
ontypesem.d
(See Merged PR). -
Found the issue with casting a
void *
to an associative array, which marked the end of refactoringdtemplate.d
for direct semantic dependency ontemplatesem.d
(See Merged PR). -
Found that there is an indirect dependency of AST files on semantic functions through
dscope.d
althoughScope
is only used during the semantic phase. Therefore, we had to move the functions related to the semantic phase fromdscope.d
--Scope.createGlobal
,Scope.alignment
,Scope.search_correct
, andScope.search
(See Merged PR 1, Merged PR 2, Merged PR 3, and Merged PR 4).