Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/AmbiguousConstructorCallWithLambdaInside.java
Anna Kozlova e6165048e8 [java] skip plain cannot infer diamond error (IDEA-283409); add ambiguous constructor call (IDEA-272115)
this unifies error messages with method calls and allows more specific tooltips and additional fixes

GitOrigin-RevId: 5ab4340d822bba3d6563da12a16e4c41216a8627
2021-11-29 19:27:48 +00:00

48 lines
2.0 KiB
Java

import java.util.function.Function;
import java.util.function.Supplier;
class OverloadCast {
public void runMe() {
new <error descr="Cannot resolve constructor 'OverloadCast(<method reference>, <lambda expression>)'">OverloadCast</error>(WhitespaceTokenizer::<error descr="Cannot resolve constructor 'WhitespaceTokenizer'">new</error>, src -> new LowerCaseFilter<error descr="'LowerCaseFilter(OverloadCast.TokenStream)' in 'OverloadCast.LowerCaseFilter' cannot be applied to '(<lambda parameter>)'">(src)</error>);
<error descr="Ambiguous method call: both 'OverloadCast.overloadCast(Supplier<Tokenizer>, Function<TokenStream, TokenFilter>)' and 'OverloadCast.overloadCast(Function<TokenStream, TokenFilter>, Function<String, String>)' match">overloadCast</error>(WhitespaceTokenizer::<error descr="Cannot resolve constructor 'WhitespaceTokenizer'">new</error>, src -> new LowerCaseFilter<error descr="'LowerCaseFilter(OverloadCast.TokenStream)' in 'OverloadCast.LowerCaseFilter' cannot be applied to '(<lambda parameter>)'">(src)</error>);
}
private OverloadCast(Supplier<Tokenizer> tokenizerFactory, Function<TokenStream, TokenFilter> filterCreator) {
}
private OverloadCast(Function<TokenStream, TokenFilter> filterCreator, Function<String, String> readerWrapper) {
}
private void overloadCast(Supplier<Tokenizer> tokenizerFactory, Function<TokenStream, TokenFilter> filterCreator) {
}
private void overloadCast(Function<TokenStream, TokenFilter> filterCreator, Function<String, String> readerWrapper) {
}
private class Tokenizer {
}
private class TokenStream {
}
private class TokenFilter {
}
private class WhitespaceTokenizer extends Tokenizer {
private WhitespaceTokenizer(TokenStream s) {
}
private WhitespaceTokenizer() {
}
}
private class LowerCaseFilter extends TokenFilter {
public LowerCaseFilter(TokenStream src) {
super();
}
private LowerCaseFilter() {
}
}
}