En analizador Eclipse JDT Java, es posible atravesar el nodo AST por el nodo sin el uso de los visitantes?

Victor Sobreira:

La forma estándar para acceder a la información en nodos a través de la API de Eclipse JDT es con el patrón del visitante. Por ejemplo:

unit.accept(new MyVisitorAdapter<Object>() {
  @Override public void visit(MethodCallExpr node, Object arg) {
    System.out.println("found method call: " + node.toString());
  }
}, null);

En este caso, para visitar un nodo que necesito para especificar qué tipo de nodo Estoy interesado ( MethodCallExpren este caso). Pero, para proceder a la información del nodo de acceso de una manera genérica, que debería reemplazar todo el visit()método, lo que podría enumerar cada tipo de nodo disponible en la API de Eclipse JDT. Un ejemplo completo de donde se lleva a cabo se encuentra aquí .

En este contexto, aunque no exactamente en el mismo dominio de cobertura de código, me gustaría tener el control sobre el recorrido realizado por el Eclipse JDT Java Analizador. Me gustaría caminar a través de los nodos AST, lo que podría pasar por todos ellos, la selección de lo que quiero, pero sin restringir a un tipo, como se muestra en el código de seguridad. ¿Es posible? ¿Hay una manera estándar de hacer que a través de la API de Eclipse JDT?

Stephan Herrmann:

Si no se preocupan por los tipos de nodos, anular cualquiera de ASTVisitor.preVisit(ASTNode), ASTVisitor.preVisit2(ASTNode), ASTVisitor.postVisit(ASTNode).

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=209151&siteId=1
Recomendado
Clasificación