mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-10 18:09:38 +07:00
[java-inspections] LambdaUtil#isSafeLambdaReplacement: check whether functional interface type matches exactly
GitOrigin-RevId: 04b67615268182a09ce3a211547dc8213997eb58
This commit is contained in:
committed by
intellij-monorepo-bot
parent
5eb047fe70
commit
308d1fd0e6
@@ -1,13 +0,0 @@
|
||||
// "Replace lambda with method reference" "true"
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
class Test {
|
||||
|
||||
public <T> void some(Stream<AtomicReference<T>> stream) {
|
||||
stream.map((Function<AtomicReference<T>, ? extends Class<? extends AtomicReference>>) AtomicReference<T>::getClass);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
// "Replace lambda with method reference" "true"
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
class Test {
|
||||
public Test(String s) {}
|
||||
|
||||
public static void define(Supplier<?> moduleConstructor){}
|
||||
public static void define(Function<?, ?> moduleConstructor){}
|
||||
public static void define(BiFunction<?, ?, ?> moduleConstructor){}
|
||||
|
||||
{
|
||||
define((Function<String, Object>) Test::new);
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
// "Replace lambda with method reference" "true"
|
||||
import java.util.function.Function;
|
||||
|
||||
class Box<T>
|
||||
{
|
||||
public Box(T value)
|
||||
{
|
||||
this._value = value;
|
||||
}
|
||||
|
||||
private final T _value;
|
||||
|
||||
public T getValue()
|
||||
{
|
||||
return this._value;
|
||||
}
|
||||
|
||||
{
|
||||
foo((Function<Box<String>, String>) Box::getValue);
|
||||
}
|
||||
|
||||
<K> void foo(Function<Box<K>, K> f){}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
// "Replace lambda with method reference" "true"
|
||||
// "Replace lambda with method reference" "false"
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// "Replace lambda with method reference" "true"
|
||||
// "Replace lambda with method reference" "false"
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// "Replace lambda with method reference" "true"
|
||||
// "Replace lambda with method reference" "false"
|
||||
import java.util.function.Function;
|
||||
|
||||
class Box<T>
|
||||
|
||||
@@ -5,7 +5,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
class Test {
|
||||
public static <T> List<TokenFilter<T>> fromString(final T src, Function<T, List<String>> extractor) {
|
||||
final List<TokenFilter<T>> result = extractor.apply(src).stream().map((Function<String, TokenFilter<T>>) TokenFilter::new).collect(Collectors.toList());
|
||||
final List<TokenFilter<T>> result = extractor.apply(src).stream().map(st -> new TokenFilter<T>(st)).collect(Collectors.toList());
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user