On 15 Aug 2015, at 12:56, Marcus Denker <marcus.denker@inria.fr> wrote:

Ok, what I will do first is to add the API to Variables + Packages using the propertyAt: format.


Done for Globals and ClassVariables:

https://pharo.fogbugz.com/f/cases/16223/Property-API-for-Globals


This works for both ���Class Variable��� meta objects:

(ClassVariableTest classVariableNamed: #TestVariable)  propertyAt: #hello put: ���you'.

and any Global in the ���Smalltalk globals���:

Object binding propertyAt: #hello put: ���you'.

testPropertyAtPut

| testValue classVariable |
testValue := Date today.
classVariable := self class classVariableNamed: #TestVariable.
classVariable propertyAt: #testKeySelector put: testValue.
self
assert: (classVariable propertyAt: #testKeySelector)
equals: testValue.

TestVariable := 5. "of course changing the var does not change the property"
self
assert: (classVariable propertyAt: #testKeySelector)
equals: testValue.
classVariable removeProperty: #testKeySelector.
self assert: classVariable properties isNil.


Marcus