'From Squeak3.3alpha of 12 January 2002 [latest update: #4737] on 3 February 2002 at 1:06:15 am'! "Change Set: classVarRefs-sw Date: 3 February 2002 Author: Scott Wallace Published in 3.3a as 4738classVarRefs-sw.cs. Reverts a method that was blocking access to class-var-refs queries, as per Henrik's instructions."! !ClassDescription methodsFor: 'instance variables' stamp: 'sw 2/3/2002 01:05'! browseClassVarRefs "Put up a menu offering all class variable names; if the user chooses one, open up a message-list browser on all methods that refer to the selected class variable" | lines labelStream vars allVars index owningClasses | lines _ OrderedCollection new. allVars _ OrderedCollection new. owningClasses _ OrderedCollection new. labelStream _ WriteStream on: (String new: 200). self withAllSuperclasses reverseDo: [:class | vars _ class classVarNames asSortedCollection. vars do: [:var | labelStream nextPutAll: var; cr. allVars add: var. owningClasses add: class]. vars isEmpty ifFalse: [lines add: allVars size]]. labelStream contents isEmpty ifTrue: [^1 beep]. "handle nil superclass better" labelStream skip: -1 "cut last CR". index _ (PopUpMenu labels: labelStream contents lines: lines) startUp. index = 0 ifTrue: [^ self]. Smalltalk browseAllCallsOn: ((owningClasses at: index) classPool associationAt: (allVars at: index))! !