mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
java completion: suggest AbstractClass::new[] (IDEA-188431)
This commit is contained in:
+3
-1
@@ -154,9 +154,11 @@ public class FunctionalExpressionCompletionProvider extends CompletionProvider<C
|
||||
|
||||
Consumer<PsiType> consumer = eachReturnType -> {
|
||||
PsiClass psiClass = PsiUtil.resolveClassInType(eachReturnType);
|
||||
if (psiClass == null || !MethodReferenceResolver.canBeConstructed(psiClass)) return;
|
||||
if (psiClass == null) return;
|
||||
|
||||
if (eachReturnType.getArrayDimensions() == 0) {
|
||||
if (!MethodReferenceResolver.canBeConstructed(psiClass)) return;
|
||||
|
||||
PsiMethod[] constructors = psiClass.getConstructors();
|
||||
for (PsiMethod psiMethod : constructors) {
|
||||
if (isSignatureAppropriate(psiMethod, params, substitutor, 0, originalPosition)) {
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
import java.util.stream.Stream;
|
||||
public class Outer {
|
||||
|
||||
Abstract[] foo(Stream<Abstract> s) {
|
||||
return s.toArray(Abstract[]::new)<caret>;
|
||||
}
|
||||
}
|
||||
|
||||
abstract class Abstract {}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
import java.util.stream.Stream;
|
||||
public class Outer {
|
||||
|
||||
Abstract[] foo(Stream<Abstract> s) {
|
||||
return s.toArray(Ab<caret>);
|
||||
}
|
||||
}
|
||||
|
||||
abstract class Abstract {}
|
||||
+1
@@ -88,6 +88,7 @@ public class SmartType18CompletionTest extends LightFixtureCompletionTestCase {
|
||||
}
|
||||
|
||||
public void testInnerArrayConstructorRef() { doTest(true); }
|
||||
public void testAbstractArrayConstructorRef() { doTest(true); }
|
||||
|
||||
public void testNoConstraintsWildcard() {
|
||||
doTest();
|
||||
|
||||
Reference in New Issue
Block a user