Jak mam postąpić w związku z dodaniem stosunkowo trywialnego słowa kluczowego do Objective-C za pomocą kompilatora Clang? Na przykład dodanie literału @yes
, który jest mapowany na [NSNumber numberWithBool:YES]
.Dodaj słowo kluczowe do Objective-C za pomocą Clang
Przyjrzałem się (znakomitemu) kodowi źródłowemu dla Clanga i wierzę, że większość pracy, którą powinienem wykonać, to lib/Rewrite/RewriteObjC.cpp
. Istnieje metoda RewriteObjC::RewriteObjCStringLiteral
(zobacz poprzedni link), która wykonuje podobne zadanie dla literalnych instancji NSString *
.
pytam jak Clang to pytanie jest bardzo modularny i nie jestem pewien, który .td
(patrz tablegen
) plików, .h
plików i AST użytkownik przechodzi musiałbym modyfikować, aby osiągnąć swój cel.
Dlaczego chcesz to zrobić? Chcesz, aby Twój kod był kompilowany tylko przez ulepszony kompilator? – Krizz
@Krizz Aby dowiedzieć się więcej o wewnętrznych działaniach Clanga, oto dlaczego! To ćwiczenie edukacyjne :) –
Jeśli chcesz tylko @yes bez nurkowania w tych wewnętrznych elementów Clang, zobacz: http://stackoverflow.com/a/17837531/598057 –