Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1142.mcz==================== Summary ====================
Name: Kernel-eem.1142
Author: eem
Time: 11 January 2018, 10:48:34.716679 am
UUID: 7a417b5f-f076-48e5-804c-cce7235fe71b
Ancestors: Kernel-eem.1141
Provide the full properties and pragmas protocol in CompiledBlock, deferring to outer method. (It would be nice to prune this at some stage).
=============== Diff against Kernel-eem.1141 ===============
Item was added:
+ ----- Method: CompiledBlock>>pragmas (in category 'accessing-pragmas & properties') -----
+ pragmas
+ ^self homeMethod pragmas!
Item was added:
+ ----- Method: CompiledBlock>>propertyKeysAndValuesDo: (in category 'accessing-pragmas & properties') -----
+ propertyKeysAndValuesDo: aBlock
+ "Enumerate the receiver with all the keys and values."
+ ^self homeMethod propertyKeysAndValuesDo: aBlock!
Item was added:
+ ----- Method: CompiledBlock>>propertyValueAt: (in category 'accessing-pragmas & properties') -----
+ propertyValueAt: propName
+ ^self homeMethod propertyValueAt: propName!
Item was added:
+ ----- Method: CompiledBlock>>propertyValueAt:ifAbsent: (in category 'accessing-pragmas & properties') -----
+ propertyValueAt: propName ifAbsent: aBlock
+ ^self homeMethod propertyValueAt: propName ifAbsent: aBlock!
Item was added:
+ ----- Method: CompiledBlock>>propertyValueAt:put: (in category 'accessing-pragmas & properties') -----
+ propertyValueAt: propName put: propValue
+ "Set or add the property with key propName and value propValue.
+ If the receiver does not yet have a method properties create one and replace
+ the selector with it. Otherwise, either relace propValue in the method properties
+ or replace method properties with one containing the new property."
+ ^self homeMethod propertyValueAt: propName put: propValue!
Item was added:
+ ----- Method: CompiledBlock>>removeProperty: (in category 'accessing-pragmas & properties') -----
+ removeProperty: propName
+ "Remove the property propName if it exists.
+ Do _not_ raise an error if the property is missing."
+ ^self homeMethod removeProperty: propName!
Item was added:
+ ----- Method: CompiledBlock>>removeProperty:ifAbsent: (in category 'accessing-pragmas & properties') -----
+ removeProperty: propName ifAbsent: aBlock
+ "Remove the property propName if it exists.
+ Answer the evaluation of aBlock if the property is missing."
+ ^self homeMethod removeProperty: propName ifAbsent: aBlock!