Eliot Miranda uploaded a new version of System to project The Trunk: http://source.squeak.org/trunk/System-eem.1006.mcz
==================== Summary ====================
Name: System-eem.1006 Author: eem Time: 14 March 2018, 1:42:43.001695 pm UUID: ed1f0de6-02eb-494d-8d50-3f65cd70bdaa Ancestors: System-eem.1005
Have MethodReference>>compiledMethod answer nil when the method is no longer present, instead of throwing an error. Use this to make SystemNavigation>>allCallsOn:fromMethodReferences:sorted: more robust.
=============== Diff against System-eem.1005 ===============
Item was changed: ----- Method: MethodReference>>compiledMethod (in category 'accessing') ----- compiledMethod + ^self actualClass compiledMethodAt: methodSymbol ifAbsent: nil! - ^ self actualClass compiledMethodAt: methodSymbol!
Item was changed: ----- Method: SystemNavigation>>allCallsOn:fromMethodReferences:sorted: (in category 'query') ----- allCallsOn: aLiteral fromMethodReferences: methodReferences sorted: sorted "Answer a collection of all the methods implemented by behaviors that call on aLiteral even deeply embedded in literal arrays." | result | result := CompiledCode scanBlocksForLiteral: aLiteral do: [:primaryScanner :secondaryScanner | | thorough | "Possibly search for literals embedded in literal arrays or pragmas, etc." thorough := self class thoroughSenders. methodReferences select: [ :reference | reference compiledMethod + ifNil: [false] + ifNotNil: + [:method| + method + refersTo: aLiteral + primaryBytecodeScanner: primaryScanner + secondaryBytecodeScanner: secondaryScanner + thorough: thorough]]]. - refersTo: aLiteral - primaryBytecodeScanner: primaryScanner - secondaryBytecodeScanner: secondaryScanner - thorough: thorough]]. sorted ifTrue: [result sort]. ^result!
packages@lists.squeakfoundation.org