[squeak-dev] The Inbox: Tools-lrnp.1148.mcz

commits at source.squeak.org commits at source.squeak.org
Sun May 1 06:40:50 UTC 2022


A new version of Tools was added to project The Inbox:
http://source.squeak.org/inbox/Tools-lrnp.1148.mcz

==================== Summary ====================

Name: Tools-lrnp.1148
Author: lrnp
Time: 1 May 2022, 12:40:47.313878 am
UUID: b8cdb799-5e16-45e0-8ef6-cb592ee14b37
Ancestors: Tools-tpr.1146

relax methodClass invariant for debuggers

In order to permit inspecting contexts of methods belonging to deleted classes while refactoring, do not require that CompiledMethod has a methodClass for debugger inspectors.

Resolves a masked MNU on #newParser in the debugger.

=============== Diff against Tools-tpr.1146 ===============

Item was changed:
  ----- Method: DebuggerMethodMap class>>forMethod: (in category 'instance creation') -----
  forMethod: aMethod "<CompiledMethod>"
  	"Answer a DebuggerMethodMap suitable for debugging activations of aMethod.
  	 Answer an existing instance from the cache if it exists, cacheing a new one if required."
  	
  	^self protected: [ 
  		MapCache
  			at: aMethod
  			ifAbsent: [self
  						cacheDebugMap:
  							(self
  								forMethod: aMethod
+ 								methodNode: (aMethod methodClass
+ 									ifNil: ["class deleted" aMethod decompileWithTemps]
+ 									ifNotNil: [aMethod methodNode]))
- 								methodNode: aMethod methodNode)
  						forMethod: aMethod] ]!



More information about the Squeak-dev mailing list