Pragma conversion update #3: dynamic non-caching descriptions

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

Pragma conversion update #3: dynamic non-caching descriptions

Nick
Hi,

I've removed Magritte's description caching in the latest version so that descriptions are now created dynamically on demand. Without the cache I found I needed to guard against recursive descriptions and ended up using a dynamic-variable as a temporary cache to break the recursion.

I had to modify one test to avoid a failure:

MADescriptionBuilderTest>>testRecursive
self assert: self magritteDescription children first reference = self magritteDescription

The failure was caused by the child descriptions both having null accessors which use random UUIDs so will never be equal. I fixed this by specify an accessor: "accessor: MADictionaryAccessor new;"

I've created a Magritte-Deprecated package which contains:

MADescriptionBuilder
MANamedBuilder
MAProxyObject
MADynamicObject
MADynamicObjectTest

Also the following package extension methods have been placed in deprecated:
Object>>#description
Object class>>#description
BlockClosure>>#magritteDynamicObject
BlockContext>>#magritteDynamicObject

and I've removed all references to #magritteDynamicObject and the associated block in the core Magritte packages.

Nick









 

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki