[LLVMdev] Objective C annotations aka attributes support

Nikita Leonov Nikita_Leonov at epam.com
Mon Mar 24 19:11:24 PDT 2014


Hello everyone, 

This is my first post in this group. I followed LLVM & Clang success for a while and apparently time has come to ask help from community and contribute into it as well. I and my colleagues developed solution to support attributes aka annotations in Objective C language — https://github.com/epam/lib-obj-c-attr We just in the beginning of our journey but traction that we see during a week as an open-source solution shows that there is a demand for attributes in ObjectiveC community. Other programming languages trends and amount of use-cases for out solutions also proofs that it is valuable feature for a language. As for now we mimic this language feature with use of third-party tool that doing pre-compile code generation. We looked forward to provide a better support of this feature by implementing Clang plugin but unfortunately version of Clang delivered with Xcode has Clang plugin support turned off. An ultimate goal for us and solution as we envision it will be introducing of attributes as structure of ObjC language. We understand that it is very epic goal that require a lot of time and effort but we would like to start digging it. I would really appreciate any guidance form community how we can make it happen. My current understanding is following:
* Setup initiative group of thinkers, technologists and supporters from various companies to ensure that we cover needs of most.
* Create proposal document that explains all the features of language extension that will be introduced. (example — http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1370.pdf)
* Create reference implementation of language extension that covers all use cases and provide it for limited testing by early adopters. 
* Polishing and main version rollout. 

I know that this plan is very raw, but we have a time to outline all the aspects. I am looking for advices. Thanks for any help that you can provide.

Best Regards,
Nikita Leonov
Development Manager

EPAM Systems

Mobile phone:        +1 (267) 994-6610
E-mail:              nikita_leonov at epam.com






More information about the llvm-dev mailing list