On 03 Oct 2015, at 14:41, MARCUS.DENKER@INRIA.FR wrote:
Hi,
The latest image now has some more options for meta links. The complete list is listed in the #defaultOptions method of MetaLink class:
defaultOptions ^ #( + optionInlineMetaObject "meta object is inlined by default." + optionInlineCondtion "condition is inlined by default.â (ups, typo, will fix) - optionCompileOnLinkInstallation "generate compiledMethod on link installation" - optionOneShot "remove link after first activation" - optionMetalevel "force level: 0 for the link" - optionDisabledLink "links are active by default" )
Some of the options make only sense because after this issue will be integrated:
https://pharo.fogbugz.com/f/cases/16695/allow-classes-to-force-meta-link-opt... <https://pharo.fogbugz.com/f/cases/16695/allow-classes-to-force-meta-link-opt...>
we will have a mechanism that classes can enforce options for all links installed in them. This is done by adding a method on the instance or class side like this:
metaLinkOptions ^{ #exampleMethodWithMetaLinkOptionsViaClass -> #( + optionCompileOnLinkInstallation) }
This allows e.g. a class to turn off links for one method or enforce using meta-level awareness. (for now the options are overridden when installing a link, I will move this into the code generator to have a real overlay semantics as a next step).
Done: https://pharo.fogbugz.com/f/cases/16715/options-defined-by-classes-or-method... <https://pharo.fogbugz.com/f/cases/16715/options-defined-by-classes-or-method...> (some caching maybe later to speed up options parsing in the code generator, but for now it is important that it works correctly) Marcus