/** * Creates a new code generator visitor. */ public DefaultJavaPrettyPrinter(Environment env) { this.env = env; this.imports = new HashSet<>(); setPrinterTokenWriter(new DefaultTokenWriter(new PrinterHelper(env))); if (env.isAutoImports()) { this.importsContext = new ImportScannerImpl(); } else { this.importsContext = new MinimalImportScanner(); } }
/** returns a pretty-printed version of a comment, with prefix, suffix, and intermediate prefix for block and Javadoc */ public static String printComment(CtComment comment) { PrinterHelper ph = new PrinterHelper(comment.getFactory().getEnvironment()); // now we only use one single method to print all tags printCommentContent(ph, comment, s -> { return s; }); return ph.toString(); }
private String getSubstitutionRequestsDescription(CtElement ele, List<ParamOnElement> requestsOnPos) { //sort requestsOnPos by their path Map<String, ParamOnElement> reqByPath = new TreeMap<>(); StringBuilder sb = new StringBuilder(); for (ParamOnElement reqPos : requestsOnPos) { sb.setLength(0); appendPathIn(sb, reqPos.sourceElement, ele); if (reqPos.role != null) { sb.append("/").append(reqPos.role.getCamelCaseName()); } String path = sb.toString(); reqByPath.put(path, reqPos); } PrinterHelper printer = new PrinterHelper(getFactory().getEnvironment()); //all comments in Spoon are using \n as separator printer.setLineSeparator("\n"); printer.write(getElementTypeName(ele)).incTab(); for (Map.Entry<String, ParamOnElement> e : reqByPath.entrySet()) { printer.writeln(); printer.write(e.getKey()).write('/'); printer.write(" <= ").write(e.getValue().node.toString()); } return printer.toString(); }
PrinterHelper problems = new PrinterHelper(_rootPackage.getFactory().getEnvironment()); Map<CtElement, Exception> allElements = new IdentityHashMap<>(); _rootPackage.filterChildren(null).forEach((CtElement ele) -> {