dolphinsmalltalk / Dolphin

Dolphin Smalltalk Core Image
MIT License
301 stars 58 forks source link

Class definition message shown by browser for a class with its superclass in Smalltalk may not be compilable #1132

Closed blairmcg closed 3 years ago

blairmcg commented 3 years ago

The Class Definition pane shows the class definition message for a class. If the superclass is in the Smalltalk namespace, it will be displayed using it's 'short name' (i.e. unqualified). However, the browser has set the compilation environment to be the namespace of the class itself (which is correct in other respects), but this may mean that the superclass identifier is not bindable as an unqualified name.

To Reproduce Steps to reproduce the behavior:

  1. Load the 'Scintilla View Generator' package (in the Core\Object Arts\Dolphin\IDE\Professional folder)
  2. Open a class browser and find IntTypeReference
  3. Bring up the context menu on the class, and choose 'Refactorings/Convert to Sibling...'
  4. Press OK in the dialog that comes up without making any changes.
  5. Switch to the class definition pane (IntTypeReference should still be selected).
  6. Add a 'dummy' instance variable
  7. Note that the AbstractIntTypeReference superclass is highlighted as undeclared, and the modified class definition cannot be saved.
blairmcg commented 3 years ago

Fixed by dc99865bffbeb1e09945cf8b416fbd8c7def8025