mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 21:11:28 +07:00
don't insert braces around single lambda parameter
This commit is contained in:
@@ -31,6 +31,7 @@ import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.psi.util.RedundantCastUtil;
|
||||
import com.intellij.refactoring.introduceField.ElementToWorkOn;
|
||||
import com.intellij.refactoring.introduceVariable.IntroduceVariableHandler;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.text.UniqueNameGenerator;
|
||||
import com.siyeh.ig.psiutils.SideEffectChecker;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -77,19 +78,20 @@ public class LambdaRefactoringUtil {
|
||||
final PsiParameter[] psiParameters = resolve instanceof PsiMethod ? ((PsiMethod)resolve).getParameterList().getParameters() : null;
|
||||
|
||||
final StringBuilder buf = new StringBuilder("(");
|
||||
buf.append(GenericsUtil.getVariableTypeByExpressionType(functionalInterfaceType).getCanonicalText()).append(")(");
|
||||
buf.append(GenericsUtil.getVariableTypeByExpressionType(functionalInterfaceType).getCanonicalText()).append(")");
|
||||
final PsiParameterList parameterList = interfaceMethod.getParameterList();
|
||||
final PsiParameter[] parameters = parameterList.getParameters();
|
||||
|
||||
final Map<PsiParameter, String> map = new HashMap<>();
|
||||
final UniqueNameGenerator nameGenerator = new UniqueNameGenerator();
|
||||
final JavaCodeStyleManager codeStyleManager = JavaCodeStyleManager.getInstance(referenceExpression.getProject());
|
||||
final String paramsString = StringUtil.join(parameters, parameter -> {
|
||||
Function<PsiParameter, String> paramPresentationFunction = parameter -> {
|
||||
final int parameterIndex = parameterList.getParameterIndex(parameter);
|
||||
String baseName;
|
||||
if (isReceiver && parameterIndex == 0) {
|
||||
final SuggestedNameInfo
|
||||
nameInfo = codeStyleManager.suggestVariableName(VariableKind.PARAMETER, null, null, psiSubstitutor.substitute(parameter.getType()));
|
||||
nameInfo =
|
||||
codeStyleManager.suggestVariableName(VariableKind.PARAMETER, null, null, psiSubstitutor.substitute(parameter.getType()));
|
||||
baseName = nameInfo.names.length > 0 ? nameInfo.names[0] : parameter.getName();
|
||||
}
|
||||
else {
|
||||
@@ -112,9 +114,14 @@ public class LambdaRefactoringUtil {
|
||||
return parameterName;
|
||||
}
|
||||
return "";
|
||||
}, ", ");
|
||||
buf.append(paramsString);
|
||||
buf.append(") -> ");
|
||||
};
|
||||
if (parameters.length == 1) {
|
||||
buf.append(paramPresentationFunction.fun(parameters[0]));
|
||||
}
|
||||
else {
|
||||
buf.append("(").append(StringUtil.join(parameters, paramPresentationFunction, ", ")).append(")");
|
||||
}
|
||||
buf.append(" -> ");
|
||||
|
||||
|
||||
final JavaResolveResult resolveResult = referenceExpression.advancedResolve(false);
|
||||
|
||||
@@ -4,6 +4,6 @@ import java.util.stream.IntStream;
|
||||
|
||||
public class Main {
|
||||
public static void test(List<CharSequence> list) {
|
||||
list.stream().map(cs -> (String)cs).mapToInt(String::length).asLongStream().map(x -> x*2).forEach((l) -> System.out.println((Long) l));
|
||||
list.stream().map(cs -> (String)cs).mapToInt(String::length).asLongStream().map(x -> x*2).forEach(l -> System.out.println((Long) l));
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,6 @@ import java.util.List;
|
||||
|
||||
public class Main {
|
||||
public static void test(List<CharSequence> list) {
|
||||
list.stream().map(cs -> cs.subSequence(1, 5)).forEach((charSequence) -> System.out.println(charSequence.length()));
|
||||
list.stream().map(cs -> cs.subSequence(1, 5)).forEach(charSequence -> System.out.println(charSequence.length()));
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,6 @@ import java.util.List;
|
||||
|
||||
public class Main {
|
||||
public static void test(List<CharSequence> list) {
|
||||
list.stream().map((cs) -> cs.subSequence(1, 5).length()).forEach(System.out::println);
|
||||
list.stream().map(cs -> cs.subSequence(1, 5).length()).forEach(System.out::println);
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,6 @@ import java.util.stream.IntStream;
|
||||
|
||||
public class Main {
|
||||
public static void test(List<CharSequence> list) {
|
||||
list.stream().mapToInt((cs) -> ((String) cs).length()).asLongStream().map(x -> x*2).boxed().forEach(System.out::println);
|
||||
list.stream().mapToInt(cs -> ((String) cs).length()).asLongStream().map(x -> x*2).boxed().forEach(System.out::println);
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,6 @@ import java.util.Objects;
|
||||
|
||||
public class Main {
|
||||
void test(List<String> list) {
|
||||
list.stream().filter((o) -> Objects.nonNull(o) && o.isEmpty()).forEach(System.out::println);
|
||||
list.stream().filter(o -> Objects.nonNull(o) && o.isEmpty()).forEach(System.out::println);
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@ interface P {
|
||||
|
||||
class A {
|
||||
public static void print() {
|
||||
List<Integer> someNumbers = A.returnAllNumbers((a) -> alwaysTrue());
|
||||
List<Integer> someNumbers = A.returnAllNumbers(a -> alwaysTrue());
|
||||
}
|
||||
|
||||
private static List<Integer> returnAllNumbers(P predicate) {
|
||||
|
||||
@@ -4,7 +4,7 @@ interface I {
|
||||
|
||||
class A {
|
||||
{
|
||||
I predicate = (a) -> alwaysTrue(a, "");
|
||||
I predicate = a -> alwaysTrue(a, "");
|
||||
}
|
||||
|
||||
private static boolean alwaysTrue(int a, String anObject) {
|
||||
|
||||
@@ -4,7 +4,7 @@ interface I {
|
||||
|
||||
class A {
|
||||
{
|
||||
I predicate = (a) -> alwaysTrue();
|
||||
I predicate = a -> alwaysTrue();
|
||||
}
|
||||
|
||||
private static boolean alwaysTrue() {
|
||||
|
||||
@@ -7,7 +7,7 @@ class A {
|
||||
ArrayList<String> strings = new ArrayList<String>();
|
||||
Stream<String> it = strings.stream();
|
||||
|
||||
int i = (int) it.flatMap((t) -> Collections.singletonList(t).stream()).count();
|
||||
int i = (int) it.flatMap(t -> Collections.singletonList(t).stream()).count();
|
||||
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,7 @@ class A {
|
||||
ArrayList<String> strings = new ArrayList<String>();
|
||||
Stream<String> it = strings.stream();
|
||||
|
||||
int i = (int) it.flatMap((f) -> getFunction().apply(f).stream()).count();
|
||||
int i = (int) it.flatMap(f -> getFunction().apply(f).stream()).count();
|
||||
}
|
||||
|
||||
Function<String, List<String>> getFunction() {
|
||||
|
||||
Reference in New Issue
Block a user