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) */