www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - [SAOC 2025] Separate Semantic Routines from AST Nodes Weekly Update



This week I continued work on refactoring AST nodes to break the 
dependency on semantic and backend helpers. Here are some PRs:

- [Move `FuncDeclaration.isVirtualMethod` and 
`FuncDeclaration.hasNestedFrameRefs` to 
`funcsem`](https://github.com/dlang/dmd/pull/22331)
- [Move `FuncDeclaration.isVirtual` to 
`funcsem`](https://github.com/dlang/dmd/pull/22340)
- [Move `FuncDeclaration.addPreInvariant` and 
`FuncDeclaration.addPostInvariant` to 
`funcsem`](https://github.com/dlang/dmd/pull/22341)

Currently, I am working on moving `FuncDeclaration.isThis` to 
`funcsem` to break the dependency of `func` on `objc`, but 
`needsThis` depends on it, and it is used in `hdrgen` and 
`expression`, so I am figuring out how to get rid of them while 
maintaining the functionality.
Jan 05