Fix EXPRESSION_TYPE target for QualifierReceiver

Affected completion from objects in some cases
This commit is contained in:
Pavel V. Talanov
2015-02-19 17:55:50 +03:00
parent 37006ad566
commit 2053da91dd
5 changed files with 51 additions and 1 deletions
@@ -147,7 +147,7 @@ private fun QualifierReceiver.resolveAsReceiverInQualifiedExpression(context: Ex
context.trace.report(TYPE_PARAMETER_ON_LHS_OF_DOT.on(referenceExpression, classifier as TypeParameterDescriptor))
}
else if (classifier is ClassDescriptor && classifier.classObjectDescriptor != null) {
context.trace.record(EXPRESSION_TYPE, referenceExpression, classifier.getClassObjectType())
context.trace.record(EXPRESSION_TYPE, expression, classifier.getClassObjectType())
}
}
@@ -0,0 +1,11 @@
package foo
object A
fun A.foo() {}
fun some() {
foo.A.<caret>
}
// EXIST: foo
@@ -0,0 +1,15 @@
package foo
class A {
class B {
class object
}
}
fun A.B.Default.foo() {}
fun some() {
A.B.<caret>
}
// EXIST: foo
@@ -1059,6 +1059,18 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes
doTest(fileName);
}
@TestMetadata("ExtensionOnFQObject.kt")
public void testExtensionOnFQObject() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/extensions/ExtensionOnFQObject.kt");
doTest(fileName);
}
@TestMetadata("ExtensionOnNestedClassObject.kt")
public void testExtensionOnNestedClassObject() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/extensions/ExtensionOnNestedClassObject.kt");
doTest(fileName);
}
@TestMetadata("Extensions.kt")
public void testExtensions() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/extensions/Extensions.kt");
@@ -1059,6 +1059,18 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
doTest(fileName);
}
@TestMetadata("ExtensionOnFQObject.kt")
public void testExtensionOnFQObject() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/extensions/ExtensionOnFQObject.kt");
doTest(fileName);
}
@TestMetadata("ExtensionOnNestedClassObject.kt")
public void testExtensionOnNestedClassObject() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/extensions/ExtensionOnNestedClassObject.kt");
doTest(fileName);
}
@TestMetadata("Extensions.kt")
public void testExtensions() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/extensions/Extensions.kt");