KT-11030 When local function is declared inside constructor, capture this into this function
This commit is contained in:
@@ -74,7 +74,16 @@ class UsageTracker(
|
|||||||
val value = descriptor.value
|
val value = descriptor.value
|
||||||
if (value !is ImplicitReceiver) return false
|
if (value !is ImplicitReceiver) return false
|
||||||
|
|
||||||
return DescriptorUtils.isObject(value.declarationDescriptor)
|
if (!DescriptorUtils.isObject(value.declarationDescriptor)) return false
|
||||||
|
if (containingDescriptor == value.declarationDescriptor) return false
|
||||||
|
|
||||||
|
if (containingDescriptor !is ClassDescriptor) {
|
||||||
|
val containingClass = generateSequence(containingDescriptor) { it.containingDeclaration as? MemberDescriptor }
|
||||||
|
.first { it is ClassDescriptor } as? ClassDescriptor
|
||||||
|
if (containingClass != null && containingClass == value.declarationDescriptor) return false
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun DeclarationDescriptor.getJsNameForCapturedDescriptor(): JsName {
|
private fun DeclarationDescriptor.getJsNameForCapturedDescriptor(): JsName {
|
||||||
|
|||||||
Reference in New Issue
Block a user