Chris Muller uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-cmm.578.mcz
==================== Summary ====================
Name: Kernel-cmm.578
Author: cmm
Time: 2 May 2011, 6:46:17.696 pm
UUID: 913d762f-e361-4f5e-814f-0b0692ffa4d9
Ancestors: Kernel-ul.577
- Support for streamlined variable reference / assignment browsing.
- Fix for Month class>>#readFrom:.
=============== Diff against Kernel-ul.577 ===============
Item was added:
+ ----- Method: Behavior>>whichMethodsStoreInto: (in category 'testing method dictionary') -----
+ whichMethodsStoreInto: instVarName
+ "Answer a collection of selectors whose methods access the argument,
+ instVarName, as a named instance variable."
+ "Point whichMethodsStoreInto: 'x'."
+ | instVarIndex |
+ instVarIndex := self allInstVarNames
+ indexOf: instVarName
+ ifAbsent: [ ^ IdentitySet new ].
+ ^ Array streamContents:
+ [ : stream | self methodDict keysAndValuesDo:
+ [ : eachSelector : eachMethod | (eachMethod writesField: instVarIndex) ifTrue: [ stream nextPut: eachMethod ] ] ]!
Item was removed:
- ----- Method: Behavior>>whichSelectorsAssign: (in category 'queries') -----
- whichSelectorsAssign: instVarName
- "Answer a Set of selectors whose methods store into the argument,
- instVarName, as a named instance variable."
- ^self whichSelectorsStoreInto: instVarName!
Item was changed:
----- Method: Class>>allClassVarNames (in category 'class variables') -----
allClassVarNames
+ "Answer a Set of the names of the receiver's class variables, including those defined in the superclasses of the receiver."
- "Answer a Set of the names of the receiver's class variables, including those
- defined in the superclasses of the receiver."
-
| aSet |
+ ^ self superclass == nil
- self superclass == nil
ifTrue:
+ [self classVarNames asSet] "This is the keys so it is a new Set."
- [^self classVarNames asSet] "This is the keys so it is a new Set."
ifFalse:
[aSet := self superclass allClassVarNames.
aSet addAll: self classVarNames.
+ aSet]!
- ^aSet]!
Item was added:
+ ----- Method: Class>>whichMethodsStoreInto: (in category 'testing') -----
+ whichMethodsStoreInto: varName
+ "Answer a collection of selectors whose methods access the argument, varName, as a named class variable."
+ | ref |
+ ref := self classPool
+ associationAt: varName
+ ifAbsent: [ ^ super whichMethodsStoreInto: varName ].
+ ^ Array streamContents:
+ [ : stream | self class methodDict keysAndValuesDo:
+ [ : eachSelector : eachMethod | (eachMethod writesRef: ref) ifTrue: [ stream nextPut: eachMethod ] ] ]!
Item was removed:
- ----- Method: ClassDescription>>chooseInstVarThenDo: (in category 'instance variables') -----
- chooseInstVarThenDo: aBlock
- "Put up a menu of all the instance variables in the receiver, and when
- the user chooses one, evaluate aBlock with the chosen variable as its
- parameter. If the list is 6 or larger, then offer an alphabetical
- formulation as an alternative. triggered by a 'show alphabetically' item
- at the top of the list."
-
- | lines labelStream allVars index count offerAlpha |
- (count := self allInstVarNames size) = 0 ifTrue:
- [^ self inform: 'There are no
- instance variables.'].
-
- allVars := OrderedCollection new.
- lines := OrderedCollection new.
- labelStream := WriteStream on: (String new: 200).
- (offerAlpha := count > 5)
- ifTrue:
- [lines add: 1.
- allVars add: 'show alphabetically'.
- labelStream nextPutAll: allVars first; cr].
- self withAllSuperclasses reverseDo:
- [:class | | vars |
- vars := class instVarNames.
- vars do:
- [:var |
- labelStream nextPutAll: var; cr.
- allVars add: var].
- vars isEmpty ifFalse: [lines add: allVars size]].
- labelStream skip: -1 "cut last CR".
- (lines size > 0 and: [lines last = allVars size]) ifTrue:
- [lines removeLast]. "dispense with inelegant line beneath last item"
- index := (UIManager default chooseFrom: (labelStream contents subStrings: {Character cr}) lines: lines
- title: 'Instance variables in', self name).
- index = 0 ifTrue: [^ self].
- (index = 1 and: [offerAlpha]) ifTrue: [^ self
- chooseInstVarAlphabeticallyThenDo: aBlock].
- aBlock value: (allVars at: index)!
Item was added:
+ ----- Method: ClassDescription>>chooseVarThenDo: (in category 'instance variables') -----
+ chooseVarThenDo: aBlock
+ "Put up a menu of all the instance variables in the receiver, and when
+ the user chooses one, evaluate aBlock with the chosen variable as its
+ parameter."
+ | lines labelStream allVars index |
+ (self allInstVarNames size + self allClassVarNames size) = 0 ifTrue: [ ^ self inform: 'There are no variables.' ].
+ allVars := OrderedCollection new.
+ lines := OrderedCollection new.
+ labelStream := WriteStream on: (String new: 200).
+ self withAllSuperclasses reverseDo:
+ [ : class | | vars |
+ vars := class instVarNames , class classVarNames.
+ vars do:
+ [ : var | labelStream
+ nextPutAll: var ;
+ cr.
+ allVars add: var ].
+ vars isEmpty ifFalse: [ lines add: allVars size ] ].
+ labelStream skip: -1.
+ "cut last CR"
+ (lines size > 0 and: [ lines last = allVars size ]) ifTrue: [ lines removeLast ].
+ "dispense with inelegant line beneath last item"
+ index := UIManager default
+ chooseFrom: (labelStream contents subStrings: {Character cr})
+ lines: lines
+ title: 'Variables in' , self name.
+ index = 0 ifTrue: [ ^ self ].
+ aBlock value: (allVars at: index)!
Item was changed:
----- Method: MethodFinder>>initialize (in category 'initialize') -----
(excessive size, no diff calculated)
Item was changed:
----- Method: Month class>>readFrom: (in category 'squeak protocol') -----
readFrom: aStream
| m y c |
m := (ReadWriteStream with: '') reset.
[(c := aStream next) isSeparator] whileFalse: [m nextPut: c].
[(c := aStream next) isSeparator] whileTrue.
y := (ReadWriteStream with: '') reset.
y nextPut: c.
[aStream atEnd] whileFalse: [y nextPut: aStream next].
^ self
month: m contents
+ year: y contents asInteger
- year: y contents
"Month readFrom: 'July 1998' readStream"!
Chris Muller uploaded a new version of KernelTests to project The Trunk:
http://source.squeak.org/trunk/KernelTests-cmm.188.mcz
==================== Summary ====================
Name: KernelTests-cmm.188
Author: cmm
Time: 2 May 2011, 6:42:39.78 pm
UUID: d7daceab-6d04-4e66-872c-028a4b1c9b21
Ancestors: KernelTests-nice.187
Demonstrate bug with Month class>>readFrom: when used with February.
=============== Diff against KernelTests-nice.187 ===============
Item was added:
+ ----- Method: DateAndTimeLeapTest>>testMonthParsing (in category 'testing') -----
+ testMonthParsing
+ self assert:
+ (Month readFrom: 'Feb 2011' readStream) =
+ (Month
+ month: 2
+ year: 2011)!
Chris Muller uploaded a new version of KernelTests to project The Trunk:
http://source.squeak.org/trunk/KernelTests-cmm.188.mcz
==================== Summary ====================
Name: KernelTests-cmm.188
Author: cmm
Time: 2 May 2011, 6:42:39.78 pm
UUID: d7daceab-6d04-4e66-872c-028a4b1c9b21
Ancestors: KernelTests-nice.187
Demonstrate bug with Month class>>readFrom: when used with February.
=============== Diff against KernelTests-nice.187 ===============
Item was added:
+ ----- Method: DateAndTimeLeapTest>>testMonthParsing (in category 'testing') -----
+ testMonthParsing
+ self assert:
+ (Month readFrom: 'Feb 2011' readStream) =
+ (Month
+ month: 2
+ year: 2011)!
Chris Muller uploaded a new version of KernelTests to project The Trunk:
http://source.squeak.org/trunk/KernelTests-cmm.188.mcz
==================== Summary ====================
Name: KernelTests-cmm.188
Author: cmm
Time: 2 May 2011, 6:42:39.78 pm
UUID: d7daceab-6d04-4e66-872c-028a4b1c9b21
Ancestors: KernelTests-nice.187
Demonstrate bug with Month class>>readFrom: when used with February.
=============== Diff against KernelTests-nice.187 ===============
Item was added:
+ ----- Method: DateAndTimeLeapTest>>testMonthParsing (in category 'testing') -----
+ testMonthParsing
+ self assert:
+ (Month readFrom: 'Feb 2011' readStream) =
+ (Month
+ month: 2
+ year: 2011)!
Chris Muller uploaded a new version of Protocols to project The Trunk:
http://source.squeak.org/trunk/Protocols-cmm.36.mcz
==================== Summary ====================
Name: Protocols-cmm.36
Author: cmm
Time: 2 May 2011, 6:41:34.38 pm
UUID: acac21f7-1203-4553-bbf5-e87e57159e98
Ancestors: Protocols-nice.35
- Use new streamlined variable-reference / assignment browsing.
=============== Diff against Protocols-nice.35 ===============
Item was changed:
----- Method: InstanceBrowser>>offerMenu (in category 'menu commands') -----
offerMenu
"Offer a menu to the user, in response to the hitting of the menu button on the tool pane"
| aMenu |
aMenu := MenuMorph new defaultTarget: self.
aMenu title: 'Messages of ', objectViewed nameForViewer.
aMenu addStayUpItem.
aMenu addList: #(
('vocabulary...' chooseVocabulary)
('what to show...' offerWhatToShowMenu)
-
('inst var refs (here)' setLocalInstVarRefs)
('inst var defs (here)' setLocalInstVarDefs)
('class var refs (here)' setLocalClassVarRefs)
-
('navigate to a sender...' navigateToASender)
('recent...' navigateToRecentMethod)
('show methods in current change set'
showMethodsInCurrentChangeSet)
('show methods with initials...'
showMethodsWithInitials)
-
"('toggle search pane' toggleSearch)"
-
-
('browse full (b)' browseMethodFull)
('browse hierarchy (h)' classHierarchy)
('browse method (O)' openSingleMessageBrowser)
('browse protocol (p)' browseFullProtocol)
-
('fileOut' fileOutMessage)
('printOut' printOutMessage)
-
('senders of... (n)' browseSendersOfMessages)
('implementors of... (m)' browseMessages)
('versions (v)' browseVersions)
('inheritance (i)' methodHierarchy)
-
+ ('references... (r)' browseVariableReferences)
+ ('assignments... (a)' browseVariableAssignments)
- ('inst var refs' browseInstVarRefs)
- ('inst var defs' browseInstVarDefs)
- ('class var refs' browseClassVarRefs)
-
('viewer on me' viewViewee)
('inspector on me' inspectViewee)
-
('more...' shiftedYellowButtonActivity)).
aMenu popUpInWorld: ActiveWorld!
Item was removed:
- ----- Method: Lexicon>>browseClassVarRefs (in category 'new-window queries') -----
- browseClassVarRefs
- "Let the search pertain to the target class regardless of selection"
-
- self systemNavigation browseClassVarRefs: targetClass theNonMetaClass !
Item was removed:
- ----- Method: Lexicon>>browseInstVarDefs (in category 'new-window queries') -----
- browseInstVarDefs
- "Let the search pertain to the target class regardless of selection"
-
- self systemNavigation browseInstVarDefs: targetClass!
Item was removed:
- ----- Method: Lexicon>>browseInstVarRefs (in category 'new-window queries') -----
- browseInstVarRefs
- "Let the search pertain to the target class regardless of selection"
- self systemNavigation browseInstVarRefs: targetClass!
Item was added:
+ ----- Method: Lexicon>>browseVariableAssignments (in category 'new-window queries') -----
+ browseVariableAssignments
+ "Let the search pertain to the target class regardless of selection."
+ self systemNavigation browseVariableAssignments: targetClass!
Item was added:
+ ----- Method: Lexicon>>browseVariableReferences (in category 'new-window queries') -----
+ browseVariableReferences
+ "Let the search pertain to the target class regardless of selection"
+ self systemNavigation browseVariableReferences: targetClass!
Item was changed:
----- Method: Lexicon>>offerMenu (in category 'menu commands') -----
offerMenu
"Offer a menu to the user, in response to the hitting of the menu button on the tool pane"
| aMenu |
aMenu := MenuMorph new defaultTarget: self.
aMenu addTitle: 'Lexicon'.
aMenu addStayUpItem.
aMenu addList: #(
('vocabulary...' chooseVocabulary)
('what to show...' offerWhatToShowMenu)
-
('inst var refs (here)' setLocalInstVarRefs)
+ ('inst var assignments (here)' setLocalInstVarDefs)
- ('inst var defs (here)' setLocalInstVarDefs)
('class var refs (here)' setLocalClassVarRefs)
-
('navigate to a sender...' navigateToASender)
('recent...' navigateToRecentMethod)
('show methods in current change set'
showMethodsInCurrentChangeSet)
('show methods with initials...'
showMethodsWithInitials)
-
"('toggle search pane' toggleSearch)"
-
('browse full (b)' browseMethodFull)
('browse hierarchy (h)' classHierarchy)
('browse method (O)' openSingleMessageBrowser)
('browse protocol (p)' browseFullProtocol)
-
('fileOut' fileOutMessage)
('printOut' printOutMessage)
-
('senders of... (n)' browseSendersOfMessages)
('implementors of... (m)' browseMessages)
('versions (v)' browseVersions)
('inheritance (i)' methodHierarchy)
-
+ ('references... (r)' browseVariableReferences)
+ ('assignments... (a)' browseVariableAssignments)
- ('inst var refs' browseInstVarRefs)
- ('inst var defs' browseInstVarDefs)
- ('class var refs' browseClassVarRefs)
-
('more...' shiftedYellowButtonActivity)).
aMenu popUpInWorld: ActiveWorld!
Item was changed:
----- Method: Lexicon>>selectorsDefiningInstVar (in category 'within-tool queries') -----
selectorsDefiningInstVar
"Return a list of methods that define a given inst var that are in the protocol of this object"
| aList |
aList := OrderedCollection new.
targetClass withAllSuperclassesDo:
[:aClass |
+ (aClass whichMethodsAssign: currentQueryParameter asString) do:
+ [ : cm | cm selector isDoIt ifFalse: [aList add: cm selector]
- (aClass whichSelectorsStoreInto: currentQueryParameter asString) do:
- [:sel | sel isDoIt ifFalse: [aList add: sel]
]
].
^ aList!
Item was changed:
----- Method: Lexicon>>setLocalInstVarDefs (in category 'within-tool queries') -----
setLocalInstVarDefs
"Put up a list of the instance variables in the viewed object, and when the user seletcts one, let the query results category show all the references to that instance variable."
| instVarToProbe |
+ targetClass chooseVarThenDo:
- targetClass chooseInstVarThenDo:
[:aName | instVarToProbe := aName].
instVarToProbe isEmptyOrNil ifTrue: [^ self].
currentQuery := #instVarDefs.
currentQueryParameter := instVarToProbe.
self showQueryResultsCategory!
Item was changed:
----- Method: Lexicon>>setLocalInstVarRefs (in category 'within-tool queries') -----
setLocalInstVarRefs
"Put up a list of the instance variables in the viewed object, and when the user seletcts one, let the query results category show all the references to that instance variable."
| instVarToProbe |
+ targetClass chooseVarThenDo:
- targetClass chooseInstVarThenDo:
[:aName | instVarToProbe := aName].
instVarToProbe isEmptyOrNil ifTrue: [^ self].
currentQuery := #instVarRefs.
currentQueryParameter := instVarToProbe.
self showQueryResultsCategory!
Chris Muller uploaded a new version of Protocols to project The Trunk:
http://source.squeak.org/trunk/Protocols-cmm.36.mcz
==================== Summary ====================
Name: Protocols-cmm.36
Author: cmm
Time: 2 May 2011, 6:41:34.38 pm
UUID: acac21f7-1203-4553-bbf5-e87e57159e98
Ancestors: Protocols-nice.35
- Use new streamlined variable-reference / assignment browsing.
=============== Diff against Protocols-nice.35 ===============
Item was changed:
----- Method: InstanceBrowser>>offerMenu (in category 'menu commands') -----
offerMenu
"Offer a menu to the user, in response to the hitting of the menu button on the tool pane"
| aMenu |
aMenu := MenuMorph new defaultTarget: self.
aMenu title: 'Messages of ', objectViewed nameForViewer.
aMenu addStayUpItem.
aMenu addList: #(
('vocabulary...' chooseVocabulary)
('what to show...' offerWhatToShowMenu)
-
('inst var refs (here)' setLocalInstVarRefs)
('inst var defs (here)' setLocalInstVarDefs)
('class var refs (here)' setLocalClassVarRefs)
-
('navigate to a sender...' navigateToASender)
('recent...' navigateToRecentMethod)
('show methods in current change set'
showMethodsInCurrentChangeSet)
('show methods with initials...'
showMethodsWithInitials)
-
"('toggle search pane' toggleSearch)"
-
-
('browse full (b)' browseMethodFull)
('browse hierarchy (h)' classHierarchy)
('browse method (O)' openSingleMessageBrowser)
('browse protocol (p)' browseFullProtocol)
-
('fileOut' fileOutMessage)
('printOut' printOutMessage)
-
('senders of... (n)' browseSendersOfMessages)
('implementors of... (m)' browseMessages)
('versions (v)' browseVersions)
('inheritance (i)' methodHierarchy)
-
+ ('references... (r)' browseVariableReferences)
+ ('assignments... (a)' browseVariableAssignments)
- ('inst var refs' browseInstVarRefs)
- ('inst var defs' browseInstVarDefs)
- ('class var refs' browseClassVarRefs)
-
('viewer on me' viewViewee)
('inspector on me' inspectViewee)
-
('more...' shiftedYellowButtonActivity)).
aMenu popUpInWorld: ActiveWorld!
Item was removed:
- ----- Method: Lexicon>>browseClassVarRefs (in category 'new-window queries') -----
- browseClassVarRefs
- "Let the search pertain to the target class regardless of selection"
-
- self systemNavigation browseClassVarRefs: targetClass theNonMetaClass !
Item was removed:
- ----- Method: Lexicon>>browseInstVarDefs (in category 'new-window queries') -----
- browseInstVarDefs
- "Let the search pertain to the target class regardless of selection"
-
- self systemNavigation browseInstVarDefs: targetClass!
Item was removed:
- ----- Method: Lexicon>>browseInstVarRefs (in category 'new-window queries') -----
- browseInstVarRefs
- "Let the search pertain to the target class regardless of selection"
- self systemNavigation browseInstVarRefs: targetClass!
Item was added:
+ ----- Method: Lexicon>>browseVariableAssignments (in category 'new-window queries') -----
+ browseVariableAssignments
+ "Let the search pertain to the target class regardless of selection."
+ self systemNavigation browseVariableAssignments: targetClass!
Item was added:
+ ----- Method: Lexicon>>browseVariableReferences (in category 'new-window queries') -----
+ browseVariableReferences
+ "Let the search pertain to the target class regardless of selection"
+ self systemNavigation browseVariableReferences: targetClass!
Item was changed:
----- Method: Lexicon>>offerMenu (in category 'menu commands') -----
offerMenu
"Offer a menu to the user, in response to the hitting of the menu button on the tool pane"
| aMenu |
aMenu := MenuMorph new defaultTarget: self.
aMenu addTitle: 'Lexicon'.
aMenu addStayUpItem.
aMenu addList: #(
('vocabulary...' chooseVocabulary)
('what to show...' offerWhatToShowMenu)
-
('inst var refs (here)' setLocalInstVarRefs)
+ ('inst var assignments (here)' setLocalInstVarDefs)
- ('inst var defs (here)' setLocalInstVarDefs)
('class var refs (here)' setLocalClassVarRefs)
-
('navigate to a sender...' navigateToASender)
('recent...' navigateToRecentMethod)
('show methods in current change set'
showMethodsInCurrentChangeSet)
('show methods with initials...'
showMethodsWithInitials)
-
"('toggle search pane' toggleSearch)"
-
('browse full (b)' browseMethodFull)
('browse hierarchy (h)' classHierarchy)
('browse method (O)' openSingleMessageBrowser)
('browse protocol (p)' browseFullProtocol)
-
('fileOut' fileOutMessage)
('printOut' printOutMessage)
-
('senders of... (n)' browseSendersOfMessages)
('implementors of... (m)' browseMessages)
('versions (v)' browseVersions)
('inheritance (i)' methodHierarchy)
-
+ ('references... (r)' browseVariableReferences)
+ ('assignments... (a)' browseVariableAssignments)
- ('inst var refs' browseInstVarRefs)
- ('inst var defs' browseInstVarDefs)
- ('class var refs' browseClassVarRefs)
-
('more...' shiftedYellowButtonActivity)).
aMenu popUpInWorld: ActiveWorld!
Item was changed:
----- Method: Lexicon>>selectorsDefiningInstVar (in category 'within-tool queries') -----
selectorsDefiningInstVar
"Return a list of methods that define a given inst var that are in the protocol of this object"
| aList |
aList := OrderedCollection new.
targetClass withAllSuperclassesDo:
[:aClass |
+ (aClass whichMethodsAssign: currentQueryParameter asString) do:
+ [ : cm | cm selector isDoIt ifFalse: [aList add: cm selector]
- (aClass whichSelectorsStoreInto: currentQueryParameter asString) do:
- [:sel | sel isDoIt ifFalse: [aList add: sel]
]
].
^ aList!
Item was changed:
----- Method: Lexicon>>setLocalInstVarDefs (in category 'within-tool queries') -----
setLocalInstVarDefs
"Put up a list of the instance variables in the viewed object, and when the user seletcts one, let the query results category show all the references to that instance variable."
| instVarToProbe |
+ targetClass chooseVarThenDo:
- targetClass chooseInstVarThenDo:
[:aName | instVarToProbe := aName].
instVarToProbe isEmptyOrNil ifTrue: [^ self].
currentQuery := #instVarDefs.
currentQueryParameter := instVarToProbe.
self showQueryResultsCategory!
Item was changed:
----- Method: Lexicon>>setLocalInstVarRefs (in category 'within-tool queries') -----
setLocalInstVarRefs
"Put up a list of the instance variables in the viewed object, and when the user seletcts one, let the query results category show all the references to that instance variable."
| instVarToProbe |
+ targetClass chooseVarThenDo:
- targetClass chooseInstVarThenDo:
[:aName | instVarToProbe := aName].
instVarToProbe isEmptyOrNil ifTrue: [^ self].
currentQuery := #instVarRefs.
currentQueryParameter := instVarToProbe.
self showQueryResultsCategory!
Chris Muller uploaded a new version of Protocols to project The Trunk:
http://source.squeak.org/trunk/Protocols-cmm.36.mcz
==================== Summary ====================
Name: Protocols-cmm.36
Author: cmm
Time: 2 May 2011, 6:41:34.38 pm
UUID: acac21f7-1203-4553-bbf5-e87e57159e98
Ancestors: Protocols-nice.35
- Use new streamlined variable-reference / assignment browsing.
=============== Diff against Protocols-nice.35 ===============
Item was changed:
----- Method: InstanceBrowser>>offerMenu (in category 'menu commands') -----
offerMenu
"Offer a menu to the user, in response to the hitting of the menu button on the tool pane"
| aMenu |
aMenu := MenuMorph new defaultTarget: self.
aMenu title: 'Messages of ', objectViewed nameForViewer.
aMenu addStayUpItem.
aMenu addList: #(
('vocabulary...' chooseVocabulary)
('what to show...' offerWhatToShowMenu)
-
('inst var refs (here)' setLocalInstVarRefs)
('inst var defs (here)' setLocalInstVarDefs)
('class var refs (here)' setLocalClassVarRefs)
-
('navigate to a sender...' navigateToASender)
('recent...' navigateToRecentMethod)
('show methods in current change set'
showMethodsInCurrentChangeSet)
('show methods with initials...'
showMethodsWithInitials)
-
"('toggle search pane' toggleSearch)"
-
-
('browse full (b)' browseMethodFull)
('browse hierarchy (h)' classHierarchy)
('browse method (O)' openSingleMessageBrowser)
('browse protocol (p)' browseFullProtocol)
-
('fileOut' fileOutMessage)
('printOut' printOutMessage)
-
('senders of... (n)' browseSendersOfMessages)
('implementors of... (m)' browseMessages)
('versions (v)' browseVersions)
('inheritance (i)' methodHierarchy)
-
+ ('references... (r)' browseVariableReferences)
+ ('assignments... (a)' browseVariableAssignments)
- ('inst var refs' browseInstVarRefs)
- ('inst var defs' browseInstVarDefs)
- ('class var refs' browseClassVarRefs)
-
('viewer on me' viewViewee)
('inspector on me' inspectViewee)
-
('more...' shiftedYellowButtonActivity)).
aMenu popUpInWorld: ActiveWorld!
Item was removed:
- ----- Method: Lexicon>>browseClassVarRefs (in category 'new-window queries') -----
- browseClassVarRefs
- "Let the search pertain to the target class regardless of selection"
-
- self systemNavigation browseClassVarRefs: targetClass theNonMetaClass !
Item was removed:
- ----- Method: Lexicon>>browseInstVarDefs (in category 'new-window queries') -----
- browseInstVarDefs
- "Let the search pertain to the target class regardless of selection"
-
- self systemNavigation browseInstVarDefs: targetClass!
Item was removed:
- ----- Method: Lexicon>>browseInstVarRefs (in category 'new-window queries') -----
- browseInstVarRefs
- "Let the search pertain to the target class regardless of selection"
- self systemNavigation browseInstVarRefs: targetClass!
Item was added:
+ ----- Method: Lexicon>>browseVariableAssignments (in category 'new-window queries') -----
+ browseVariableAssignments
+ "Let the search pertain to the target class regardless of selection."
+ self systemNavigation browseVariableAssignments: targetClass!
Item was added:
+ ----- Method: Lexicon>>browseVariableReferences (in category 'new-window queries') -----
+ browseVariableReferences
+ "Let the search pertain to the target class regardless of selection"
+ self systemNavigation browseVariableReferences: targetClass!
Item was changed:
----- Method: Lexicon>>offerMenu (in category 'menu commands') -----
offerMenu
"Offer a menu to the user, in response to the hitting of the menu button on the tool pane"
| aMenu |
aMenu := MenuMorph new defaultTarget: self.
aMenu addTitle: 'Lexicon'.
aMenu addStayUpItem.
aMenu addList: #(
('vocabulary...' chooseVocabulary)
('what to show...' offerWhatToShowMenu)
-
('inst var refs (here)' setLocalInstVarRefs)
+ ('inst var assignments (here)' setLocalInstVarDefs)
- ('inst var defs (here)' setLocalInstVarDefs)
('class var refs (here)' setLocalClassVarRefs)
-
('navigate to a sender...' navigateToASender)
('recent...' navigateToRecentMethod)
('show methods in current change set'
showMethodsInCurrentChangeSet)
('show methods with initials...'
showMethodsWithInitials)
-
"('toggle search pane' toggleSearch)"
-
('browse full (b)' browseMethodFull)
('browse hierarchy (h)' classHierarchy)
('browse method (O)' openSingleMessageBrowser)
('browse protocol (p)' browseFullProtocol)
-
('fileOut' fileOutMessage)
('printOut' printOutMessage)
-
('senders of... (n)' browseSendersOfMessages)
('implementors of... (m)' browseMessages)
('versions (v)' browseVersions)
('inheritance (i)' methodHierarchy)
-
+ ('references... (r)' browseVariableReferences)
+ ('assignments... (a)' browseVariableAssignments)
- ('inst var refs' browseInstVarRefs)
- ('inst var defs' browseInstVarDefs)
- ('class var refs' browseClassVarRefs)
-
('more...' shiftedYellowButtonActivity)).
aMenu popUpInWorld: ActiveWorld!
Item was changed:
----- Method: Lexicon>>selectorsDefiningInstVar (in category 'within-tool queries') -----
selectorsDefiningInstVar
"Return a list of methods that define a given inst var that are in the protocol of this object"
| aList |
aList := OrderedCollection new.
targetClass withAllSuperclassesDo:
[:aClass |
+ (aClass whichMethodsAssign: currentQueryParameter asString) do:
+ [ : cm | cm selector isDoIt ifFalse: [aList add: cm selector]
- (aClass whichSelectorsStoreInto: currentQueryParameter asString) do:
- [:sel | sel isDoIt ifFalse: [aList add: sel]
]
].
^ aList!
Item was changed:
----- Method: Lexicon>>setLocalInstVarDefs (in category 'within-tool queries') -----
setLocalInstVarDefs
"Put up a list of the instance variables in the viewed object, and when the user seletcts one, let the query results category show all the references to that instance variable."
| instVarToProbe |
+ targetClass chooseVarThenDo:
- targetClass chooseInstVarThenDo:
[:aName | instVarToProbe := aName].
instVarToProbe isEmptyOrNil ifTrue: [^ self].
currentQuery := #instVarDefs.
currentQueryParameter := instVarToProbe.
self showQueryResultsCategory!
Item was changed:
----- Method: Lexicon>>setLocalInstVarRefs (in category 'within-tool queries') -----
setLocalInstVarRefs
"Put up a list of the instance variables in the viewed object, and when the user seletcts one, let the query results category show all the references to that instance variable."
| instVarToProbe |
+ targetClass chooseVarThenDo:
- targetClass chooseInstVarThenDo:
[:aName | instVarToProbe := aName].
instVarToProbe isEmptyOrNil ifTrue: [^ self].
currentQuery := #instVarRefs.
currentQueryParameter := instVarToProbe.
self showQueryResultsCategory!
Chris Muller uploaded a new version of Tests to project The Trunk:
http://source.squeak.org/trunk/Tests-cmm.126.mcz
==================== Summary ====================
Name: Tests-cmm.126
Author: cmm
Time: 2 May 2011, 6:39:55.068 pm
UUID: 11bf0878-1ee7-4c50-b637-c31c080714b6
Ancestors: Tests-ul.125
Updated test to use new MCDirectoryRepository constructor.
=============== Diff against Tests-ul.125 ===============
Item was changed:
----- Method: MCDirectoryRepositoryTest>>setUp (in category 'as yet unclassified') -----
setUp
+ repository := MCDirectoryRepository directory: self directory!
- repository := MCDirectoryRepository new directory: self directory!
Chris Muller uploaded a new version of Tests to project The Trunk:
http://source.squeak.org/trunk/Tests-cmm.126.mcz
==================== Summary ====================
Name: Tests-cmm.126
Author: cmm
Time: 2 May 2011, 6:39:55.068 pm
UUID: 11bf0878-1ee7-4c50-b637-c31c080714b6
Ancestors: Tests-ul.125
Updated test to use new MCDirectoryRepository constructor.
=============== Diff against Tests-ul.125 ===============
Item was changed:
----- Method: MCDirectoryRepositoryTest>>setUp (in category 'as yet unclassified') -----
setUp
+ repository := MCDirectoryRepository directory: self directory!
- repository := MCDirectoryRepository new directory: self directory!
Chris Muller uploaded a new version of Tests to project The Trunk:
http://source.squeak.org/trunk/Tests-cmm.126.mcz
==================== Summary ====================
Name: Tests-cmm.126
Author: cmm
Time: 2 May 2011, 6:39:55.068 pm
UUID: 11bf0878-1ee7-4c50-b637-c31c080714b6
Ancestors: Tests-ul.125
Updated test to use new MCDirectoryRepository constructor.
=============== Diff against Tests-ul.125 ===============
Item was changed:
----- Method: MCDirectoryRepositoryTest>>setUp (in category 'as yet unclassified') -----
setUp
+ repository := MCDirectoryRepository directory: self directory!
- repository := MCDirectoryRepository new directory: self directory!