/** * Write the compilation unit header. */ public DefaultJavaPrettyPrinter writeHeader(List<CtType<?>> types, Collection<CtTypeReference<?>> imports) { if (!types.isEmpty()) { CtPackage pack = types.get(0).getPackage(); scan(pack).writeln().writeln().writeTabs(); if (env.isAutoImports()) { for (CtTypeReference<?> ref : imports) { write("import " + ref.getQualifiedName() + ";").writeln().writeTabs(); } } writeln().writeTabs(); } return this; }
public void calculate(CompilationUnit sourceCompilationUnit, List<CtType<?>> types) { this.sourceCompilationUnit = sourceCompilationUnit; Collection<CtTypeReference<?>> imports = Collections.emptyList(); for (CtType<?> t : types) { imports = computeImports(t); } writeHeader(types, imports); for (CtType<?> t : types) { scan(t); writeln().writeln().writeTabs(); } }
public void visitCtNamedElement(CtNamedElement e) { // Write comments if (!env.isPreserveLineNumbers() && env.isGenerateJavadoc() && (e.getDocComment() != null)) { write("/** ").writeln().writeTabs(); String[] lines = e.getDocComment().split("\n"); for (int i = 0; i < lines.length; i++) { String com = lines[i].trim(); if ("".equals(com) && (i == 0 || i == lines.length - 1)) { continue; } if (com.startsWith("//")) { write(com).writeln().writeTabs(); } else { write(" * " + com).writeln().writeTabs(); } } write(" */").writeln(); } // Write element parameters (Annotations) writeAnnotations(e); if (env.isPreserveLineNumbers()) { adjustPosition(e); } }
public <A extends Annotation> void visitCtAnnotation(CtAnnotation<A> annotation) { writeAnnotations(annotation); write("@"); scan(annotation.getAnnotationType()); if (annotation.getElementValues().size() > 0) { write("("); for (Entry<String, Object> e : annotation.getElementValues().entrySet()) { write(e.getKey() + " = "); writeAnnotationElement(annotation.getFactory(), e.getValue()); write(", "); } removeLastChar(); write(")"); } writeln().writeTabs(); }
public <R> void visitCtBlock(CtBlock<R> block) { enterCtStatement(block); write("{").incTab(); for (CtStatement e : block.getStatements()) { if (!e.isImplicit()) { writeln().writeTabs(); writeStatement(e); } } if (env.isPreserveLineNumbers()) { decTab().write("}"); } else { decTab().writeln().writeTabs().write("}"); } }
public <E> void visitCtSwitch(CtSwitch<E> switchStatement) { enterCtStatement(switchStatement); write("switch ("); scan(switchStatement.getSelector()); write(") {").incTab(); for (CtCase<?> c : switchStatement.getCases()) { writeln().writeTabs().scan(c); } if (env.isPreserveLineNumbers()) { decTab().write("}"); } else { decTab().writeln().writeTabs().write("}"); } }
public <A extends Annotation> void visitCtAnnotationType(CtAnnotationType<A> annotationType) { visitCtType(annotationType); write("@interface " + annotationType.getSimpleName() + " {").incTab(); SortedList<CtElement> lst = new SortedList<CtElement>(new CtLineElementComparator()); lst.addAll(annotationType.getNestedTypes()); lst.addAll(annotationType.getFields()); for (CtElement el : lst) { writeln().writeTabs().scan(el); if (!env.isPreserveLineNumbers()) { writeln(); } } decTab().writeTabs().write("}"); }
scan(forLoop.getBody()); } else { incTab().writeln().writeTabs(); writeStatement(forLoop.getBody()); decTab();
write(" "); } else { incTab().writeln().writeTabs(); writeStatement(ifElement.getThenStatement()); if (env.isPreserveLineNumbers()) { decTab(); } else { decTab().writeln().writeTabs(); scan((CtStatement) ifElement.getElseStatement()); } else { incTab().writeln().writeTabs(); writeStatement(ifElement.getElseStatement()); if (env.isPreserveLineNumbers()) { decTab(); } else { decTab().writeln().writeTabs();
public void visitCtWhile(CtWhile whileLoop) { enterCtStatement(whileLoop); write("while ("); scan(whileLoop.getLoopingExpression()); write(")"); if (whileLoop.getBody() instanceof CtBlock) { write(" "); scan(whileLoop.getBody()); } else { incTab().writeln().writeTabs(); writeStatement(whileLoop.getBody()); decTab(); } }
public <T> void visitCtInterface(CtInterface<T> intrface) { visitCtType(intrface); write("interface " + intrface.getSimpleName()); if (intrface.getFormalTypeParameters() != null) { writeFormalTypeParameters(intrface.getFormalTypeParameters()); } if (intrface.getSuperInterfaces().size() > 0) { write(" extends "); for (CtTypeReference<?> ref : intrface.getSuperInterfaces()) { scan(ref); write(" , "); } removeLastChar(); } write(" {").incTab(); SortedList<CtElement> lst = new SortedList<CtElement>(new CtLineElementComparator()); lst.addAll(intrface.getNestedTypes()); lst.addAll(intrface.getFields()); lst.addAll(intrface.getMethods()); // Content for (CtElement e : lst) { writeln().writeTabs().scan(e); if (!env.isPreserveLineNumbers()) { writeln(); } } decTab().writeTabs().write("}"); }
public void visitCtForEach(CtForEach foreach) { enterCtStatement(foreach); write("for ("); scan(foreach.getVariable()); write(" : "); scan(foreach.getExpression()); write(")"); if (foreach.getBody() instanceof CtBlock) { write(" "); scan(foreach.getBody()); } else { incTab().writeln().writeTabs(); writeStatement(foreach.getBody()); decTab(); } }
@SuppressWarnings("rawtypes") public <E> void visitCtCase(CtCase<E> caseStatement) { enterCtStatement(caseStatement); if (caseStatement.getCaseExpression() != null) { write("case "); // writing enum case expression if ((caseStatement.getCaseExpression() instanceof CtFieldAccess) && ((CtFieldAccess) caseStatement.getCaseExpression()).getVariable().getType().getQualifiedName() .equals(((CtFieldAccess) caseStatement.getCaseExpression()).getVariable().getDeclaringType().getQualifiedName())) { write(((CtFieldAccess) caseStatement.getCaseExpression()).getVariable().getSimpleName()); } else { scan(caseStatement.getCaseExpression()); } } else { write("default"); } write(" :").incTab(); for (CtStatement s : caseStatement.getStatements()) { writeln().writeTabs().writeStatement(s); } decTab(); }