@Override public void visit(Call callExp) { if (callExp.getCallee() != null) callExp.getCallee().accept(this); System.out.print("."); if (callExp.getMethodName() != null) callExp.getMethodName().accept(this); System.out.print("("); if (callExp.getArgs() != null) { for (int i = 0; i < callExp.getArgs().size(); i++) { if (callExp.getArgs().elementAt(i) == null) continue; callExp.getArgs().elementAt(i).accept(this); if (i < callExp.getArgs().size() - 1) System.out.print(", "); } } System.out.print(")"); }
@Override public void visitar(Call call) { // obtengo el codigo graph del nodo call. String ident = call.toExtendedGrapher(this.cantNodosVisitados); // uno al codigo general. this.codigoGraph += ident; String[] delimitador = ident.split("\\["); // enlazo el nodo con el padre. String enlace = this.auxPadres.peek() + "->" + delimitador[0] + "; \n"; // guardo el enlace en el codigo general. this.codigoGraph += enlace; // guardo el nuevo nodo en la pila this.auxPadres.push(delimitador[0]); // cuento como nodo visitado. this.cantNodosVisitados++; // visito los argumentos. for (Nodo argumento : call.getArgs()) { argumento.aceptar(this); } // ya visto el subarbol de call, elimino la raiz . this.auxPadres.pop(); }