Conversation
|
It may also be worth trying if we can get rid of the polymorphic variants for offsets? |
That's a future idea I have, but it requires modifying so many places that I don't want to do it right now. |
michael-schwarz
left a comment
There was a problem hiding this comment.
Thank you for undertaking this gigantic refactoring endeavor. I left comments in a few places. Additionally I was wondering if we want to write something up for the docs while this is fresh on our minds.
The distinction between Mval and Lval really is vital to newcomers to the framework.
I added a few sentences to the top level API docs. That way it hopefully stays better in sync. |
Everything is organized into three modules:
Offsetcontains everything for manipulating Goblint offsets with various index types.Mvalcontains everything for manipulatingvarinfo * offsetpairs.AddressDomaincontains everything for manipulating base analysis addresses.All three now have interface files which makes rebuild times negligible when only modifying the implementation (as opposed to recompiling ~200 modules which transitively depend on them).
Many functions are renamed to make naming consistent and standard.