Tim Rowledge wrote:
That would be kind of nice. I wonder if we could persuade the 'implementors of' code to add the appropriate method to the menu?
Well the basic part is simple enough; some extra is needed to compensate for the name munging used in TestInterpreterPlugin and its subclasses. See attached.
tim
'From Squeak3.2gamma of 24 January 2002 [latest update: #4743] on 1 April 2002 at 9:25:13 pm'! "Change Set: namedprimfinder Date: 1 April 2002 Author: tim@sumeru.stanford.edu
Extremely quick hack to add the name of a primitive called by a method to the list used by implementors and senders.
It doesn't attempt to deal with FFI calls, nor does it work well with primitives defined in subclasses of TestInterpreterPlugin - their names are munged in such a way as to confuse things. I expect somebody can work out a way around this. Still, it does work for 'ordinary' prims, which is a start"!
!CompiledMethod methodsFor: 'scanning' stamp: 'tpr 4/1/2002 21:16'! messages "Answer a Set of all the message selectors sent by this method." | scanner aSet prim | aSet _ Set new. scanner _ InstructionStream on: self. scanner scanFor: [:x | scanner addSelectorTo: aSet. false "keep scanning"]. prim _ self primitive. (prim > 0 and: [(prim between: 255 and: 519) not]) ifTrue: [prim = 117 ifTrue: [aSet add: (self literalAt: 1) second] ifFalse: [aSet add: (Interpreter primitiveTable at: prim + 1)]]. ^ aSet! !