On Wednesday 14 of April 2010 14:46:50 Dusan Zatkovsky wrote: > Bingo! Musim uznat, ze som sa tomu venoval tak 15 minut a mam to s > javaparser skoro hotove! > > Diky diky.
Keby to niekoho zaujimalo, moze sa inspirovat: File src = new File("src/main/java/test/App.java"); CompilationUnit u = JavaParser.parse(src); new MethodVisitor().visit(u, null); // toto sa bude prekladat tr("tr string 1"); this.tr("tr string 2"); QApplication.translate("context1", "text1"); QApplication.translate("context2", "text2", 3); // toto sa nebude prekladat // QApplication.translate("context3", "text3", 3); // toto sa tiez nebude prekladat /* test QApplication.translate("context4", "text4", 3); * */ private static class MethodVisitor extends VoidVisitorAdapter { private String className; public void visit(ClassOrInterfaceDeclaration n, Object arg) { this.className = n.getName(); super.visit(n, arg); } public void visit(MethodCallExpr n, Object arg) { String name = n.getName(); Expression scope = n.getScope(); List args = n.getArgs(); if (name.equals("tr")) { if (args.size() == 1) { Translator.translate( className, args.get(0).toString()); } } else if (name.equals("translate") && scope != null && scope.toString().equals("QApplication")) { if (args.size() == 2) { Translator.translate(args.get(0).toString(), args.get(1).toString()); } else if (args.size() == 3) { System.out.println(args.get(2)); Translator.translate(args.get(0).toString(), args.get(1).toString(), new Integer(args.get(2).toString()).intValue()); } } super.visit(n, arg); } } ... ake jednoduche ! -- Dusan ... tykajte mi