K2: fix/universalize logic to determine that member is from Java
This commit is contained in:
committed by
Space Team
parent
d35dedcb72
commit
4dc7b6dddc
+11
@@ -0,0 +1,11 @@
|
||||
FILE: test.kt
|
||||
public final fun foo(): R|kotlin/Unit| {
|
||||
lval externalsMap: R|kotlin/collections/MutableMap<java/io/File, kotlin/String?>| = R|kotlin/collections/mutableMapOf|<R|java/io/File|, R|kotlin/String?|>()
|
||||
local final fun test(file: R|java/io/File|): R|kotlin/Unit| {
|
||||
lval base: R|java/io/File!| = R|your/ContainerUtil.find|<R|java/io/File!|>(R|<local>/externalsMap|.R|SubstitutionOverride<kotlin/collections/MutableMap.keys: R|kotlin/collections/MutableSet<java/io/File>|>|, <L> = find@fun <anonymous>(it: R|java/io/File!|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
^ R|my/FileUtil.isAncestor|(R|<local>/it|, R|<local>/file|, Boolean(false))
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
+53
@@ -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) }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user