Shhh... The first rule of meta-club is we don't talk about meta-club.

cheers -ben

On Mon, Sep 25, 2017 at 11:09 PM, Guillermo Polito <
guillermopol...@gmail.com> wrote:

> Why calling them meta-annotation and not just annotation? Annotations are
> in general already meta :)
>
> On Mon, Sep 25, 2017 at 5:01 PM, Denis Kudriashov <dionisi...@gmail.com>
> wrote:
>
>> Hi.
>>
>> I glad to present one class package which introduces reusable mechanism
>> for first class annotations.
>>
>> The project can be found on github https://github.com/dion
>> isiydk/ClassMetaAnnotation.
>> And I tried to describe why it is needed in my blog
>> http://dionisiydk.blogspot.fr/2017/09/class-meta-annotations.html.
>>
>> And here is overview:
>>
>> Every annotation should be subclass of ClassMetaAnnotation. To attach it
>> to class you create new class side method which will return an instance of
>> the annotation. Method should be marked with pragma #classMetaAnnotation:
>>
>>
>> MyClass class>>specialAnnotation
>>
>> <classMetaAnnotation>
>>
>> ^MySpecialAnnotation new
>>
>>
>> To query annotations from system there are two methods:
>>
>> 1) You can ask concrete annotation class for all declared instances:
>>
>> MySpecialAnnotation declaredInstances
>>
>> 2) You can ask given class for all attached annotations:
>>
>> MyClass metaAnnotations
>>
>> Every annotation includes information about annotated class and the
>> selector of declaring method.
>> All annotations are cached. So it is cheap to query them. There are extra
>> messages to enumerate annotations using block.
>>
>> Now let's discuss it. I think it can be good addition for the Pharo 7.
>> Especially that it is very small code.
>>
>> Also I would like to thank Marcus who helps me realize this concept in
>> Commander and Calypso which I start simplify with this library.
>>
>> Best regards,
>> Denis
>>
>
>
>
> --
>
>
>
> Guille Polito
>
> Research Engineer
>
> Centre de Recherche en Informatique, Signal et Automatique de Lille
>
> CRIStAL - UMR 9189
>
> French National Center for Scientific Research - *http://www.cnrs.fr
> <http://www.cnrs.fr>*
>
>
> *Web:* *http://guillep.github.io* <http://guillep.github.io>
>
> *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>
>

Reply via email to