[squeak-dev] The Trunk: Tools-cmm.347.mcz

Chris Muller asqueaker at gmail.com
Tue May 3 14:39:30 UTC 2011


I was "cleaning up" and thought I didn't need that method anymore... Doh!

Thanks for reporting.

On Tue, May 3, 2011 at 8:20 AM, Hannes Hirzel <hannes.hirzel at gmail.com> wrote:
> I tested this change. I choose 'assignments' and then an instance
> variable I get a walkback window.
>
> --Hannes
>
> On Mon, 2 May 2011 23:36:50.009 0000, commits at source.squeak.org
> <commits at source.squeak.org> wrote:
>> Chris Muller uploaded a new version of Tools to project The Trunk:
>> http://source.squeak.org/trunk/Tools-cmm.347.mcz
>>
>> ==================== Summary ====================
>>
>> Name: Tools-cmm.347
>> Author: cmm
>> Time: 2 May 2011, 6:36:40.244 pm
>> UUID: 977c180b-7c15-4200-9ceb-319d2e850364
>> Ancestors: Tools-fbs.346, Tools-fbs.345
>>
>> - Update menu "inst var defs" to "assignments..." and "inst var refs" to
>> "references...".  Each option now includes a selection of the available
>> class-variables, enabling "class var refs" to be removed.  Each option also
>> has an appropriate hot-key assignment.
>> - Removed "class vars" because one could simply explore the class'
>> classPool.
>>
>> =============== Diff against Tools-fbs.346 ===============
>>
>> Item was changed:
>>   ----- Method: Browser>>classListMenu:shifted: (in category 'class
>> functions') -----
>>   classListMenu: aMenu shifted: shifted
>>       "Set up the menu to apply to the receiver's class list, honoring the
>> #shifted boolean"
>>       self
>>               menuHook: aMenu
>>               named: #classListMenu
>>               shifted: shifted.
>>       Preferences useOnlyServicesInMenu ifTrue:[^aMenu].
>>       shifted ifTrue:[^ self shiftedClassListMenu: aMenu].
>>       aMenu addList: #(
>>               -
>>               ('browse full (b)'                      browseMethodFull)
>>               ('browse hierarchy (h)'         spawnHierarchy)
>>               ('browse protocol (p)'          browseFullProtocol)
>>               -
>>               ('printOut'                                     printOutClass)
>>               ('fileOut'                                      fileOutClass)
>>               -
>>               ('show hierarchy'                       hierarchy)
>>               ('show definition'                      editClass)
>>               ('show comment'                 editComment)
>>               -
>> +             ('references... (r)'                    browseVariableReferences)
>> +             ('assignments... (a)'                   browseVariableAssignments)
>> -             ('inst var refs...'                     browseInstVarRefs)
>> -             ('inst var defs...'                     browseInstVarDefs)
>> -             -
>> -             ('class var refs...'                    browseClassVarRefs)
>> -             ('class vars'                                   browseClassVariables)
>>               ('class refs (N)'                               browseClassRefs)
>>               -
>>               ('rename class ...'                     renameClass)
>>               ('copy class'                           copyClass)
>>               ('remove class (x)'                     removeClass)
>>               -
>>               ('find method...'                               findMethod)
>>               -
>>               ('more...'                                      offerShiftedClassListMenu)).
>>       ^ aMenu
>>   !
>>
>> Item was changed:
>>   ----- Method: Browser>>messageListMenu:shifted: (in category 'message
>> functions') -----
>>   messageListMenu: aMenu shifted: shifted
>>       "Answer the message-list menu"
>>       self
>>               menuHook: aMenu
>>               named: #messageListMenu
>>               shifted: shifted.
>>       Preferences useOnlyServicesInMenu ifTrue:[^aMenu].
>>       shifted ifTrue: [^ self shiftedMessageListMenu: aMenu].
>>       aMenu addList: #(
>>                       ('what to show...'                      offerWhatToShowMenu)
>>                       ('toggle break on entry'                toggleBreakOnEntry)
>>                       -
>>                       ('browse full (b)'                      browseMethodFull)
>>                       ('browse hierarchy (h)'                 classHierarchy)
>>                       ('browse method (O)'                    openSingleMessageBrowser)
>>                       ('browse protocol (p)'                  browseFullProtocol)
>>                       -
>>                       ('fileOut'                              fileOutMessage)
>>                       ('printOut'                             printOutMessage)
>>                       ('copy selector (c)'                                            copySelector)
>>                       ('copy reference'                                               copyReference)
>>                       -
>>                       ('senders of... (n)'                    browseSendersOfMessages)
>>                       ('implementors of... (m)'               browseMessages)
>>                       ('inheritance (i)'                      methodHierarchy)
>>                       ('versions (v)'                         browseVersions)
>>                       -
>> +                     ('references... (r)'                    browseVariableReferences)
>> +                     ('assignments... (a)'                   browseVariableAssignments)
>> -                     ('inst var refs...'                     browseInstVarRefs)
>> -                     ('inst var defs...'                     browseInstVarDefs)
>> -                     ('class var refs...'                    browseClassVarRefs)
>> -                     ('class variables'                      browseClassVariables)
>>                       ('class refs (N)'                       browseClassRefs)
>>                       -
>>                       ('remove method (x)'                    removeMessage)
>>                       ('explore method'                       exploreMethod)
>>                       ('inspect method'                       inspectMethod)
>>                       -
>>                       ('more...'                              shiftedYellowButtonActivity)).
>>       ^ aMenu!
>>
>> Item was changed:
>>   ----- Method: Browser>>reformulateList (in category 'message list') -----
>>   reformulateList
>>       "If the receiver has a way of reformulating its message list, here is a
>> chance for it to do so"
>>       super reformulateList.
>>       (self messageList includes: self selectedMessageName)
>> +             ifFalse: [ self messageList
>> +                                     ifEmpty: [ self selectMessageNamed: nil ]
>> +                                     ifNotEmpty: [ self selectMessageNamed: self lastMessageName ]].!
>> -             ifFalse: [ self selectMessageNamed: self lastMessageName ].!
>>
>> Item was changed:
>>   ----- Method: ChangeSorter>>classListMenu:shifted: (in category 'class
>> list') -----
>>   classListMenu: aMenu shifted: shifted
>>       "Fill aMenu with items appropriate for the class list"
>>
>>       aMenu title: 'class list'.
>>       aMenu addStayUpItemSpecial.
>>       (parent notNil and: [shifted not])
>>               ifTrue: [aMenu addList: #( "These two only apply to dual change sorters"
>>                       ('copy class chgs to other side'                        copyClassToOther)
>>                       ('move class chgs to other side'                        moveClassToOther))].
>>
>>       aMenu addList: (shifted
>>               ifFalse: [#(
>>                       -
>>                       ('delete class from change set (d)'             forgetClass)
>>                       ('remove class from system (x)'                 removeClass)
>>                       -
>>                       ('browse full (b)'                                              browseMethodFull)
>>                       ('browse hierarchy (h)'                                 spawnHierarchy)
>>                       ('browse protocol (p)'                                  browseFullProtocol)
>>                       -
>>                       ('printOut'                                                             printOutClass)
>>                       ('fileOut'                                                              fileOutClass)
>>                       -
>> +                     ('references... (r)'                                            browseVariableReferences)
>> +                     ('assignments... (a)'                                           browseVariableAssignments)
>> -                     ('inst var refs...'                                             browseInstVarRefs)
>> -                     ('inst var defs...'                                             browseInstVarDefs)
>> -                     ('class var refs...'                                            browseClassVarRefs)
>> -                     ('class vars'                                                           browseClassVariables)
>>                       ('class refs (N)'                                                       browseClassRefs)
>>                       -
>>                       ('more...'                                                              offerShiftedClassListMenu))]
>>
>>               ifTrue: [#(
>>                       -
>>                       ('unsent methods'                                               browseUnusedMethods)
>>                       ('unreferenced inst vars'                               showUnreferencedInstVars)
>>                       ('unreferenced class vars'                              showUnreferencedClassVars)
>>                       -
>>                       ('sample instance'                                              makeSampleInstance)
>>                       ('inspect instances'                                            inspectInstances)
>>                       ('inspect subinstances'                                 inspectSubInstances)
>>                       -
>>                       ('more...'                                                              offerUnshiftedClassListMenu ))]).
>>       ^ aMenu!
>>
>> Item was changed:
>>   ----- Method: CodeHolder>>abbreviatedWordingFor: (in category 'commands')
>> -----
>>   abbreviatedWordingFor: aButtonSelector
>> +     "Answer the abbreviated form of wording, from a static table.  Answer nil
>> if there is no entry -- in which case the long form will be used on the
>> corresponding browser button."
>> -     "Answer the abbreviated form of wording, from a static table which you're
>> welcome to edit.  Answer nil if there is no entry -- in which case the long
>> firm will be used on the corresponding browser button."
>>
>>       #(
>>       (browseMethodFull                               'browse')
>>       (browseSendersOfMessages                'senders')
>>       (browseMessages                         'impl')
>>       (browseVersions                                 'vers')
>>       (methodHierarchy                                'inher')
>>       (classHierarchy                                 'hier')
>> +     (browseVariableReferences                               'refs')
>> -     (browseInstVarRefs                              'iVar')
>> -     (browseClassVarRefs                             'cVar')
>>       (offerMenu                                              'menu')) do:
>>
>>               [:pair | pair first == aButtonSelector ifTrue: [^ pair second]].
>>       ^ nil!
>>
>> Item was changed:
>>   ----- Method: CodeHolder>>messageListKey:from: (in category 'message list
>> menu') -----
>>   messageListKey: aChar from: view
>>       "Respond to a Command key.  I am a model with a code pane, and I also
>>       have a listView that has a list of methods.  The view knows how to get
>>       the list and selection."
>>
>>       | sel class |
>>       aChar == $D ifTrue: [^ self toggleDiffing].
>>
>>       sel := self selectedMessageName.
>>       aChar == $m ifTrue:  "These next two put up a type in if no message
>> selected"
>>               [^ self useSelector: sel orGetSelectorAndSendQuery:
>> #browseAllImplementorsOf: to: self ].
>>       aChar == $n ifTrue:
>>               [^ self useSelector: sel orGetSelectorAndSendQuery: #browseAllCallsOn:
>> to: self ].
>>
>>       "The following require a class selection"
>>       (class := self selectedClassOrMetaClass) ifNil: [^ self arrowKey: aChar
>> from: view].
>>       aChar == $b ifTrue: [^ Browser fullOnClass: class selector: sel].
>>       aChar == $N ifTrue: [^ self browseClassRefs].
>>       aChar == $i ifTrue: [^ self methodHierarchy].
>>       aChar == $h ifTrue: [^ self classHierarchy].
>>       aChar == $p ifTrue: [^ self browseFullProtocol].
>> +     aChar == $r ifTrue: [^ self browseVariableReferences].
>> +     aChar == $a ifTrue: [^ self browseVariableAssignments].
>>
>> +
>>       "The following require a method selection"
>>       sel ifNotNil:
>>               [aChar == $o ifTrue: [^ self fileOutMessage].
>>               aChar == $c ifTrue: [^ self copySelector].
>>               aChar == $v ifTrue: [^ self browseVersions].
>>               aChar == $O ifTrue: [^ self openSingleMessageBrowser].
>>               aChar == $x ifTrue: [^ self removeMessage].
>>               aChar == $d ifTrue: [^ self removeMessageFromBrowser].
>>
>>               (aChar == $C and: [self canShowMultipleMessageCategories])
>>                       ifTrue: [^ self showHomeCategory]].
>>
>>       ^ self arrowKey: aChar from: view!
>>
>> Item was changed:
>>   ----- Method: CodeHolder>>optionalButtonPairs (in category 'controls')
>> -----
>>   optionalButtonPairs
>>       "Answer a tuple (formerly pairs) defining buttons, in the format:
>>                       button label
>>                       selector to send
>>                       help message"
>>
>>       | aList |
>>
>>       aList := #(
>>       ('browse'                       browseMethodFull                        'view this method in a browser')
>>       ('senders'                      browseSendersOfMessages 'browse senders of...')
>>       ('implementors'         browseMessages                          'browse implementors of...')
>>       ('versions'                     browseVersions                          'browse versions')),
>>
>>       (Preferences decorateBrowserButtons
>>               ifTrue:
>>                       [{#('inheritance'               methodHierarchy 'browse method inheritance
>>   green: sends to super
>>   tan: has override(s)
>>   mauve: both of the above
>>   pink: is an override but doesn''t call super
>>   pinkish tan: has override(s), also is an override but doesn''t call super'
>> )}]
>>               ifFalse:
>>                       [{#('inheritance'               methodHierarchy                 'browse method inheritance')}]),
>>
>>       #(
>>       ('hierarchy'            classHierarchy                          'browse class hierarchy')
>> +     ('vars'                 browseVariableReferences                        'references...')).
>> -     ('inst vars'                    browseInstVarRefs                       'inst var refs...')
>> -     ('class vars'                   browseClassVarRefs                      'class var refs...')).
>>
>>       ^ aList!
>>
>> Item was added:
>> + ----- Method: CodeHolder>>receiverClass (in category 'toolbuilder') -----
>> + receiverClass
>> +     ^ self selectedClassOrMetaClass !
>>
>> Item was added:
>> + ----- Method: Debugger>>classHierarchy (in category 'toolbuilder') -----
>> + classHierarchy
>> +     "Create and schedule a class list browser on the receiver's hierarchy."
>> +     (self selectedMessageName = #doesNotUnderstand: and: [ self
>> selectedClassOrMetaClass = Object ])
>> +             ifTrue:
>> +                     [ self systemNavigation
>> +                             spawnHierarchyForClass: self receiverClass
>> +                             selector: self selectedMessageName ]
>> +             ifFalse: [ super classHierarchy ]!
>>
>> Item was changed:
>>   ----- Method: Debugger>>contextStackMenu:shifted: (in category 'context
>> stack menu') -----
>>   contextStackMenu: aMenu shifted: shifted
>>       "Set up the menu appropriately for the context-stack-list, either shifted
>> or unshifted as per the parameter provided"
>>
>>       ^ shifted ifFalse:[
>>               aMenu addList: {
>>                       {'fullStack (f)'.               #fullStack}.
>>                       {'restart (r)'.         #restart}.
>>                       {'proceed (p)'.         #proceed}.
>>                       {'step (t)'.                    #doStep}.
>>                       {'step through (T)'.    #stepIntoBlock}.
>>                       {'send (e)'.                    #send}.
>>                       {'where (w)'.           #where}.
>>                       {'peel to first like this'.             #peelToFirst}.
>>                       #-.
>>                       {'return entered value'.                #returnValue}.
>>                       #-.
>>                       {'toggle break on entry'.       #toggleBreakOnEntry}.
>>                       {'senders of... (n)'.                   #browseSendersOfMessages}.
>>                       {'implementors of... (m)'.      #browseMessages}.
>>                       {'inheritance (i)'.     #methodHierarchy}.
>>                       #-.
>>                       {'versions (v)'.                #browseVersions}.
>> -                     {'inst var refs...'.            #browseInstVarRefs}.
>>                       #-.
>> +                     {'references... (r)'.           #browseVariableReferences}.
>> +                     {'assignments... (a)'.  #browseVariableAssignments}.
>> -                     {'inst var defs...'.    #browseInstVarDefs}.
>> -                     {'class var refs...'.   #browseClassVarRefs}.
>> -                     {'class variables'.     #browseClassVariables}.
>>                       #-.
>>                       {'class refs (N)'.              #browseClassRefs}.
>>                       {'browse full (b)'.     #browseMethodFull}.
>>                       {'file out '.                   #fileOutMessage}.
>>                       #-.
>>                       {'mail out bug report'. #mailOutBugReport}.
>>                       {'more...'.             #shiftedYellowButtonActivity}.
>>               }.
>>       ] ifTrue: [
>>               aMenu addList: {
>>                       {'browse class hierarchy'.      #classHierarchy}.
>>                       {'browse class'.                                #browseClass}.
>>                       {'browse method (O)'.           #openSingleMessageBrowser}.
>>                       {'implementors of sent messages'.               #browseAllMessages}.
>>                       {'change sets with this method'.                #findMethodInChangeSets}.
>>                       #-.
>>                       {'inspect instances'.           #inspectInstances}.
>>                       {'inspect subinstances'.                #inspectSubInstances}.
>>                       #-.
>>                       {'revert to previous version'.                  #revertToPreviousVersion}.
>>                       {'remove from current change set'.              #removeFromCurrentChanges}.
>>                       {'revert & remove from changes'.                #revertAndForget}.
>>                       #-.
>>                       {'more...'.                                     #unshiftedYellowButtonActivity}.
>>               }
>>       ].!
>>
>> Item was added:
>> + ----- Method: Debugger>>receiverClass (in category 'toolbuilder') -----
>> + receiverClass
>> +     ^ self selectedContext receiver class!
>>
>> Item was removed:
>> - ----- Method: Inspector>>classVarRefs (in category 'menu commands') -----
>> - classVarRefs
>> -     "Request a browser of methods that store into a chosen instance variable"
>> -
>> -     | aClass |
>> -     (aClass := self classOfSelection) ifNotNil:
>> -             [self systemNavigation  browseClassVarRefs: aClass].
>> - !
>>
>> Item was changed:
>>   ----- Method: Inspector>>fieldListMenu: (in category 'menu commands')
>> -----
>>   fieldListMenu: aMenu
>>       "Arm the supplied menu with items for the field-list of the receiver"
>>
>>       aMenu addStayUpItemSpecial.
>>
>>       aMenu addList: #(
>>               ('inspect (i)'                                          inspectSelection)
>>               ('explore (I)'                                          exploreSelection)).
>>
>>       self addCollectionItemsTo: aMenu.
>>
>>       aMenu addList: #(
>>               -
>>               ('method refs to this inst var'         referencesToSelection)
>>               ('methods storing into this inst var'   defsOfSelection)
>>               ('objects pointing to this value'               objectReferencesToSelection)
>>               ('chase pointers'                                       chasePointers)
>>               ('explore pointers'                             explorePointers)
>>               -
>>               ('browse full (b)'                                      browseMethodFull)
>>               ('browse class'                                         browseClass)
>>               ('browse hierarchy (h)'                                 classHierarchy)
>>               ('browse protocol (p)'                          browseFullProtocol)
>>               -
>> +             ('references... (r)'                                    browseVariableReferences)
>> +             ('assignments... (a)'                                   browseVariableAssignments)
>> -             ('inst var refs...'                                     browseInstVarRefs)
>> -             ('inst var defs...'                                     browseInstVarDefs)
>> -             ('class var refs...'                                    classVarRefs)
>> -             ('class variables'                                      browseClassVariables)
>>               ('class refs (N)'                                               browseClassRefs)
>>               -
>>               ('copy name (c)'                                        copyName)
>>               ('basic inspect'                                                inspectBasic)).
>>
>>       Smalltalk isMorphic ifTrue:
>>               [aMenu addList: #(
>>                       -
>>                       ('tile for this value   (t)'                    tearOffTile)
>>                       ('viewer for this value (v)'            viewerForValue))].
>>
>>       ^ aMenu
>>
>>
>>   "                   -
>>                       ('alias for this value'                 aliasForValue)
>>                       ('watcher for this slot'                        watcherForSlot)"
>>
>>   !
>>
>> Item was changed:
>>   ----- Method: RecentMessageSet>>messageListMenu:shifted: (in category
>> 'message functions') -----
>>   messageListMenu: aMenu shifted: shifted
>>       "Answer the message-list menu"
>>
>>       shifted ifTrue: [^ self shiftedMessageListMenu: aMenu].
>>       aMenu addList:#(
>>                       ('what to show...'                                              offerWhatToShowMenu)
>>                       -
>>                       ('browse full (b)'                                              browseMethodFull)
>>                       ('browse hierarchy (h)'                                 classHierarchy)
>>                       ('browse method (O)'                                    openSingleMessageBrowser)
>>                       ('browse protocol (p)'                                  browseFullProtocol)
>>                       -
>>                       ('fileOut (o)'                                                  fileOutMessage)
>>                       ('printOut'                                                             printOutMessage)
>>                       ('copy selector (c)'                                            copySelector)
>>                       ('copy reference'                                               copyReference)
>>                       -
>>                       ('senders of... (n)'                                            browseSendersOfMessages)
>>                       ('implementors of... (m)'                                       browseMessages)
>>                       ('inheritance (i)'                                              methodHierarchy)
>>                       ('versions (v)'                                                 browseVersions)
>>                       -
>> +                     ('references... (r)'                                            browseVariableReferences)
>> +                     ('assignments... (a)'                                           browseVariableAssignments)
>> -                     ('inst var refs...'                                             browseInstVarRefs)
>> -                     ('inst var defs...'                                             browseInstVarDefs)
>> -                     ('class var refs...'                                            browseClassVarRefs)
>> -                     ('class variables'                                              browseClassVariables)
>>                       ('class refs (N)'                                                       browseClassRefs)
>>                       -
>>                       ('remove method (x)'                                    removeMessage)
>>                       ('remove from RecentSubmissions'                removeFromRecentSubmissions)
>>                       -
>>                       ('more...'                                                              shiftedYellowButtonActivity)).
>>       ^ aMenu!
>>
>> Item was removed:
>> - ----- Method: StringHolder>>browseClassVarRefs (in category
>> '*Tools-traits') -----
>> - browseClassVarRefs
>> -     "1/17/96 sw: devolve responsibility to the class, so that the code that
>> does the real work can be shared"
>> -
>> -     | cls |
>> -     cls := self selectedClass.
>> -     (cls notNil and: [cls isTrait not])
>> -             ifTrue: [self systemNavigation  browseClassVarRefs: cls]!
>>
>> Item was removed:
>> - ----- Method: StringHolder>>browseClassVariables (in category
>> '*Tools-traits') -----
>> - browseClassVariables
>> -     "Browse the class variables of the selected class. 2/5/96 sw"
>> -     | cls |
>> -     cls := self selectedClass.
>> -     (cls notNil and: [cls isTrait not])
>> -             ifTrue: [self systemNavigation  browseClassVariables: cls]
>> - !
>>
>> Item was removed:
>> - ----- Method: StringHolder>>browseInstVarDefs (in category
>> '*Tools-traits') -----
>> - browseInstVarDefs
>> -
>> -     | cls |
>> -     cls := self selectedClassOrMetaClass.
>> -     (cls notNil and: [cls isTrait not])
>> -             ifTrue: [self systemNavigation browseInstVarDefs: cls]!
>>
>> Item was removed:
>> - ----- Method: StringHolder>>browseInstVarRefs (in category
>> '*Tools-traits') -----
>> - browseInstVarRefs
>> -     "1/26/96 sw: real work moved to class, so it can be shared"
>> -     | cls |
>> -     cls := self selectedClassOrMetaClass.
>> -     (cls notNil and: [cls isTrait not])
>> -             ifTrue: [self systemNavigation browseInstVarRefs: cls]!
>>
>> Item was added:
>> + ----- Method: StringHolder>>browseVariableAssignments (in category
>> '*Tools-traits') -----
>> + browseVariableAssignments
>> +     | cls |
>> +     cls := self selectedClassOrMetaClass.
>> +     (cls notNil and: [ cls isTrait not ]) ifTrue: [ self systemNavigation
>> browseVariableAssignments: cls ]!
>>
>> Item was added:
>> + ----- Method: StringHolder>>browseVariableReferences (in category
>> '*Tools-traits') -----
>> + browseVariableReferences
>> +     | cls |
>> +     cls := self selectedClassOrMetaClass.
>> +     (cls notNil and: [cls isTrait not])
>> +             ifTrue: [self systemNavigation browseVariableReferences: cls]!
>>
>> Item was changed:
>>   ----- Method: StringHolder>>classListKey:from: (in category '*Tools')
>> -----
>>   classListKey: aChar from: view
>>       "Respond to a Command key.  I am a model with a list of classes and a
>>       code pane, and I also have a listView that has a list of methods.  The
>>       view knows how to get the list and selection."
>>
>>       aChar == $f ifTrue: [^ self findMethod].
>> +     aChar == $r ifTrue: [^ self browseVariableReferences].
>> +     aChar == $a ifTrue: [^ self browseVariableAssignments].
>> -     aChar == $r ifTrue: [^ self browseInstVarRefs].
>> -     aChar == $d ifTrue: [^ self browseInstVarDefs].
>>       aChar == $h ifTrue: [^ self spawnHierarchy].
>>       aChar == $x ifTrue: [^ self removeClass].
>>       ^ self messageListKey: aChar from: view!
>>
>>
>>
>
>


More information about the Squeak-dev mailing list