[squeak-dev] Dictionary Inspector broken

Eliot Miranda eliot.miranda at gmail.com
Tue Jun 22 01:22:25 UTC 2021


Hi,

    someone has broken the DIctionary Inspector.  Undeclared is a
dictionary that holds globals that have yet to be declared.  These can
arise from class names of classes not yet loaded, or from methods referring
to variables that should be instance variables that have yet to be
declared, etc.  Code refers to Undeclared variables by referring to the
binding (the association) in the dictionary.  (When a class is loaded if a
binding of the same name is in ndeclared this is used to hold the class and
the binding is moved to Smalltalk, hence fixing up Undeclared references)
 Undeclared is how Smalltalk does forward declarations.

A standard use case is to look for references to a binding in Undeclared
when tracking down and eliminating Undeclared variables.  Note that one
searches for the binding, not the key for the binding.  There used to be an
entry on the Dictionary menu called something like Browse references to
this binding.  It's gone.  This is an important and useful funcito, please
restore it.

Now I have to type, e.g.
    self systemNavigation browseAllCallsOn: (self associationAt: #value)
And in my system right now
 self systemNavigation allCallsOn: (Undeclared associationAt: #value)
answers  an OrderedCollection(a MethodReference
PrintfNumberHolderDescriptor >> #render: a MethodReference
PrintfNumberHolderDescriptor >> #value)

whereas what is offered by the menu (senders of this key) answers
something 1875 elements long:

(self systemNavigation allCallsOn: #value) size 1875

Would whoever removed the item please restore it ASAP?  And I encourage
people to become aware of, and teach, Undeclared.  It should be a regular
part of software development in Smalltalk to check up on Undeclared.

thank you.
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210621/60328fc7/attachment.html>


More information about the Squeak-dev mailing list