mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Fixed IDEA-205110 Reformatting JavaDoc with generics Map adds extra spaces every time
This commit is contained in:
+2
-1
@@ -25,6 +25,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
public class JavadocWhiteSpaceFormattingStrategy extends WhiteSpaceFormattingStrategyAdapter {
|
||||
@Override
|
||||
public boolean containsWhitespacesOnly(@NotNull final ASTNode node) {
|
||||
return node.getElementType() == JavaDocTokenType.DOC_COMMENT_DATA && node.textContains('\n') && node.getText().trim().isEmpty();
|
||||
return (node.getElementType() == JavaDocTokenType.DOC_COMMENT_DATA && node.textContains('\n') ||
|
||||
node.getElementType() == JavaDocTokenType.DOC_TAG_VALUE_TOKEN) && node.getText().trim().isEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -157,7 +157,7 @@ public class JavaSpacePropertyProcessor extends JavaElementVisitor {
|
||||
private void init(ASTNode child) {
|
||||
if (child == null) return;
|
||||
ASTNode treePrev = child.getTreePrev();
|
||||
while (treePrev != null && (treePrev.getElementType() == TokenType.WHITE_SPACE || treePrev.getTextLength() == 0)) {
|
||||
while (treePrev != null && FormatterUtil.containsWhiteSpacesOnly(treePrev)) {
|
||||
treePrev = treePrev.getTreePrev();
|
||||
}
|
||||
if (treePrev == null) {
|
||||
@@ -1237,16 +1237,16 @@ public class JavaSpacePropertyProcessor extends JavaElementVisitor {
|
||||
else if (myType2 == JavaDocTokenType.DOC_COMMENT_LEADING_ASTERISKS) {
|
||||
createSpaceProperty(false, true, 0);
|
||||
}
|
||||
else if ((myType1 == JavaDocTokenType.DOC_TAG_VALUE_TOKEN || myType1 == JavaDocElementType.DOC_TAG_VALUE_ELEMENT) &&
|
||||
(myType2 == JavaDocTokenType.DOC_TAG_VALUE_TOKEN || myType2 == JavaDocElementType.DOC_TAG_VALUE_ELEMENT)) {
|
||||
createSpaceInCode(true);
|
||||
}
|
||||
else if (myRole1 == ChildRole.COMMA) {
|
||||
createSpaceInCode(mySettings.SPACE_AFTER_COMMA);
|
||||
}
|
||||
else if (myRole2 == ChildRole.COMMA) {
|
||||
createSpaceInCode(mySettings.SPACE_BEFORE_COMMA);
|
||||
}
|
||||
else if ((myType1 == JavaDocTokenType.DOC_TAG_VALUE_TOKEN || myType1 == JavaDocElementType.DOC_TAG_VALUE_ELEMENT) &&
|
||||
(myType2 == JavaDocTokenType.DOC_TAG_VALUE_TOKEN || myType2 == JavaDocElementType.DOC_TAG_VALUE_ELEMENT)) {
|
||||
createSpaceInCode(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -36,7 +36,8 @@ public class PsiDocTagValueImpl extends CompositePsiElement implements PsiDocTag
|
||||
|
||||
@Override
|
||||
public int getChildRole(@NotNull ASTNode child) {
|
||||
if (child.getElementType() == JavaDocTokenType.DOC_TAG_VALUE_COMMA) {
|
||||
if (child.getElementType() == JavaDocTokenType.DOC_TAG_VALUE_COMMA ||
|
||||
child.getElementType() == JavaDocTokenType.DOC_TAG_VALUE_TOKEN && child.getTextLength() == 1 && child.getChars().charAt(0) == ',') {
|
||||
return ChildRole.COMMA;
|
||||
}
|
||||
|
||||
|
||||
@@ -1338,4 +1338,44 @@ public class Test {
|
||||
"""
|
||||
)
|
||||
}
|
||||
|
||||
fun testIdea205110() {
|
||||
doTextTest(
|
||||
"""
|
||||
package com.test;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class GeneralTest {
|
||||
|
||||
/**
|
||||
* @return Map<String, string>
|
||||
*/
|
||||
private Map<String, String> test() {
|
||||
return new HashMap<>();
|
||||
}
|
||||
|
||||
}
|
||||
""".trimIndent(),
|
||||
|
||||
"""
|
||||
package com.test;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class GeneralTest {
|
||||
|
||||
/**
|
||||
* @return Map<String, string>
|
||||
*/
|
||||
private Map<String, String> test() {
|
||||
return new HashMap<>();
|
||||
}
|
||||
|
||||
}
|
||||
""".trimIndent()
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user