Smart completion after "by" works for generic properties too

This commit is contained in:
Valentin Kipyatkov
2016-03-31 20:47:06 +03:00
parent 20ac76fe3a
commit 4dde458e84
5 changed files with 39 additions and 10 deletions
@@ -0,0 +1,10 @@
import kotlin.reflect.KProperty
class X {
operator fun getValue(thisRef: List<String>, property: KProperty<*>): String = ""
}
val <T> List<T>.property: T by <caret>
// EXIST: lazy
// EXIST: X
@@ -0,0 +1,10 @@
import kotlin.reflect.KProperty
class X {
operator fun getValue(thisRef: List<String>, property: KProperty<*>): String = ""
operator fun setValue(thisRef: List<String>, property: KProperty<*>, value: String){}
}
var <T> List<T>.property: T by <caret>
// EXIST: X
@@ -1510,6 +1510,18 @@ public class JvmSmartCompletionTestGenerated extends AbstractJvmSmartCompletionT
doTest(fileName);
}
@TestMetadata("GenericVal.kt")
public void testGenericVal() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/smart/propertyDelegate/GenericVal.kt");
doTest(fileName);
}
@TestMetadata("GenericVar.kt")
public void testGenericVar() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/smart/propertyDelegate/GenericVar.kt");
doTest(fileName);
}
@TestMetadata("Order.kt")
public void testOrder() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/smart/propertyDelegate/Order.kt");