KT-14722 completion list isn't filled up for typealias to object
#KT-14722 fixed
This commit is contained in:
committed by
Simon Ogorodnik
parent
e38ca44595
commit
b422b0e24d
@@ -36,6 +36,7 @@ import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
|||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ClassQualifier
|
import org.jetbrains.kotlin.resolve.scopes.receivers.ClassQualifier
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver
|
import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
|
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
|
||||||
|
import org.jetbrains.kotlin.resolve.scopes.receivers.TypeAliasQualifier
|
||||||
import org.jetbrains.kotlin.types.KotlinType
|
import org.jetbrains.kotlin.types.KotlinType
|
||||||
import org.jetbrains.kotlin.types.expressions.DoubleColonLHS
|
import org.jetbrains.kotlin.types.expressions.DoubleColonLHS
|
||||||
import org.jetbrains.kotlin.util.supertypesWithAny
|
import org.jetbrains.kotlin.util.supertypesWithAny
|
||||||
@@ -282,9 +283,8 @@ fun CallTypeAndReceiver<*, *>.receiverTypesWithIndex(
|
|||||||
val receiverValues = if (receiverExpression != null) {
|
val receiverValues = if (receiverExpression != null) {
|
||||||
val receiverType =
|
val receiverType =
|
||||||
bindingContext.getType(receiverExpression) ?:
|
bindingContext.getType(receiverExpression) ?:
|
||||||
(bindingContext.get(BindingContext.QUALIFIER, receiverExpression) as? ClassQualifier)?.let {
|
(bindingContext.get(BindingContext.QUALIFIER, receiverExpression) as? ClassQualifier)?.descriptor?.classValueType ?:
|
||||||
it.descriptor.classValueType
|
(bindingContext.get(BindingContext.QUALIFIER, receiverExpression) as? TypeAliasQualifier)?.classDescriptor?.classValueType ?:
|
||||||
} ?:
|
|
||||||
return emptyList()
|
return emptyList()
|
||||||
listOf(ExpressionReceiver.create(receiverExpression, receiverType, bindingContext))
|
listOf(ExpressionReceiver.create(receiverExpression, receiverType, bindingContext))
|
||||||
}
|
}
|
||||||
|
|||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
object Obj {
|
||||||
|
class NestedInObject {
|
||||||
|
companion object {
|
||||||
|
val inCompanion = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
typealias TA = Obj.NestedInObject
|
||||||
|
|
||||||
|
val usage = TA.<caret>
|
||||||
|
|
||||||
|
// EXIST: inCompanion
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
object Obj {
|
||||||
|
val inObject = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
typealias TA = Obj
|
||||||
|
|
||||||
|
val usage = TA.<caret>
|
||||||
|
|
||||||
|
// EXIST: inObject
|
||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
class Cls {
|
||||||
|
object Obj {
|
||||||
|
val inObject = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
typealias TA = Cls.Obj
|
||||||
|
|
||||||
|
val usage = TA.<caret>
|
||||||
|
|
||||||
|
// EXIST: inObject
|
||||||
+27
@@ -1982,6 +1982,33 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("idea/idea-completion/testData/basic/common/objects")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
public static class Objects extends AbstractJSBasicCompletionTest {
|
||||||
|
public void testAllFilesPresentInObjects() throws Exception {
|
||||||
|
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/common/objects"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("PropertyFromCompanionObjectFromTypeAliasToNestedInObjectClass.kt")
|
||||||
|
public void testPropertyFromCompanionObjectFromTypeAliasToNestedInObjectClass() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/objects/PropertyFromCompanionObjectFromTypeAliasToNestedInObjectClass.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("PropertyOfTypeAliasToObject.kt")
|
||||||
|
public void testPropertyOfTypeAliasToObject() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/objects/PropertyOfTypeAliasToObject.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("TypeAliasToNestedObject.kt")
|
||||||
|
public void testTypeAliasToNestedObject() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/objects/TypeAliasToNestedObject.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("idea/idea-completion/testData/basic/common/override")
|
@TestMetadata("idea/idea-completion/testData/basic/common/override")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
|||||||
+27
@@ -1982,6 +1982,33 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("idea/idea-completion/testData/basic/common/objects")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
public static class Objects extends AbstractJvmBasicCompletionTest {
|
||||||
|
public void testAllFilesPresentInObjects() throws Exception {
|
||||||
|
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/common/objects"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("PropertyFromCompanionObjectFromTypeAliasToNestedInObjectClass.kt")
|
||||||
|
public void testPropertyFromCompanionObjectFromTypeAliasToNestedInObjectClass() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/objects/PropertyFromCompanionObjectFromTypeAliasToNestedInObjectClass.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("PropertyOfTypeAliasToObject.kt")
|
||||||
|
public void testPropertyOfTypeAliasToObject() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/objects/PropertyOfTypeAliasToObject.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("TypeAliasToNestedObject.kt")
|
||||||
|
public void testTypeAliasToNestedObject() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/objects/TypeAliasToNestedObject.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("idea/idea-completion/testData/basic/common/override")
|
@TestMetadata("idea/idea-completion/testData/basic/common/override")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
|||||||
Reference in New Issue
Block a user