mirror of https://github.com/tbklang/tlang.git
🧹️🧼 Cleanup: Pool provider #161
Labels
No Label
dependency
emit
hashmapper
lebanonmapper
lexer
meta
needsfix
parser
qol
question
resolution
typing
No Milestone
No project
No Assignees
1 Participants
Notifications
Total Time Spent: 5 hours
Due Date
deavmi
5 hours
Blocks
#157 ⚡ Feature: Multi-module support
tlang/tlang
Reference: tlang/tlang#161
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Purpose
The purpose of this is to have each
DNodeGenerator
not rely on thestatic DNode[Statement] nodePool
anymore but to rather have us provide aPool
/PoolManager
to each instance and they use that. This means we won't have to clear the static field anymore (which caused a bug in the past (if you wanted to do multiple compilation sessions)).Todo
IPoolManager
interface designedPoolManager
implementationdependency/core.d
moduleTypeChecker
andDependency
vardec_varass_dependencyto feature/poolmngrAdded an implementation of the
IPoolManager
interface in the form ofPoolManager
✅Clean up: Pool providerto 🧹️🧼 Cleanup: Pool providerAdded unittesting for the
PoolManager
and they pass ✅Working on this now, as part of this I want to try and remove the
DNodeGenerator
itself from theDNode
constructorWill work on this throughout the week, done for now. Will do more tonight.
Pushed updates constructors for the sub-types of
DNode
such asVariableNode
,FuncDefNode
and so forth... ✅Last bullet point is being worked on right now as we speak. basically done just need to make sure on somethings but all tests are locally passing ✅
Pushed the updated
dependency/core.d
✅Pushed the updated
TypeChecker
✅All unittests pass ✅
CI/CD passes ✅
Working now on removing any reference to the static node pool...
MdouleVariableDeclaration
DNode generation methodnodePool
- some references still remain howeverEverything is now migrated over
There were no traces in the
TypeChecker
, that was rather theclearFuncDefs()
we were thinking about - which is a seperate issue - see #162Unit tests pass ✅
CI/CD passes ✅
Documenting now...
Done ✅
We must merge this tomorrow.
Need to upstream recent changes into this
Done and CI/CD passes ✅
Looks good to me, merging...
Merged
CI/CD ✅
Closing issue.