private <T> void visitCtType(CtType<T> type) { elementPrinterHelper.writeComment(type, CommentOffset.BEFORE); getPrinterHelper().mapLine(type, sourceCompilationUnit); if (type.isTopLevel()) { context.currentTopLevel = type; } elementPrinterHelper.visitCtNamedElement(type, sourceCompilationUnit); elementPrinterHelper.writeModifiers(type); }
@Override public <T> void visitCtEnumValue(CtEnumValue<T> enumValue) { elementPrinterHelper.visitCtNamedElement(enumValue, sourceCompilationUnit); elementPrinterHelper.writeComment(enumValue, CommentOffset.BEFORE); printer.writeIdentifier(enumValue.getSimpleName()); if (enumValue.getDefaultExpression() != null) { CtConstructorCall<?> constructorCall = (CtConstructorCall<?>) enumValue.getDefaultExpression(); if (!constructorCall.isImplicit()) { elementPrinterHelper.printList(constructorCall.getArguments(), null, false, "(", false, false, ",", true, false, ")", expr -> scan(expr)); } if (constructorCall instanceof CtNewClass) { scan(((CtNewClass<?>) constructorCall).getAnonymousClass()); } } }
@Override public <T> void visitCtConstructor(CtConstructor<T> constructor) { elementPrinterHelper.writeComment(constructor); elementPrinterHelper.visitCtNamedElement(constructor, sourceCompilationUnit); elementPrinterHelper.writeModifiers(constructor); elementPrinterHelper.writeFormalTypeParameters(constructor); if (!constructor.getFormalCtTypeParameters().isEmpty()) { printer.writeSpace(); } if (constructor.getDeclaringType() != null) { if (constructor.getDeclaringType().isLocalType()) { printer.writeIdentifier(constructor.getDeclaringType().getSimpleName().replaceAll("^[0-9]*", "")); } else { printer.writeIdentifier(constructor.getDeclaringType().getSimpleName()); } } elementPrinterHelper.writeExecutableParameters(constructor); elementPrinterHelper.writeThrowsClause(constructor); printer.writeSpace(); scan(constructor.getBody()); }
@Override public <T> void visitCtField(CtField<T> f) { elementPrinterHelper.writeComment(f, CommentOffset.BEFORE); elementPrinterHelper.visitCtNamedElement(f, sourceCompilationUnit); elementPrinterHelper.writeModifiers(f); scan(f.getType()); printer.writeSpace(); printer.writeIdentifier(f.getSimpleName()); if (f.getDefaultExpression() != null) { printer.writeSpace().writeOperator("=").writeSpace(); scan(f.getDefaultExpression()); } printer.writeSeparator(";"); elementPrinterHelper.writeComment(f, CommentOffset.AFTER); }
@Override public <T> void visitCtAnnotationMethod(CtAnnotationMethod<T> annotationMethod) { elementPrinterHelper.writeComment(annotationMethod); elementPrinterHelper.visitCtNamedElement(annotationMethod, sourceCompilationUnit); elementPrinterHelper.writeModifiers(annotationMethod); scan(annotationMethod.getType()); printer.writeSpace(); printer.writeIdentifier(annotationMethod.getSimpleName()); printer.writeSeparator("(").writeSeparator(")"); if (annotationMethod.getDefaultExpression() != null) { printer.writeSpace().writeKeyword("default").writeSpace(); scan(annotationMethod.getDefaultExpression()); } printer.writeSeparator(";"); }
@Override public <T> void visitCtMethod(CtMethod<T> m) { elementPrinterHelper.writeComment(m, CommentOffset.BEFORE); elementPrinterHelper.visitCtNamedElement(m, sourceCompilationUnit); elementPrinterHelper.writeModifiers(m); elementPrinterHelper.writeFormalTypeParameters(m);