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