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/
> dionisiydk/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

Reply via email to