From b1556e64daf5358bebf4844c816467c866376dcd Mon Sep 17 00:00:00 2001
From: Pavel Vojtechovsky
Date: Thu, 7 Sep 2017 21:39:26 +0200
Subject: [PATCH] refactor: DefaultJavaPrettyPrinter uses CommentHelper
---
.../visitor/DefaultJavaPrettyPrinter.java | 86 ++-----------------
1 file changed, 8 insertions(+), 78 deletions(-)
diff --git a/src/main/java/spoon/reflect/visitor/DefaultJavaPrettyPrinter.java b/src/main/java/spoon/reflect/visitor/DefaultJavaPrettyPrinter.java
index 5eff88bd297..cd8c1b9a51c 100644
--- a/src/main/java/spoon/reflect/visitor/DefaultJavaPrettyPrinter.java
+++ b/src/main/java/spoon/reflect/visitor/DefaultJavaPrettyPrinter.java
@@ -109,6 +109,7 @@
import spoon.reflect.reference.CtWildcardReference;
import spoon.reflect.visitor.PrintingContext.Writable;
import spoon.reflect.visitor.filter.PotentialVariableDeclarationFunction;
+import spoon.reflect.visitor.printer.CommentHelper;
import spoon.reflect.visitor.printer.CommentOffset;
import spoon.reflect.visitor.printer.ElementPrinterHelper;
import spoon.reflect.visitor.printer.ListPrinter;
@@ -911,25 +912,12 @@ public void visitCtJavaDoc(CtJavaDoc comment) {
@Override
public void visitCtJavaDocTag(CtJavaDocTag docTag) {
- printer.write(COMMENT_STAR);
- printer.write(CtJavaDocTag.JAVADOC_TAG_PREFIX);
- printer.write(docTag.getType().name().toLowerCase());
- printer.write(" ");
- if (docTag.getType().hasParam()) {
- printer.write(docTag.getParam()).writeln().writeTabs();
- }
-
- String[] tagLines = docTag.getContent().split(CtComment.LINE_SEPARATOR);
- for (int i = 0; i < tagLines.length; i++) {
- String com = tagLines[i];
- if (i > 0 || docTag.getType().hasParam()) {
- printer.write(COMMENT_STAR);
- }
- if (docTag.getType().hasParam()) {
- printer.write("\t\t");
- }
- printer.write(com.trim()).writeln().writeTabs();
- }
+ /*
+ * is not called during normal printing of java sources.
+ * It can be called only when CtJavaDocTag has to be printed directly.
+ * E.g. from CtJavaDocTag#toString
+ */
+ CommentHelper.printJavaDocTag(printer, docTag);
}
@Override
@@ -937,65 +925,7 @@ public void visitCtComment(CtComment comment) {
if (!env.isCommentsEnabled() && context.elementStack.size() > 1) {
return;
}
- switch (comment.getCommentType()) {
- case FILE:
- printer.write(JAVADOC_START).writeln();
- break;
- case JAVADOC:
- printer.write(JAVADOC_START).writeln().writeTabs();
- break;
- case INLINE:
- printer.write(INLINE_COMMENT_START);
- break;
- case BLOCK:
- printer.write(BLOCK_COMMENT_START);
- break;
- }
- String content = comment.getContent();
- switch (comment.getCommentType()) {
- case INLINE:
- printer.write(content);
- break;
- default:
- String[] lines = content.split(CtComment.LINE_SEPARATOR);
- for (int i = 0; i < lines.length; i++) {
- String com = lines[i];
- if (comment.getCommentType() == CtComment.CommentType.BLOCK) {
- printer.write(com);
- if (lines.length > 1) {
- printer.writeln().writeTabs();
- }
- } else {
- if (com.length() > 0) {
- printer.write(COMMENT_STAR + com).writeln().writeTabs();
- } else {
- printer.write(" *" /* no trailing space */ + com).writeln().writeTabs();
- }
- }
-
- }
- if (comment instanceof CtJavaDoc) {
- if (!((CtJavaDoc) comment).getTags().isEmpty()) {
- printer.write(" *").writeln().writeTabs();
- }
- for (CtJavaDocTag docTag : ((CtJavaDoc) comment).getTags()) {
- scan(docTag);
- }
- }
- break;
- }
-
- switch (comment.getCommentType()) {
- case BLOCK:
- printer.write(BLOCK_COMMENT_END);
- break;
- case FILE:
- printer.write(BLOCK_COMMENT_END);
- break;
- case JAVADOC:
- printer.write(BLOCK_COMMENT_END);
- break;
- }
+ CommentHelper.printComment(printer, comment);
}
@Override