[squeak-dev] Environments, users-of, and Aliases

Frank Shearar frank.shearar at gmail.com
Wed Nov 27 18:50:20 UTC 2013


Asking for the users of FontSubstitutionDuringLoading (alt-N) shows
one user. Asking for the methods with source containing
"FontSubstitutionLoading" shows three methods.

One of the two "missing" users of FontSubstitutionLoading is
StrikeFont class >> #familyName:size:, whose literals include an Alias
mapping #FontSubstitutionLoading to a class named
FontSubstitutionLoading.

Why doesn't this show up as a user of FontSubstitutionLoading?

(StrikeFont class >> #familyName:size:) literals at: 6 "=>
#FontSubstitutionDuringLoading=>FontSubstitutionDuringLoading"
Smalltalk bindingOf: #FontSubstitutionDuringLoading "=>
#FontSubstitutionDuringLoading=>FontSubstitutionDuringLoading"

BUT. The former is an Alias, and the latter is a ClassBinding,
therefore they are not #literalEqual:.

At first blush it seems sensible to say "users-of means accessing any
binding that (eventually) resolves to the value of this binding here".
This would pick up ClassBindings that pointed to Smalltalk globals at:
#Foo, as well as Aliases to ClassBindings that pointed to that class.

What would be wrong with that approach?

frank


More information about the Squeak-dev mailing list