tx!

On Fri, Sep 29, 2017 at 9:58 AM, Denis Kudriashov <dionisi...@gmail.com>
wrote:

>
> 2017-09-28 21:12 GMT+02:00 Stephane Ducasse <stepharo.s...@gmail.com>:
>
>> I would not use meta because you would not write annotationAnnotations :)
>> and annotations is meta by its name.
>>
>> classAnnotation is much better than metaAnnotation
>>
>
> Done.
>
>
>>
>> Stef
>>
>>
>> On Thu, Sep 28, 2017 at 5:40 PM, Denis Kudriashov <dionisi...@gmail.com>
>> wrote:
>>
>>> So I renamed it to ClassAnnotation with all related names.
>>>
>>> But I keep meta prefix in #metaAnnotations Class extension to avoid
>>> general name:
>>>
>>> MyClass metaAnnotations
>>>
>>> You can check updated readme for details https://github.com/dio
>>> nisiydk/ClassAnnotation
>>>
>>> 2017-09-26 17:31 GMT+02:00 Stephane Ducasse <stepharo.s...@gmail.com>:
>>>
>>>> ;)
>>>>
>>>> On Tue, Sep 26, 2017 at 1:28 PM, Ben Coman <b...@openinworld.com> wrote:
>>>>
>>>>> 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