mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Options: Place new line after '(' and "Place line before ')' works only if parameter list is wrapped.
This commit is contained in:
@@ -1194,14 +1194,23 @@ public class JavaSpacePropertyProcessor extends JavaElementVisitor {
|
||||
@Override
|
||||
public void visitExpressionList(PsiExpressionList list) {
|
||||
if (myRole1 == ChildRole.LPARENTH && myRole2 == ChildRole.RPARENTH) {
|
||||
createParenthSpace(mySettings.CALL_PARAMETERS_LPAREN_ON_NEXT_LINE, mySettings.SPACE_WITHIN_EMPTY_METHOD_CALL_PARENTHESES);
|
||||
createSpaceInCode(mySettings.SPACE_WITHIN_EMPTY_METHOD_CALL_PARENTHESES);
|
||||
}
|
||||
else if (myRole2 == ChildRole.RPARENTH) {
|
||||
createParenthSpace(mySettings.CALL_PARAMETERS_RPAREN_ON_NEXT_LINE,
|
||||
myRole1 == ChildRole.COMMA || mySettings.SPACE_WITHIN_METHOD_CALL_PARENTHESES);
|
||||
boolean space = myRole1 == ChildRole.COMMA || mySettings.SPACE_WITHIN_METHOD_CALL_PARENTHESES;
|
||||
if (mySettings.CALL_PARAMETERS_RPAREN_ON_NEXT_LINE && list.getExpressions().length > 1) {
|
||||
createSpaceWithLinefeedIfListWrapped(list, space);
|
||||
return;
|
||||
}
|
||||
createSpaceInCode(space);
|
||||
}
|
||||
else if (myRole1 == ChildRole.LPARENTH) {
|
||||
createParenthSpace(mySettings.CALL_PARAMETERS_LPAREN_ON_NEXT_LINE, mySettings.SPACE_WITHIN_METHOD_CALL_PARENTHESES);
|
||||
boolean space = mySettings.SPACE_WITHIN_METHOD_CALL_PARENTHESES;
|
||||
if (mySettings.CALL_PARAMETERS_LPAREN_ON_NEXT_LINE && list.getExpressions().length > 1) {
|
||||
createSpaceWithLinefeedIfListWrapped(list, space);
|
||||
return;
|
||||
}
|
||||
createSpaceInCode(space);
|
||||
}
|
||||
else if (myRole1 == ChildRole.COMMA) {
|
||||
createSpaceInCode(mySettings.SPACE_AFTER_COMMA);
|
||||
@@ -1211,6 +1220,15 @@ public class JavaSpacePropertyProcessor extends JavaElementVisitor {
|
||||
}
|
||||
}
|
||||
|
||||
private void createSpaceWithLinefeedIfListWrapped(@NotNull PsiExpressionList list, boolean space) {
|
||||
PsiExpression[] expressions = list.getExpressions();
|
||||
assert expressions.length > 1;
|
||||
|
||||
int startOffset = expressions[0].getTextRange().getEndOffset();
|
||||
int endOffset = expressions[1].getTextRange().getStartOffset();
|
||||
createParenthSpace(true, space, new TextRange(startOffset, endOffset));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSynchronizedStatement(PsiSynchronizedStatement statement) {
|
||||
if (myRole1 == ChildRole.SYNCHRONIZED_KEYWORD || myRole2 == ChildRole.LPARENTH) {
|
||||
|
||||
+6
-7
@@ -4,12 +4,11 @@ public class Test {
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
run(
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
<caret>
|
||||
}
|
||||
});
|
||||
run(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
<caret>
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
+6
-8
@@ -4,13 +4,11 @@ public class Test {
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
run(
|
||||
123, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
);
|
||||
run(123, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
<caret>
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
+49
-29
@@ -264,9 +264,9 @@ public class JavaFormatterWrapTest extends AbstractJavaFormatterTest {
|
||||
getSettings().METHOD_PARAMETERS_WRAP = CommonCodeStyleSettings.WRAP_AS_NEEDED;
|
||||
|
||||
doClassTest(
|
||||
"@SuppressWarnings({\"SomeInspectionIWantToIgnore\"}) public void doSomething(int x, int y) {}",
|
||||
"@SuppressWarnings({\"SomeInspectionIWantToIgnore\"})\n" +
|
||||
"public void doSomething(int x, int y) {\n}"
|
||||
"@SuppressWarnings({\"SomeInspectionIWantToIgnore\"}) public void doSomething(int x, int y) {}",
|
||||
"@SuppressWarnings({\"SomeInspectionIWantToIgnore\"})\n" +
|
||||
"public void doSomething(int x, int y) {\n}"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -281,9 +281,9 @@ public class JavaFormatterWrapTest extends AbstractJavaFormatterTest {
|
||||
|
||||
getSettings().KEEP_MULTIPLE_EXPRESSIONS_IN_ONE_LINE = false;
|
||||
doMethodTest(
|
||||
"int i = 1; int j = 2;",
|
||||
"int i = 1;\n" +
|
||||
"int j = 2;"
|
||||
"int i = 1; int j = 2;",
|
||||
"int i = 1;\n" +
|
||||
"int j = 2;"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -292,8 +292,8 @@ public class JavaFormatterWrapTest extends AbstractJavaFormatterTest {
|
||||
|
||||
getSettings().FIELD_ANNOTATION_WRAP = CommonCodeStyleSettings.DO_NOT_WRAP;
|
||||
doClassTest(
|
||||
"@NotNull Comparable<String>",
|
||||
"@NotNull Comparable<String>"
|
||||
"@NotNull Comparable<String>",
|
||||
"@NotNull Comparable<String>"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -432,34 +432,34 @@ public class JavaFormatterWrapTest extends AbstractJavaFormatterTest {
|
||||
"//@formatter:on\n\n";
|
||||
|
||||
doTextTest(
|
||||
prefix + "interface C {\n" +
|
||||
" @TA(0)String m();\n" +
|
||||
" @A @TA(1) @TA(2)String m();\n" +
|
||||
" @A public @TA String m();\n" +
|
||||
"}",
|
||||
prefix + "interface C {\n" +
|
||||
" @TA(0)String m();\n" +
|
||||
" @A @TA(1) @TA(2)String m();\n" +
|
||||
" @A public @TA String m();\n" +
|
||||
"}",
|
||||
|
||||
prefix + "interface C {\n" +
|
||||
" @TA(0) String m();\n\n" +
|
||||
" @A\n" +
|
||||
" @TA(1) @TA(2) String m();\n\n" +
|
||||
" @A\n" +
|
||||
" public @TA String m();\n" +
|
||||
"}");
|
||||
prefix + "interface C {\n" +
|
||||
" @TA(0) String m();\n\n" +
|
||||
" @A\n" +
|
||||
" @TA(1) @TA(2) String m();\n\n" +
|
||||
" @A\n" +
|
||||
" public @TA String m();\n" +
|
||||
"}");
|
||||
}
|
||||
|
||||
public void testKeepSingleFieldAnnotationOnSameLine() {
|
||||
getJavaSettings().DO_NOT_WRAP_AFTER_SINGLE_ANNOTATION = true;
|
||||
doClassTest(
|
||||
"@NotNull public String result = \"OK\"\n" +
|
||||
"@NotNull String newResult = \"OK\"\n" +
|
||||
"@NotNull\n" +
|
||||
"@Deprecated public String bad = \"bad\"",
|
||||
"@NotNull public String result = \"OK\"\n" +
|
||||
"@NotNull String newResult = \"OK\"\n" +
|
||||
"@NotNull\n" +
|
||||
"@Deprecated public String bad = \"bad\"",
|
||||
|
||||
"@NotNull public String result = \"OK\"\n" +
|
||||
"@NotNull String newResult = \"OK\"\n" +
|
||||
"@NotNull\n" +
|
||||
"@Deprecated\n" +
|
||||
"public String bad = \"bad\""
|
||||
"@NotNull public String result = \"OK\"\n" +
|
||||
"@NotNull String newResult = \"OK\"\n" +
|
||||
"@NotNull\n" +
|
||||
"@Deprecated\n" +
|
||||
"public String bad = \"bad\""
|
||||
);
|
||||
}
|
||||
|
||||
@@ -510,4 +510,24 @@ public class JavaFormatterWrapTest extends AbstractJavaFormatterTest {
|
||||
"call(aaaaaaaaaaabbbbbbbbbbbbsdfsdfsdfsdfsdfsdfsdfb,\n" +
|
||||
" 1 + call(111111111, 32213123123, 123123123123, 234234234234324234234));");
|
||||
}
|
||||
|
||||
public void test_PlaceOnNewLineParenth_DoNotWork_IfLineNotExceedsRightMargin() {
|
||||
getSettings().CALL_PARAMETERS_LPAREN_ON_NEXT_LINE = true;
|
||||
|
||||
doMethodTest("run(new Runnable() {\n" +
|
||||
"public void run() {\n" +
|
||||
"}\n" +
|
||||
"});",
|
||||
"run(new Runnable() {\n" +
|
||||
" public void run() {\n" +
|
||||
" }\n" +
|
||||
"});");
|
||||
|
||||
doMethodTest("run(() -> {\n" +
|
||||
"int a = 2;\n" +
|
||||
"});",
|
||||
"run(() -> {\n" +
|
||||
" int a = 2;\n" +
|
||||
"});");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user