Deprecate old kotlinx-metadata flags API:
Flag, Flag constants, Flags typealias, flagsOf() function, and Flag accessors in nodes (such as KmClass.flags, KmClass.jvmFlags, KmProperty.setterFlags, etc) #KT-59440
This commit is contained in:
committed by
Space Team
parent
1a1cbcb321
commit
b15da7c63a
@@ -5,13 +5,13 @@
|
||||
|
||||
package org.jetbrains.kotlin.jvm.abi
|
||||
|
||||
import kotlinx.metadata.Flag
|
||||
import kotlinx.metadata.Flags
|
||||
import kotlinx.metadata.KmClass
|
||||
import kotlinx.metadata.KmPackage
|
||||
import kotlinx.metadata.Visibility
|
||||
import kotlinx.metadata.jvm.KotlinClassMetadata
|
||||
import kotlinx.metadata.jvm.Metadata
|
||||
import kotlinx.metadata.jvm.localDelegatedProperties
|
||||
import kotlinx.metadata.visibility
|
||||
import org.jetbrains.kotlin.load.java.JvmAnnotationNames.*
|
||||
import org.jetbrains.org.objectweb.asm.AnnotationVisitor
|
||||
import org.jetbrains.org.objectweb.asm.Opcodes
|
||||
@@ -154,19 +154,19 @@ private fun AnnotationVisitor.visitKotlinMetadata(header: Metadata) {
|
||||
}
|
||||
|
||||
private fun KmClass.removePrivateDeclarations() {
|
||||
constructors.removeIf { isPrivateDeclaration(it.flags) }
|
||||
functions.removeIf { isPrivateDeclaration(it.flags) }
|
||||
properties.removeIf { isPrivateDeclaration(it.flags) }
|
||||
constructors.removeIf { it.visibility.isPrivate }
|
||||
functions.removeIf { it.visibility.isPrivate }
|
||||
properties.removeIf { it.visibility.isPrivate }
|
||||
localDelegatedProperties.clear()
|
||||
// TODO: do not serialize private type aliases once KT-17229 is fixed.
|
||||
}
|
||||
|
||||
private fun KmPackage.removePrivateDeclarations() {
|
||||
functions.removeIf { isPrivateDeclaration(it.flags) }
|
||||
properties.removeIf { isPrivateDeclaration(it.flags) }
|
||||
functions.removeIf { it.visibility.isPrivate }
|
||||
properties.removeIf { it.visibility.isPrivate }
|
||||
localDelegatedProperties.clear()
|
||||
// TODO: do not serialize private type aliases once KT-17229 is fixed.
|
||||
}
|
||||
|
||||
private fun isPrivateDeclaration(flags: Flags): Boolean =
|
||||
Flag.IS_PRIVATE(flags) || Flag.IS_PRIVATE_TO_THIS(flags) || Flag.IS_LOCAL(flags)
|
||||
private val Visibility.isPrivate: Boolean
|
||||
get() = this == Visibility.PRIVATE || this == Visibility.PRIVATE_TO_THIS || this == Visibility.LOCAL
|
||||
|
||||
Reference in New Issue
Block a user