KT-7452 Code completion does not honor smart casts for 'this'

#KT-7452 Fixed
This commit is contained in:
Valentin Kipyatkov
2015-05-06 16:01:40 +03:00
parent dc9523016a
commit 4c315b6219
4 changed files with 40 additions and 5 deletions
@@ -0,0 +1,21 @@
class C {
fun bar(){}
}
open class X {
fun Any.foo() {
if (this is C && this@X is Y) {
<caret>
}
}
}
class Y : X() {
fun y()
}
fun C.extFun(){}
// EXIST: bar
// EXIST: y
// EXIST: extFun
@@ -931,6 +931,12 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes
doTest(fileName);
}
@TestMetadata("SmartCastThis.kt")
public void testSmartCastThis() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/SmartCastThis.kt");
doTest(fileName);
}
@TestMetadata("StandardJetArrayFirst.kt")
public void testStandardJetArrayFirst() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/StandardJetArrayFirst.kt");
@@ -931,6 +931,12 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
doTest(fileName);
}
@TestMetadata("SmartCastThis.kt")
public void testSmartCastThis() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/SmartCastThis.kt");
doTest(fileName);
}
@TestMetadata("StandardJetArrayFirst.kt")
public void testStandardJetArrayFirst() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/StandardJetArrayFirst.kt");