The Trunk: Kernel-eem.1142.mcz

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

The Trunk: Kernel-eem.1142.mcz

commits-2
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!