K2: fix/universalize logic to determine that member is from Java

This commit is contained in:
Mikhail Glukhikh
2022-11-10 15:12:04 +01:00
committed by Space Team
parent d35dedcb72
commit 4dc7b6dddc
15 changed files with 109 additions and 17 deletions
@@ -0,0 +1,53 @@
// FILE: their/Condition.java
package their;
public interface Condition<T> {
boolean value (T t);
}
// FILE: your/ContainerUtil.java
package your;
import their.Condition;
public final class ContainerUtil {
public static <T> T find(Iterable<? extends T> iterable, Condition<? super T> condition) {
return true;
}
public static <T> T find(Iterable<? extends T> iterable, T equalTo) {
return true;
}
}
// FILE: my/FileUtil.java
package my;
import java.io.File;
public final class FileUtil {
public static boolean isAncestor(File ancestor, File file, boolean strict) {
return true;
}
public static boolean isAncestor(String ancestor, String file, boolean strict) {
return true;
}
}
// FILE: test.kt
import java.io.File
import my.FileUtil.*
import your.ContainerUtil.find
fun foo() {
val externalsMap = mutableMapOf<File, String?>()
fun test(file: File) {
val base = find(externalsMap.keys) { isAncestor(it, file, false) }
}
}