[BLUEJ-1091] Compilation cannot be forced if class un-edited
Make a class called X.
Make another class called Foo, and in its constructor, create an X. This should show the dependency in BlueJ's class diagram.
Edit X trivially, Foo will be marked as needs-compile, as it should.
Now rename X to X2. Foo will be marked as needs-compile, which is correct.
Go into Foo, try to compile, will show errors, as it should.
Rename X2 back to X. Go to Foo, hit Compile, will just cycle through the errors, even though it could now compile correctly.
The general problem here is that if a change outside a class A could make it compilable again, but you haven't edited the class A, you can't force class A to compile using the commands inside the editor window. Right-click and Compile (or whole package Compile) in main window will work, but I think this is confusing as a user. Not immediately sure on the right solution, as I think in general, Cmd-K for next error is handy. Either move that next-error behaviour to a different shortcut, or add some additional logic (e.g. if any class in the package has changed since we last compiled, Cmd-K compiles, but otherwise does next-error).
Issue metadata
- Issue type: Bug
- Priority: Medium
- Fix versions: 5.0.0