El codigo es el siguiente:
Código:
El texto seleccionado paso al tipo char[] para que me parsee el texto que he seleccionado. Lo que necesito conseguir es el IJavaProject y el nombre de la clase para inicializar el parser si no, no me printea ningun metodo. Alguien sabe como se puede hacer esto???private void creteAST(SelectedText selectedText) { CompilationUnit parse = parse(selectedText); MethodVisitor visitor = new MethodVisitor(); parse.accept(visitor); System.out.println("Printeando metodos"); for (MethodDeclaration method : visitor.getMethods()) { System.out.println("Method name: " + method.getName()+ ". Return type: " + method.getReturnType2()); System.out.println(method); } } private static CompilationUnit parse(SelectedText selectedText) { String s_text = selectedText.getSelectedText(); char[] c_text = s_text.toCharArray(); IJavaProject javaProject = null; String className = null; ASTParser parser = ASTParser.newParser(AST.JLS3); parser.setKind(ASTParser.K_COMPILATION_UNIT); parser.setSource(c_text); parser.setResolveBindings(true); parser.setProject(javaProject); parser.setUnitName(className); return (CompilationUnit) parser.createAST(null); }
Gracias