Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 25 additions & 1 deletion src/NewTools-MethodBrowsers/StMethodBrowser.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,14 @@ StMethodBrowser class >> browse: compiledMethods asImplementorsOf: aSymbol [
open
]

{ #category : 'opening explicit' }
StMethodBrowser class >> browse: compiledMethods asImplementorsOfAll: aCollectionOfSymbols [

^ self new
methods: compiledMethods asImplementorsOfAll: aCollectionOfSymbols;
open
]

{ #category : 'opening explicit' }
StMethodBrowser class >> browse: compiledMethods asReferencesToClass: aClass [
"Specialized version for better UX feedback for class references and explicit list of methods"
Expand Down Expand Up @@ -123,7 +131,7 @@ StMethodBrowser class >> browseImplementorsOfAll: aCollectionOfSymbols [

| methods |
methods := aCollectionOfSymbols flatCollect: [ :sym | self implementorsOf: sym ].
^ self browse: methods asArray title: 'Implementors of ' , (', ' join: aCollectionOfSymbols)
^ self browse: methods asArray asImplementorsOfAll: aCollectionOfSymbols
]

{ #category : 'opening' }
Expand Down Expand Up @@ -672,6 +680,16 @@ StMethodBrowser >> methods: compiledMethods asImplementorsOf: aSymbol [
title: 'Implementors of ' , aSymbol
]

{ #category : 'api - instance side' }
StMethodBrowser >> methods: compiledMethods asImplementorsOfAll: aCollectionOfSymbols [

self
setRefreshingBlockForImplementorsOfAll: aCollectionOfSymbols;
highlight: aCollectionOfSymbols;
methods: compiledMethods;
title: 'Implementors of ' , (', ' join: aCollectionOfSymbols)
]

{ #category : 'api - instance side' }
StMethodBrowser >> methods: compiledMethods asReferenceTo: aClassName [

Expand Down Expand Up @@ -858,6 +876,12 @@ StMethodBrowser >> setRefreshingBlockForImplementorsOf: aSelector [
]

{ #category : 'api' }
StMethodBrowser >> setRefreshingBlockForImplementorsOfAll: aCollectionOfSymbols [

self refreshingBlock: [ :message | aCollectionOfSymbols anySatisfy: [ :sel | message selector = sel ] ]
]

{ #category : 'initialization' }
StMethodBrowser >> setRefreshingBlockForReferencesToSlot: aSlot [

self refreshingBlock: [ :method | method accessesSlot: aSlot ]
Expand Down
Loading