Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/MultiResolveSameFunction.java
Tagir Valeev ef4334ea4b [java-psi] Multi-resolve of functional interface type improvements
- Support constructors
- Support diamond types
- Infer lambda parameter type even if functions differ
Also: PsiCall.multiResolve method; used where possible
Improves IDEA-364426 Missing variable type inference of lambda in a method call while typing a first parameter if all parameters haven't been provided yet (until overload is chosen, even though the first parameter can be inferred already)
Fixes IDEA-318792 Stray "Cannot resolve constructor" error

GitOrigin-RevId: 3227c2da22ef417457ad07a524403b405aeebbcd
2025-03-20 10:06:40 +00:00

45 lines
1.3 KiB
Java

import java.io.InputStream;
import java.util.function.Function;
class ConstructorNotFound {
public static void main(String[] args) {
new SuggesterSpec2<><error descr="Cannot resolve constructor 'SuggesterSpec2(String, <method reference>)'">("test", SuggestionBuilder::new)</error>;
new SuggesterSpec2<><error descr="Cannot resolve constructor 'SuggesterSpec2(String, <lambda expression>)'">("test", is -> new SuggestionBuilder(is))</error>;
new SuggesterSpec<><error descr="Cannot resolve constructor 'SuggesterSpec(String, <lambda expression>)'">("test", is -> new SuggestionBuilder(is))</error>;
new SuggesterSpec<><error descr="Cannot resolve constructor 'SuggesterSpec(String, <method reference>)'">("test", SuggestionBuilder::new)</error>;
}
}
class SuggesterSpec<T> {
public SuggesterSpec(String name, Function<InputStream, T> builderReader, int count) {
}
public SuggesterSpec(String count, Function<InputStream, T> builderReader, String name) {
}
}
class SuggesterSpec2<T> {
public SuggesterSpec2(String name, Function<InputStream, T> builderReader, int count) {
}
public SuggesterSpec2(int count, Function<InputStream, T> builderReader, String name) {
}
}
class SuggestionBuilder {
public SuggestionBuilder() {
}
public SuggestionBuilder(InputStream is) {
}
}