A co parsovat bytecode pres ASM <http://asm.ow2.org/>? Zda se mi to jako nejlepsi cesta. Parsovat zdrojaky bych uvazoval az jako posledni vec. Pokud to nelze, kouknul bych napr. do Findbugs<http://findbugs.sourceforge.net/>nebo Clirr <http://clirr.sourceforge.net/> jestli tam nebude neco pouzitelneho...
Petr Prochazka 2010/4/14 Dusan Zatkovsky <msk.c...@gmail.com> > Ahoj. > > Maintainujem qtjambi/maven plugin a stojim pred rozhodnutim ci/a/alebo cim > parsovat javovske zdrojaky. V principe mi ide o extrakciu textov k prekladu > ( > pokial niekto pouziva qt/qtjambi, ide mi o nahradu toolu "lupdate" ). > > Priklad: > > public class MainClass extends SomeObject { > > public void someMethod() { > > String s1 = tr("string1"); > String s2 = QApplication.translate("MyContext", "string2"); > String s3 = QCoreApplication.translate("MyContext", > "string3", 5); > //String s4 = QApplication.translate("MyContext", "string4", > 5); > String s5 = QApplication.translate( > "MyContext", > "string5", > 7); > > /* > String s6 = tr("commented"); > */ > > } > > class InnerClass { > void anotherMethod() { > String s6 = tr("string6"); > } > } > > } > > > Z tohoto zdrojaku potrebujem vyextrahovat parameter pre tr() a prve dva > parametre pre QApplication.translate() a QCoreApplication.translate(). > > Dalej v pripade tr() potrebujem vediet meno class-y ( MainClass ), pripadne > aj > rodicovskej classy (MainClass.InnerClass). > > Samozrejme k tomu spravne handlovat zakomentovane casti kodu a viacriadkove > statementy. > > Vysledkom tohoto extraktu by bolo cosi podobne tomuto: > > MainClass,string1 > MyContext,string2 > MyContext,string3 > MyContext,string5 > MainClass.InnerClass,string6 > > > Mam niekolko moznosti: > - regexp ( primitivne, nezistim meno classy ) > - nejaky vlastny tokenizer ( dlhsi cas vyvoja ) > - zneuzit cosi existujuce ... ? > > > Ako by ste na to sli vy? > > Dik > > -- > Dusan > > > ... tykajte mi >