Extraction Engine: Do not extract type parameter if it's resolved in the target scope
#KT-7246 Fixed
This commit is contained in:
+16
@@ -0,0 +1,16 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: Foo<T>
|
||||
// PARAM_TYPES: kotlin.String, Comparable<String>, CharSequence, kotlin.Any
|
||||
// PARAM_DESCRIPTOR: internal final class Foo<T> defined in root package
|
||||
// PARAM_DESCRIPTOR: value-parameter val l: kotlin.String defined in Foo.test
|
||||
|
||||
import java.util.*
|
||||
|
||||
// SIBLING:
|
||||
class Foo<T> {
|
||||
val map = HashMap<String, T>()
|
||||
|
||||
fun test(l: String): T {
|
||||
return <selection>map[l]</selection>
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: Foo<T>
|
||||
// PARAM_TYPES: kotlin.String, Comparable<String>, CharSequence, kotlin.Any
|
||||
// PARAM_DESCRIPTOR: internal final class Foo<T> defined in root package
|
||||
// PARAM_DESCRIPTOR: value-parameter val l: kotlin.String defined in Foo.test
|
||||
|
||||
import java.util.*
|
||||
|
||||
// SIBLING:
|
||||
class Foo<T> {
|
||||
val map = HashMap<String, T>()
|
||||
|
||||
fun test(l: String): T {
|
||||
return t(l)
|
||||
}
|
||||
}
|
||||
|
||||
private fun <T> Foo<T>.t(l: String) = map[l]
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.String, Comparable<String>, CharSequence, kotlin.Any
|
||||
// PARAM_DESCRIPTOR: value-parameter val l: kotlin.String defined in Foo.test
|
||||
|
||||
import java.util.*
|
||||
|
||||
class Foo<T> {
|
||||
val map = HashMap<String, T>()
|
||||
|
||||
fun test(l: String): T {
|
||||
return <selection>map[l]</selection>
|
||||
}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
// WITH_RUNTIME
|
||||
// PARAM_TYPES: kotlin.String, Comparable<String>, CharSequence, kotlin.Any
|
||||
// PARAM_DESCRIPTOR: value-parameter val l: kotlin.String defined in Foo.test
|
||||
|
||||
import java.util.*
|
||||
|
||||
class Foo<T> {
|
||||
val map = HashMap<String, T>()
|
||||
|
||||
fun test(l: String): T {
|
||||
return t(l)
|
||||
}
|
||||
|
||||
private fun t(l: String) = map[l]
|
||||
}
|
||||
Reference in New Issue
Block a user