Index: formatter/org/eclipse/jdt/internal/formatter/comment/CommentLine.java
===================================================================
RCS file: /home/eclipse/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/comment/CommentLine.java,v
retrieving revision 1.1
diff -u -r1.1 CommentLine.java
--- formatter/org/eclipse/jdt/internal/formatter/comment/CommentLine.java 23 Mar 2005 21:10:05 -0000 1.1
+++ formatter/org/eclipse/jdt/internal/formatter/comment/CommentLine.java 3 Apr 2005 06:27:02 -0000
@@ -153,7 +153,7 @@
final String start= getStartingPrefix();
final String content= getContentPrefix();
- if (fParent.isSingleLine() && fParent.getSize() == 1)
+ if (!shouldBreakAfterStartingPrefix() || (fParent.isSingleLine() && fParent.getSize() == 1))
buffer.append(start);
else {
@@ -175,6 +175,14 @@
fParent.logEdit(buffer.toString(), 0, range.getOffset());
}
+ /**
+ * Should this line break after the starting prefix?
+ *
+ * @return true
if this line should break after starting prefix,
+ * false
otherwise
+ */
+ protected abstract boolean shouldBreakAfterStartingPrefix();
+
/**
* Returns the line prefix of content lines.
*
Index: formatter/org/eclipse/jdt/internal/formatter/comment/JavaDocLine.java
===================================================================
RCS file: /home/eclipse/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/comment/JavaDocLine.java,v
retrieving revision 1.1
diff -u -r1.1 JavaDocLine.java
--- formatter/org/eclipse/jdt/internal/formatter/comment/JavaDocLine.java 23 Mar 2005 21:10:05 -0000 1.1
+++ formatter/org/eclipse/jdt/internal/formatter/comment/JavaDocLine.java 3 Apr 2005 06:27:02 -0000
@@ -49,4 +49,11 @@
protected String getStartingPrefix() {
return JAVADOC_START_PREFIX;
}
+
+ /*
+ * @see org.eclipse.jdt.internal.corext.text.comment.CommentLine#isDelimitedAfterStartingPrefix()
+ */
+ protected boolean shouldBreakAfterStartingPrefix() {
+ return true;
+ }
}
Index: formatter/org/eclipse/jdt/internal/formatter/comment/MultiCommentLine.java
===================================================================
RCS file: /home/eclipse/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/comment/MultiCommentLine.java,v
retrieving revision 1.1
diff -u -r1.1 MultiCommentLine.java
--- formatter/org/eclipse/jdt/internal/formatter/comment/MultiCommentLine.java 23 Mar 2005 21:10:05 -0000 1.1
+++ formatter/org/eclipse/jdt/internal/formatter/comment/MultiCommentLine.java 3 Apr 2005 06:27:02 -0000
@@ -137,7 +137,15 @@
return fReferenceIndentation;
}
- /*
+ /*
+ * @see org.eclipse.jdt.internal.corext.text.comment.CommentLine#shouldBreakAfterStartingPrefix()
+ */
+ protected boolean shouldBreakAfterStartingPrefix() {
+ // multiline comments should break only when it's OK to create new blank lines
+ return !getParent().isClearLines();
+ }
+
+ /*
* @see org.eclipse.jdt.internal.corext.text.comment.CommentLine#getStartLinePrefix()
*/
protected String getStartingPrefix() {
Index: formatter/org/eclipse/jdt/internal/formatter/comment/SingleCommentLine.java
===================================================================
RCS file: /home/eclipse/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/comment/SingleCommentLine.java,v
retrieving revision 1.1
diff -u -r1.1 SingleCommentLine.java
--- formatter/org/eclipse/jdt/internal/formatter/comment/SingleCommentLine.java 23 Mar 2005 21:10:05 -0000 1.1
+++ formatter/org/eclipse/jdt/internal/formatter/comment/SingleCommentLine.java 3 Apr 2005 06:27:02 -0000
@@ -85,6 +85,13 @@
return SINGLE_COMMENT_PREFIX;
}
+ /*
+ * @see org.eclipse.jdt.internal.corext.text.comment.CommentLine#shouldBreakAfterStartingPrefix()
+ */
+ protected boolean shouldBreakAfterStartingPrefix() {
+ return false;
+ }
+
/*
* @see org.eclipse.jdt.internal.corext.text.comment.CommentLine#scanLine(int)
*/