Kotlin: useDeclarationParent: Don't use fakeLabel

This commit is contained in:
Ian Lynagh
2022-03-29 17:11:30 +01:00
parent 5c8e0ff49b
commit 37cf36bc33
2 changed files with 39 additions and 15 deletions

View File

@@ -104,23 +104,35 @@ open class KotlinFileExtractor(
}
}
is IrFunction -> {
val parentId = useDeclarationParent(declaration.parent, false).cast<DbReftype>()
extractFunction(declaration, parentId, true, null, listOf())
val parentId = useDeclarationParent(declaration.parent, false)?.cast<DbReftype>()
if (parentId != null) {
extractFunction(declaration, parentId, true, null, listOf())
}
Unit
}
is IrAnonymousInitializer -> {
// Leaving this intentionally empty. init blocks are extracted during class extraction.
}
is IrProperty -> {
val parentId = useDeclarationParent(declaration.parent, false).cast<DbReftype>()
extractProperty(declaration, parentId, true, null, listOf())
val parentId = useDeclarationParent(declaration.parent, false)?.cast<DbReftype>()
if (parentId != null) {
extractProperty(declaration, parentId, true, null, listOf())
}
Unit
}
is IrEnumEntry -> {
val parentId = useDeclarationParent(declaration.parent, false).cast<DbReftype>()
extractEnumEntry(declaration, parentId)
val parentId = useDeclarationParent(declaration.parent, false)?.cast<DbReftype>()
if (parentId != null) {
extractEnumEntry(declaration, parentId)
}
Unit
}
is IrField -> {
val parentId = useDeclarationParent(declaration.parent, false).cast<DbReftype>()
extractField(declaration, parentId)
val parentId = useDeclarationParent(declaration.parent, false)?.cast<DbReftype>()
if (parentId != null) {
extractField(declaration, parentId)
}
Unit
}
is IrTypeAlias -> extractTypeAlias(declaration)
else -> logger.errorElement("Unrecognised IrDeclaration: " + declaration.javaClass, declaration)