@Override public void visit(MethodDecl method) { System.out.print("public "); if (method.getReturnType() != null) method.getReturnType().accept(this); System.out.print(" "); if (method.getId() != null) method.getId().accept(this); System.out.print(" ("); if (method.getParams() != null) { for (int i = 0; i < method.getParams().size(); i++) { if (method.getParams().elementAt(i) == null) continue; method.getParams().elementAt(i).accept(this); if (i < method.getParams().size() - 1) System.out.print(", "); } } System.out.println(") {"); if (method.getVars() != null) { for (int i = 0; i < method.getVars().size(); i++) { if (method.getVars().elementAt(i) == null) continue; System.out.print("\t\t"); method.getVars().elementAt(i).accept(this); System.out.println(); } } if (method.getStms() != null) { for (int i = 0; i < method.getStms().size(); i++) { if (method.getStms().elementAt(i) == null) continue; System.out.print("\t\t"); method.getStms().elementAt(i).accept(this); System.out.println(); } } System.out.print("\t\treturn "); if (method.getReturnExp() != null) method.getReturnExp().accept(this); System.out.println(";"); System.out.println("\t}"); }