Skip to content

Commit 6bd2695

Browse files
committed
Kotlin: Pull out a tryIsHiddenToOvercomeSignatureClash method
1 parent 08383ea commit 6bd2695

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -166,22 +166,23 @@ open class KotlinFileExtractor(
166166
else -> false
167167
}
168168

169-
@OptIn(ObsoleteDescriptorBasedAPI::class)
170-
private fun isFake(d: IrDeclarationWithVisibility): Boolean {
171-
val hasFakeVisibility = d.visibility.let { it is DelegatedDescriptorVisibility && it.delegate == Visibilities.InvisibleFake } || d.isFakeOverride
172-
if (hasFakeVisibility && !isJavaBinaryObjectMethodRedeclaration(d))
173-
return true
169+
private fun FunctionDescriptor.tryIsHiddenToOvercomeSignatureClash(d: IrFunction): Boolean {
174170
try {
175-
if ((d as? IrFunction)?.descriptor?.isHiddenToOvercomeSignatureClash == true) {
176-
return true
177-
}
171+
return this.isHiddenToOvercomeSignatureClash
178172
}
179173
catch (e: NotImplementedError) {
180174
// `org.jetbrains.kotlin.ir.descriptors.IrBasedClassConstructorDescriptor.isHiddenToOvercomeSignatureClash` throws the exception
181175
logger.warnElement("Couldn't query if element is fake, deciding it's not.", d, e)
182176
return false
183177
}
184-
return false
178+
}
179+
180+
@OptIn(ObsoleteDescriptorBasedAPI::class)
181+
private fun isFake(d: IrDeclarationWithVisibility): Boolean {
182+
val hasFakeVisibility = d.visibility.let { it is DelegatedDescriptorVisibility && it.delegate == Visibilities.InvisibleFake } || d.isFakeOverride
183+
if (hasFakeVisibility && !isJavaBinaryObjectMethodRedeclaration(d))
184+
return true
185+
return (d as? IrFunction)?.descriptor?.tryIsHiddenToOvercomeSignatureClash(d) == true
185186
}
186187

187188
private fun shouldExtractDecl(declaration: IrDeclaration, extractPrivateMembers: Boolean) =

0 commit comments

Comments
 (0)