Do not search inheritors of Any
This commit is contained in:
@@ -97,13 +97,15 @@ class TypeInstantiationItems(
|
|||||||
val typeArgs = type.getArguments()
|
val typeArgs = type.getArguments()
|
||||||
items.addIfNotNull(createTypeInstantiationItem(classifier, typeArgs, tail))
|
items.addIfNotNull(createTypeInstantiationItem(classifier, typeArgs, tail))
|
||||||
|
|
||||||
inheritanceSearchers.addInheritorSearcher(classifier, classifier, typeArgs, tail)
|
if (!KotlinBuiltIns.getInstance().isAny(classifier)) { // do not search inheritors of Any
|
||||||
|
inheritanceSearchers.addInheritorSearcher(classifier, classifier, typeArgs, tail)
|
||||||
|
|
||||||
val javaAnalogFqName = KotlinToJavaTypesMap.getInstance().getKotlinToJavaFqName(DescriptorUtils.getFqNameSafe(classifier))
|
val javaAnalogFqName = KotlinToJavaTypesMap.getInstance().getKotlinToJavaFqName(DescriptorUtils.getFqNameSafe(classifier))
|
||||||
if (javaAnalogFqName != null) {
|
if (javaAnalogFqName != null) {
|
||||||
val javaAnalog = moduleDescriptor.resolveTopLevelClass(javaAnalogFqName)
|
val javaAnalog = moduleDescriptor.resolveTopLevelClass(javaAnalogFqName)
|
||||||
if (javaAnalog != null) {
|
if (javaAnalog != null) {
|
||||||
inheritanceSearchers.addInheritorSearcher(javaAnalog, classifier, typeArgs, tail)
|
inheritanceSearchers.addInheritorSearcher(javaAnalog, classifier, typeArgs, tail)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,4 +6,5 @@ val v: Any = <caret>
|
|||||||
|
|
||||||
// ABSENT: ::foo
|
// ABSENT: ::foo
|
||||||
// ABSENT: ::C
|
// ABSENT: ::C
|
||||||
// ABSENT: ::Runnable
|
// ABSENT: ::Runnable
|
||||||
|
// ABSENT: C
|
||||||
|
|||||||
Reference in New Issue
Block a user