Skip to content

Commit d90ddf1

Browse files
authored
Merge pull request github#13639 from igfoo/igfoo/revert
Revert "Kotlin: Remove a use of ObsoleteDescriptorBasedAPI"
2 parents 4c9501e + fcf003c commit d90ddf1

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,10 +157,21 @@ open class KotlinFileExtractor(
157157
else -> false
158158
}
159159

160+
@OptIn(ObsoleteDescriptorBasedAPI::class)
160161
private fun isFake(d: IrDeclarationWithVisibility): Boolean {
161162
val hasFakeVisibility = d.visibility.let { it is DelegatedDescriptorVisibility && it.delegate == Visibilities.InvisibleFake } || d.isFakeOverride
162163
if (hasFakeVisibility && !isJavaBinaryObjectMethodRedeclaration(d))
163164
return true
165+
try {
166+
if ((d as? IrFunction)?.descriptor?.isHiddenToOvercomeSignatureClash == true) {
167+
return true
168+
}
169+
}
170+
catch (e: NotImplementedError) {
171+
// `org.jetbrains.kotlin.ir.descriptors.IrBasedClassConstructorDescriptor.isHiddenToOvercomeSignatureClash` throws the exception
172+
logger.warnElement("Couldn't query if element is fake, deciding it's not.", d, e)
173+
return false
174+
}
164175
return false
165176
}
166177

0 commit comments

Comments
 (0)