mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
new inference: diamond in lambda return workaround
This commit is contained in:
+2
-1
@@ -116,7 +116,8 @@ public class ExpressionCompatibilityConstraint extends InputOutputConstraintForm
|
||||
params[i] = typeParams[i];
|
||||
}
|
||||
}
|
||||
final PsiSubstitutor siteSubstitutor = resolveResult instanceof MethodCandidateInfo ? ((MethodCandidateInfo)resolveResult).getSiteSubstitutor() : PsiSubstitutor.EMPTY;
|
||||
final PsiSubstitutor siteSubstitutor = resolveResult instanceof MethodCandidateInfo && method != null && !method.isConstructor()
|
||||
? ((MethodCandidateInfo)resolveResult).getSiteSubstitutor() : PsiSubstitutor.EMPTY;
|
||||
for (PsiTypeParameter typeParameter : siteSubstitutor.getSubstitutionMap().keySet()) {
|
||||
substitutor = substitutor.put(typeParameter, substitutor.substitute(siteSubstitutor.substitute(typeParameter)));
|
||||
}
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
class Test {
|
||||
Set<String> collect(Stream<String> map){
|
||||
return map.collect(Collectors.toCollection(() -> new LinkedHashSet<>()));
|
||||
}
|
||||
}
|
||||
+4
@@ -138,6 +138,10 @@ public class NewLambdaHighlightingTest extends LightDaemonAnalyzerTestCase {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testDiamondInLambdaReturn() throws Exception {
|
||||
doTest();
|
||||
}
|
||||
|
||||
private void doTest() {
|
||||
doTest(false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user