Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/02/2013, 04:26
Jose_Francisco_87
 
Fecha de Ingreso: febrero-2013
Mensajes: 2
Antigüedad: 11 años, 2 meses
Puntos: 0
ASTParser, conseguir IJavaProject y nombre de la unidad

He creado un plugin en eclipse para que me parsee con ASTParser un trozo de codigo que selecciono en busca de metodos(MethodDeclaration).
El codigo es el siguiente:
Código:
	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);
	  }
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???
Gracias