The Trunk: Tools-mt.922.mcz

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

The Trunk: Tools-mt.922.mcz

Marcel Taeumel uploaded a new version of Tools to project The Trunk:

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

Name: Tools-mt.922
Author: mt
Time: 29 November 2019, 11:45:06.040061 am
UUID: 2a67c032-4bcf-334d-898e-862aeafd93af
Ancestors: Tools-mt.921

Due to recurrent requests, add an #ifNil-check for the class argument in the label-formatting methods of all code holders. Still, also document the situation in a flag comment. At least, this makes this method more robust for the upcoming release. :-)

=============== Diff against Tools-mt.921 ===============

Item was changed:
  ----- Method: CodeHolder>>formattedLabel:forSelector:inClass: (in category 'message list') -----
  formattedLabel: aString forSelector: aSymbol inClass: aClass
+ "Show deprecated messages differently so that users recognize them quickly to avoid them. This is a performance critical method in the user interface."
- "Show deprecated messages differently so that users recognize them quickly to avoid them."
  | formattedLabel |
+ self flag: #investigate. "mt: aClass must never be nil!! Faulty tools should override this call themselves or fix the caller site."
+ aClass ifNil: [^ aString].
  (aSymbol = #Definition or: [aSymbol = #Comment])
  ifTrue: [aClass isDeprecated
  ifFalse: [^ aString]]
  ifFalse: [(aClass isDeprecated or: [(aClass compiledMethodAt: aSymbol ifAbsent: [^ aString]) isDeprecated])
  ifFalse: [^ aString]].
  formattedLabel := aString asText.
  (self userInterfaceTheme deprecatedMessageAttributes ifNil: [{TextColor gray. TextEmphasis struckOut}]) do: [:textAttribute |
  formattedLabel addAttribute: textAttribute].
  ^ formattedLabel.!