Foros del Web » Programación para mayores de 30 ;) » Java »

ASTParser, conseguir IJavaProject y nombre de la unidad

Estas en el tema de ASTParser, conseguir IJavaProject y nombre de la unidad en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 01/02/2013, 04:26
 
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

Etiquetas: eclipse
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:50.