[KLIB tool] Dump metadata for all non-private declarations

This is done to make the output of "dump-metadata" command consistent
with the output of "dump-metadata-signatures" and "dump-ir-signatures",
which dump signatures for all non-private declarations.

^KT-62340
This commit is contained in:
Dmitriy Dolovov
2024-01-29 13:04:25 +01:00
committed by Space Team
parent 1f3da86021
commit ab09a3d0fe
2 changed files with 8 additions and 5 deletions
@@ -2,6 +2,9 @@ package org.jetbrains.kotlin.cli.klib
import org.jetbrains.kotlin.backend.konan.descriptors.getPackageFragments import org.jetbrains.kotlin.backend.konan.descriptors.getPackageFragments
import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities.PUBLIC
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities.PROTECTED
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities.INTERNAL
import org.jetbrains.kotlin.descriptors.impl.DeclarationDescriptorVisitorEmptyBodies import org.jetbrains.kotlin.descriptors.impl.DeclarationDescriptorVisitorEmptyBodies
import org.jetbrains.kotlin.utils.Printer import org.jetbrains.kotlin.utils.Printer
@@ -12,15 +15,15 @@ internal class DeclarationPrinter(
) { ) {
private val printer = Printer(out, 1, " ") private val printer = Printer(out, 1, " ")
private val DeclarationDescriptorWithVisibility.isPublicOrProtected: Boolean private val DeclarationDescriptorWithVisibility.isNonPrivate: Boolean
get() = visibility == DescriptorVisibilities.PUBLIC || visibility == DescriptorVisibilities.PROTECTED get() = visibility == PUBLIC || visibility == PROTECTED || visibility == INTERNAL
private val CallableMemberDescriptor.isFakeOverride: Boolean private val CallableMemberDescriptor.isFakeOverride: Boolean
get() = kind == CallableMemberDescriptor.Kind.FAKE_OVERRIDE get() = kind == CallableMemberDescriptor.Kind.FAKE_OVERRIDE
private val DeclarationDescriptor.shouldBePrinted: Boolean private val DeclarationDescriptor.shouldBePrinted: Boolean
get() = this is ClassifierDescriptorWithTypeParameters && isPublicOrProtected get() = this is ClassifierDescriptorWithTypeParameters && isNonPrivate
|| this is CallableMemberDescriptor && isPublicOrProtected && !isFakeOverride || this is CallableMemberDescriptor && isNonPrivate && !isFakeOverride
fun print(module: ModuleDescriptor) { fun print(module: ModuleDescriptor) {
module.accept(PrinterVisitor(), Unit) module.accept(PrinterVisitor(), Unit)
@@ -74,7 +74,7 @@ fun printUsage() {
(such as Compose) were used during compilation of the library, there would be different (such as Compose) were used during compilation of the library, there would be different
signatures for patched declarations. signatures for patched declarations.
signatures [DEPRECATED] Renamed to "dump-metadata-signatures". Please, use new command name. signatures [DEPRECATED] Renamed to "dump-metadata-signatures". Please, use new command name.
dump-metadata Dump the metadata of all public declarations in the library in the form of Kotlin-alike code. dump-metadata Dump the metadata of all non-private declarations in the library in the form of Kotlin-alike code.
The output of this command is intended to be used for debugging purposes only. The output of this command is intended to be used for debugging purposes only.
contents [DEPRECATED] Renamed to "dump-metadata". Please, use new command name. contents [DEPRECATED] Renamed to "dump-metadata". Please, use new command name.