First try of removing failed decls, not working at all #265
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a first try of removing failed decls, but its not working at all. The cases that I thought would be working weren't since no error was emitted...
After a Decl of a Function was removed they still dangle arround in the Lookup tables (so lookup_name will return an invalid decl). Additionally I probably need to remove them from their Scope. To do this correctly we need something like a DeclRemovalVisitor, which would become very similar to how cling does its Transaction rewind stuff (https://github.com/vgvassilev/cling/blob/master/lib/Interpreter/TransactionUnloader.cpp). It's probably possible to adopt a lot of their code by just stripping out the Transaction stuff (which might not be a good idea since their code might not be totally stable yet and we might want transaction rewinding at a later point).