Deleting Interface left implementing Class in inconsistent state
Version: 0089be85
Issue
Deleting and committing an Interface causes any classes that were previously implementing the interface to become inconsistent and unable to have changes committed against them afterwards. I did notice, after deleting the interface in Jade, the only unstaged change was for the Interface deletion, there was no corresponding change to the class, as might have been expected.
Reproducer
- Load the reproducing schemas into a git repo & JadeGit
- Delete the IWidget interface via the Interface Browser window
- Stage and commit the IWidget deletion in JadeGit
- Perform some action to force a change on the Widget class - change access from public to protected
- Attempt to stage the Widget class change
- Observe the following error
Workaround
I initially attempted to Reset -> Delete changes (--hard) but this ran into the same exception. I was however, able to add another interface with the same name, implement it and commit both the interface & class.
