Don’t call `openWhenClosed` if the compilation unit is consistent.

`openWhenClosed` is expensive: it requires a partial type-check and forcing all
symbols in order to build the structure of the file. It seems to be called
on the UI thread, on every save, twice. This makes the second call a no-op,
and is exactly what the method we’re overriding is doing. This makes it more
responsive, and seems and sane.