When this project was first created, it probably made a lot of sense for PtraceDumper and MinidumpWriter to be two different types in case there was ever a "not-ptrace dumper".
At this point, however, the functioning of these two structs is so closely coupled that it's doubtful that real cut lines could actually be made between them without major refactoring work anyway. In the meantime, any time we work on the code there's a weird moment of "Umm... Which struct should this thing be a part of?", and the answer is often "whichever struct already has code that kind-of looks like it".
I ran into that pretty hard when working on #142, where I got annoyed by trying to break my code change up along the seemingly-artificial line between the two. I finally decided to do a table flip and did a bunch of refactoring work. I hope y'all like it!
When this project was first created, it probably made a lot of sense for
PtraceDumperandMinidumpWriterto be two different types in case there was ever a "not-ptrace dumper".At this point, however, the functioning of these two structs is so closely coupled that it's doubtful that real cut lines could actually be made between them without major refactoring work anyway. In the meantime, any time we work on the code there's a weird moment of "Umm... Which struct should this thing be a part of?", and the answer is often "whichever struct already has code that kind-of looks like it".
I ran into that pretty hard when working on #142, where I got annoyed by trying to break my code change up along the seemingly-artificial line between the two. I finally decided to do a table flip and did a bunch of refactoring work. I hope y'all like it!