Enable explicit API mode for kotlinx-metadata(-jvm)
Most of the declarations are made public as-is, except for some reader implementation details and MetadataExtensions.INSTANCES. Also added missing delegation in KmDeclarationContainerVisitor.visitExtensions #KT-59182 Fixed
This commit is contained in:
committed by
Space Team
parent
6da3ecceab
commit
20368a9e40
@@ -15,3 +15,7 @@ dependencies {
|
||||
compileOnly(project(":core:metadata"))
|
||||
compileOnly(protobufLite())
|
||||
}
|
||||
|
||||
kotlin {
|
||||
explicitApi()
|
||||
}
|
||||
|
||||
@@ -50,6 +50,10 @@ dependencies {
|
||||
testImplementation(commonDependency("org.jetbrains.kotlin:kotlin-reflect")) { isTransitive = false }
|
||||
}
|
||||
|
||||
kotlin {
|
||||
explicitApi()
|
||||
}
|
||||
|
||||
if (deployVersion != null) {
|
||||
publish()
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.metadata.jvm.deserialization.JvmFlags as JF
|
||||
*
|
||||
* Returns `false` if the property is not declared in a companion object of some interface.
|
||||
*/
|
||||
var KmProperty.isMovedFromInterfaceCompanion by BooleanFlagDelegate(KmProperty::jvmFlags, booleanFlag(JF.IS_MOVED_FROM_INTERFACE_COMPANION))
|
||||
public var KmProperty.isMovedFromInterfaceCompanion: Boolean by BooleanFlagDelegate(KmProperty::jvmFlags, booleanFlag(JF.IS_MOVED_FROM_INTERFACE_COMPANION))
|
||||
|
||||
/**
|
||||
* Applicable to an interface compiled with -Xjvm-default=all or all-compatibility.
|
||||
@@ -37,7 +37,7 @@ var KmProperty.isMovedFromInterfaceCompanion by BooleanFlagDelegate(KmProperty::
|
||||
* @see JvmDefaultWithCompatibility
|
||||
* @see JvmDefaultWithoutCompatibility
|
||||
*/
|
||||
var KmClass.hasMethodBodiesInInterface by BooleanFlagDelegate(KmClass::jvmFlags, booleanFlag(JF.IS_COMPILED_IN_JVM_DEFAULT_MODE))
|
||||
public var KmClass.hasMethodBodiesInInterface: Boolean by BooleanFlagDelegate(KmClass::jvmFlags, booleanFlag(JF.IS_COMPILED_IN_JVM_DEFAULT_MODE))
|
||||
|
||||
/**
|
||||
* Indicates if an interface was compiled with -Xjvm-default=all-compatibility.
|
||||
@@ -53,7 +53,7 @@ var KmClass.hasMethodBodiesInInterface by BooleanFlagDelegate(KmClass::jvmFlags,
|
||||
* @see JvmDefaultWithCompatibility
|
||||
* @see JvmDefaultWithoutCompatibility
|
||||
*/
|
||||
var KmClass.isCompiledInCompatibilityMode by BooleanFlagDelegate(KmClass::jvmFlags, booleanFlag(JF.IS_COMPILED_IN_COMPATIBILITY_MODE))
|
||||
public var KmClass.isCompiledInCompatibilityMode: Boolean by BooleanFlagDelegate(KmClass::jvmFlags, booleanFlag(JF.IS_COMPILED_IN_COMPATIBILITY_MODE))
|
||||
|
||||
private fun booleanFlag(f: Flags.BooleanFlagField): FlagImpl =
|
||||
FlagImpl(f.offset, f.bitWidth, 1)
|
||||
|
||||
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.metadata.jvm.deserialization.JvmProtoBufUtil
|
||||
* A visitor containing the common code to visit JVM extensions for Kotlin declaration containers, such as classes and package fragments.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
abstract class JvmDeclarationContainerExtensionVisitor @JvmOverloads constructor(
|
||||
public abstract class JvmDeclarationContainerExtensionVisitor @JvmOverloads constructor(
|
||||
protected open val delegate: JvmDeclarationContainerExtensionVisitor? = null
|
||||
) : KmDeclarationContainerExtensionVisitor {
|
||||
/**
|
||||
@@ -32,13 +32,13 @@ abstract class JvmDeclarationContainerExtensionVisitor @JvmOverloads constructor
|
||||
* @param setterFlags property accessor flags, consisting of [Flag.HAS_ANNOTATIONS], visibility flag, modality flag
|
||||
* and [Flag.PropertyAccessor] flags
|
||||
*/
|
||||
open fun visitLocalDelegatedProperty(flags: Int, name: String, getterFlags: Int, setterFlags: Int): KmPropertyVisitor? =
|
||||
public open fun visitLocalDelegatedProperty(flags: Int, name: String, getterFlags: Int, setterFlags: Int): KmPropertyVisitor? =
|
||||
delegate?.visitLocalDelegatedProperty(flags, name, getterFlags, setterFlags)
|
||||
|
||||
/**
|
||||
* Visits the name of the module where this container is declared.
|
||||
*/
|
||||
open fun visitModuleName(name: String) {
|
||||
public open fun visitModuleName(name: String) {
|
||||
delegate?.visitModuleName(name)
|
||||
}
|
||||
}
|
||||
@@ -47,7 +47,7 @@ abstract class JvmDeclarationContainerExtensionVisitor @JvmOverloads constructor
|
||||
* A visitor to visit JVM extensions for a class.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
open class JvmClassExtensionVisitor @JvmOverloads constructor(
|
||||
public open class JvmClassExtensionVisitor @JvmOverloads constructor(
|
||||
delegate: JvmClassExtensionVisitor? = null
|
||||
) : KmClassExtensionVisitor, JvmDeclarationContainerExtensionVisitor(delegate) {
|
||||
override val delegate: JvmClassExtensionVisitor?
|
||||
@@ -60,32 +60,32 @@ open class JvmClassExtensionVisitor @JvmOverloads constructor(
|
||||
* Visits the JVM internal name of the original class this anonymous object is copied from. This method is called for
|
||||
* anonymous objects copied from bodies of inline functions to the use site by the Kotlin compiler.
|
||||
*/
|
||||
open fun visitAnonymousObjectOriginName(internalName: String) {
|
||||
public open fun visitAnonymousObjectOriginName(internalName: String) {
|
||||
delegate?.visitAnonymousObjectOriginName(internalName)
|
||||
}
|
||||
|
||||
/**
|
||||
* Visits the JVM-specific flags of the class, consisting of [JvmFlag.Class] flags.
|
||||
*/
|
||||
open fun visitJvmFlags(flags: Int) {
|
||||
public open fun visitJvmFlags(flags: Int) {
|
||||
delegate?.visitJvmFlags(flags)
|
||||
}
|
||||
|
||||
/**
|
||||
* Visits the end of JVM extensions for the class.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
|
||||
companion object {
|
||||
public companion object {
|
||||
/**
|
||||
* The type of this extension visitor.
|
||||
*
|
||||
* @see KmExtensionType
|
||||
*/
|
||||
@JvmField
|
||||
val TYPE: KmExtensionType = KmExtensionType(JvmClassExtensionVisitor::class)
|
||||
public val TYPE: KmExtensionType = KmExtensionType(JvmClassExtensionVisitor::class)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ open class JvmClassExtensionVisitor @JvmOverloads constructor(
|
||||
* A visitor to visit JVM extensions for a package fragment.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
open class JvmPackageExtensionVisitor @JvmOverloads constructor(
|
||||
public open class JvmPackageExtensionVisitor @JvmOverloads constructor(
|
||||
delegate: JvmPackageExtensionVisitor? = null
|
||||
) : KmPackageExtensionVisitor, JvmDeclarationContainerExtensionVisitor(delegate) {
|
||||
override val delegate: JvmPackageExtensionVisitor?
|
||||
@@ -105,18 +105,18 @@ open class JvmPackageExtensionVisitor @JvmOverloads constructor(
|
||||
/**
|
||||
* Visits the end of JVM extensions for the package fragment.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
|
||||
companion object {
|
||||
public companion object {
|
||||
/**
|
||||
* The type of this extension visitor.
|
||||
*
|
||||
* @see KmExtensionType
|
||||
*/
|
||||
@JvmField
|
||||
val TYPE: KmExtensionType = KmExtensionType(JvmPackageExtensionVisitor::class)
|
||||
public val TYPE: KmExtensionType = KmExtensionType(JvmPackageExtensionVisitor::class)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@ open class JvmPackageExtensionVisitor @JvmOverloads constructor(
|
||||
* A visitor to visit JVM extensions for a function.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
open class JvmFunctionExtensionVisitor @JvmOverloads constructor(
|
||||
public open class JvmFunctionExtensionVisitor @JvmOverloads constructor(
|
||||
private val delegate: JvmFunctionExtensionVisitor? = null
|
||||
) : KmFunctionExtensionVisitor {
|
||||
final override val type: KmExtensionType
|
||||
@@ -137,7 +137,7 @@ open class JvmFunctionExtensionVisitor @JvmOverloads constructor(
|
||||
*
|
||||
* @param signature the signature of the function
|
||||
*/
|
||||
open fun visit(signature: JvmMethodSignature?) {
|
||||
public open fun visit(signature: JvmMethodSignature?) {
|
||||
delegate?.visit(signature)
|
||||
}
|
||||
|
||||
@@ -145,25 +145,25 @@ open class JvmFunctionExtensionVisitor @JvmOverloads constructor(
|
||||
* Visits the JVM internal name of the original class the lambda class for this function is copied from.
|
||||
* This information is present for lambdas copied from bodies of inline functions to the use site by the Kotlin compiler.
|
||||
*/
|
||||
open fun visitLambdaClassOriginName(internalName: String) {
|
||||
public open fun visitLambdaClassOriginName(internalName: String) {
|
||||
delegate?.visitLambdaClassOriginName(internalName)
|
||||
}
|
||||
|
||||
/**
|
||||
* Visits the end of JVM extensions for the function.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
|
||||
companion object {
|
||||
public companion object {
|
||||
/**
|
||||
* The type of this extension visitor.
|
||||
*
|
||||
* @see KmExtensionType
|
||||
*/
|
||||
@JvmField
|
||||
val TYPE: KmExtensionType = KmExtensionType(JvmFunctionExtensionVisitor::class)
|
||||
public val TYPE: KmExtensionType = KmExtensionType(JvmFunctionExtensionVisitor::class)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,7 +171,7 @@ open class JvmFunctionExtensionVisitor @JvmOverloads constructor(
|
||||
* A visitor to visit JVM extensions for a property.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
open class JvmPropertyExtensionVisitor @JvmOverloads constructor(
|
||||
public open class JvmPropertyExtensionVisitor @JvmOverloads constructor(
|
||||
private val delegate: JvmPropertyExtensionVisitor? = null
|
||||
) : KmPropertyExtensionVisitor {
|
||||
final override val type: KmExtensionType
|
||||
@@ -188,7 +188,7 @@ open class JvmPropertyExtensionVisitor @JvmOverloads constructor(
|
||||
* @param setterSignature the signature of the property setter, or `null` if this property has no setter or its signature is unknown.
|
||||
* Example: `JvmMethodSignature("setX", "(Ljava/lang/Object;)V")`
|
||||
*/
|
||||
open fun visit(
|
||||
public open fun visit(
|
||||
jvmFlags: Int,
|
||||
fieldSignature: JvmFieldSignature?,
|
||||
getterSignature: JvmMethodSignature?,
|
||||
@@ -205,7 +205,7 @@ open class JvmPropertyExtensionVisitor @JvmOverloads constructor(
|
||||
level = DeprecationLevel.ERROR,
|
||||
replaceWith = ReplaceWith("visit(flagsOf(), fieldSignature, getterSignature, setterSignature)", "kotlinx.metadata.flagsOf")
|
||||
)
|
||||
open fun visit(
|
||||
public open fun visit(
|
||||
fieldSignature: JvmFieldSignature?,
|
||||
getterSignature: JvmMethodSignature?,
|
||||
setterSignature: JvmMethodSignature?
|
||||
@@ -221,7 +221,7 @@ open class JvmPropertyExtensionVisitor @JvmOverloads constructor(
|
||||
*
|
||||
* @param signature the signature of the synthetic method
|
||||
*/
|
||||
open fun visitSyntheticMethodForAnnotations(signature: JvmMethodSignature?) {
|
||||
public open fun visitSyntheticMethodForAnnotations(signature: JvmMethodSignature?) {
|
||||
delegate?.visitSyntheticMethodForAnnotations(signature)
|
||||
}
|
||||
|
||||
@@ -234,25 +234,25 @@ open class JvmPropertyExtensionVisitor @JvmOverloads constructor(
|
||||
*
|
||||
* @param signature the signature of the synthetic method
|
||||
*/
|
||||
open fun visitSyntheticMethodForDelegate(signature: JvmMethodSignature?) {
|
||||
public open fun visitSyntheticMethodForDelegate(signature: JvmMethodSignature?) {
|
||||
delegate?.visitSyntheticMethodForDelegate(signature)
|
||||
}
|
||||
|
||||
/**
|
||||
* Visits the end of JVM extensions for the property.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
|
||||
companion object {
|
||||
public companion object {
|
||||
/**
|
||||
* The type of this extension visitor.
|
||||
*
|
||||
* @see KmExtensionType
|
||||
*/
|
||||
@JvmField
|
||||
val TYPE: KmExtensionType = KmExtensionType(JvmPropertyExtensionVisitor::class)
|
||||
public val TYPE: KmExtensionType = KmExtensionType(JvmPropertyExtensionVisitor::class)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -260,7 +260,7 @@ open class JvmPropertyExtensionVisitor @JvmOverloads constructor(
|
||||
* A visitor to visit JVM extensions for a constructor.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
open class JvmConstructorExtensionVisitor @JvmOverloads constructor(
|
||||
public open class JvmConstructorExtensionVisitor @JvmOverloads constructor(
|
||||
private val delegate: JvmConstructorExtensionVisitor? = null
|
||||
) : KmConstructorExtensionVisitor {
|
||||
final override val type: KmExtensionType
|
||||
@@ -273,18 +273,18 @@ open class JvmConstructorExtensionVisitor @JvmOverloads constructor(
|
||||
*
|
||||
* @param signature the signature of the constructor
|
||||
*/
|
||||
open fun visit(signature: JvmMethodSignature?) {
|
||||
public open fun visit(signature: JvmMethodSignature?) {
|
||||
delegate?.visit(signature)
|
||||
}
|
||||
|
||||
companion object {
|
||||
public companion object {
|
||||
/**
|
||||
* The type of this extension visitor.
|
||||
*
|
||||
* @see KmExtensionType
|
||||
*/
|
||||
@JvmField
|
||||
val TYPE: KmExtensionType = KmExtensionType(JvmConstructorExtensionVisitor::class)
|
||||
public val TYPE: KmExtensionType = KmExtensionType(JvmConstructorExtensionVisitor::class)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -292,7 +292,7 @@ open class JvmConstructorExtensionVisitor @JvmOverloads constructor(
|
||||
* A visitor to visit JVM extensions for a type parameter.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
open class JvmTypeParameterExtensionVisitor @JvmOverloads constructor(
|
||||
public open class JvmTypeParameterExtensionVisitor @JvmOverloads constructor(
|
||||
private val delegate: JvmTypeParameterExtensionVisitor? = null
|
||||
) : KmTypeParameterExtensionVisitor {
|
||||
final override val type: KmExtensionType
|
||||
@@ -303,25 +303,25 @@ open class JvmTypeParameterExtensionVisitor @JvmOverloads constructor(
|
||||
*
|
||||
* @param annotation the annotation on the type parameter
|
||||
*/
|
||||
open fun visitAnnotation(annotation: KmAnnotation) {
|
||||
public open fun visitAnnotation(annotation: KmAnnotation) {
|
||||
delegate?.visitAnnotation(annotation)
|
||||
}
|
||||
|
||||
/**
|
||||
* Visits the end of JVM extensions for the type parameter.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
|
||||
companion object {
|
||||
public companion object {
|
||||
/**
|
||||
* The type of this extension visitor.
|
||||
*
|
||||
* @see KmExtensionType
|
||||
*/
|
||||
@JvmField
|
||||
val TYPE: KmExtensionType = KmExtensionType(JvmTypeParameterExtensionVisitor::class)
|
||||
public val TYPE: KmExtensionType = KmExtensionType(JvmTypeParameterExtensionVisitor::class)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -329,7 +329,7 @@ open class JvmTypeParameterExtensionVisitor @JvmOverloads constructor(
|
||||
* A visitor to visit JVM extensions for a type.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
open class JvmTypeExtensionVisitor @JvmOverloads constructor(
|
||||
public open class JvmTypeExtensionVisitor @JvmOverloads constructor(
|
||||
private val delegate: JvmTypeExtensionVisitor? = null
|
||||
) : KmTypeExtensionVisitor {
|
||||
final override val type: KmExtensionType
|
||||
@@ -340,7 +340,7 @@ open class JvmTypeExtensionVisitor @JvmOverloads constructor(
|
||||
*
|
||||
* @param isRaw whether the type is seen as a raw type in Java
|
||||
*/
|
||||
open fun visit(isRaw: Boolean) {
|
||||
public open fun visit(isRaw: Boolean) {
|
||||
delegate?.visit(isRaw)
|
||||
}
|
||||
|
||||
@@ -349,31 +349,31 @@ open class JvmTypeExtensionVisitor @JvmOverloads constructor(
|
||||
*
|
||||
* @param annotation the annotation on the type
|
||||
*/
|
||||
open fun visitAnnotation(annotation: KmAnnotation) {
|
||||
public open fun visitAnnotation(annotation: KmAnnotation) {
|
||||
delegate?.visitAnnotation(annotation)
|
||||
}
|
||||
|
||||
/**
|
||||
* Visits the end of JVM extensions for the type parameter.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
|
||||
companion object {
|
||||
public companion object {
|
||||
/**
|
||||
* The type of this extension visitor.
|
||||
*
|
||||
* @see KmExtensionType
|
||||
*/
|
||||
@JvmField
|
||||
val TYPE: KmExtensionType = KmExtensionType(JvmTypeExtensionVisitor::class)
|
||||
public val TYPE: KmExtensionType = KmExtensionType(JvmTypeExtensionVisitor::class)
|
||||
|
||||
/**
|
||||
* The type flexibility id, signifying that the visited type is a JVM platform type.
|
||||
*
|
||||
* @see KmTypeVisitor.visitFlexibleTypeUpperBound
|
||||
*/
|
||||
const val PLATFORM_TYPE_ID = JvmProtoBufUtil.PLATFORM_TYPE_ID // TODO: move out of deprecated visitor
|
||||
public const val PLATFORM_TYPE_ID: String = JvmProtoBufUtil.PLATFORM_TYPE_ID // TODO: move out of deprecated visitor
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,13 +20,13 @@ import kotlinx.metadata.jvm.internal.jvm
|
||||
* If an incorrect index is used, either the `KProperty<*>` object passed to delegate methods will point to the wrong property
|
||||
* at runtime, or an exception will be thrown.
|
||||
*/
|
||||
val KmClass.localDelegatedProperties: MutableList<KmProperty>
|
||||
public val KmClass.localDelegatedProperties: MutableList<KmProperty>
|
||||
get() = jvm.localDelegatedProperties
|
||||
|
||||
/**
|
||||
* Name of the module where this class is declared.
|
||||
*/
|
||||
var KmClass.moduleName: String?
|
||||
public var KmClass.moduleName: String?
|
||||
get() = jvm.moduleName
|
||||
set(value) {
|
||||
jvm.moduleName = value
|
||||
@@ -36,7 +36,7 @@ var KmClass.moduleName: String?
|
||||
* JVM internal name of the original class this anonymous object is copied from. This value is set for anonymous objects
|
||||
* copied from bodies of inline functions to the use site by the Kotlin compiler.
|
||||
*/
|
||||
var KmClass.anonymousObjectOriginName: String?
|
||||
public var KmClass.anonymousObjectOriginName: String?
|
||||
get() = jvm.anonymousObjectOriginName
|
||||
set(value) {
|
||||
jvm.anonymousObjectOriginName = value
|
||||
@@ -46,7 +46,7 @@ var KmClass.anonymousObjectOriginName: String?
|
||||
* JVM-specific flags of the class, consisting of [JvmFlag.Class] flags.
|
||||
*/
|
||||
@Deprecated("Flag API is deprecated. Please use corresponding member extensions on KmClass, such as KmClass.hasMethodBodiesInInterface")
|
||||
var KmClass.jvmFlags: Int
|
||||
public var KmClass.jvmFlags: Int
|
||||
get() = jvm.jvmFlags
|
||||
set(value) {
|
||||
jvm.jvmFlags = value
|
||||
@@ -61,13 +61,13 @@ var KmClass.jvmFlags: Int
|
||||
* If an incorrect index is used, either the `KProperty<*>` object passed to delegate methods will point to the wrong property
|
||||
* at runtime, or an exception will be thrown.
|
||||
*/
|
||||
val KmPackage.localDelegatedProperties: MutableList<KmProperty>
|
||||
public val KmPackage.localDelegatedProperties: MutableList<KmProperty>
|
||||
get() = jvm.localDelegatedProperties
|
||||
|
||||
/**
|
||||
* Name of the module where this package fragment is declared.
|
||||
*/
|
||||
var KmPackage.moduleName: String?
|
||||
public var KmPackage.moduleName: String?
|
||||
get() = jvm.moduleName
|
||||
set(value) {
|
||||
jvm.moduleName = value
|
||||
@@ -78,7 +78,7 @@ var KmPackage.moduleName: String?
|
||||
*
|
||||
* Example: `JvmMethodSignature("equals", "(Ljava/lang/Object;)Z")`.
|
||||
*/
|
||||
var KmFunction.signature: JvmMethodSignature?
|
||||
public var KmFunction.signature: JvmMethodSignature?
|
||||
get() = jvm.signature
|
||||
set(value) {
|
||||
jvm.signature = value
|
||||
@@ -88,7 +88,7 @@ var KmFunction.signature: JvmMethodSignature?
|
||||
* JVM internal name of the original class the lambda class for this function is copied from. This value is set for lambdas
|
||||
* copied from bodies of inline functions to the use site by the Kotlin compiler.
|
||||
*/
|
||||
var KmFunction.lambdaClassOriginName: String?
|
||||
public var KmFunction.lambdaClassOriginName: String?
|
||||
get() = jvm.lambdaClassOriginName
|
||||
set(value) {
|
||||
jvm.lambdaClassOriginName = value
|
||||
@@ -98,7 +98,7 @@ var KmFunction.lambdaClassOriginName: String?
|
||||
* JVM-specific flags of the property, consisting of [JvmFlag.Property] flags.
|
||||
*/
|
||||
@Deprecated("Flag API is deprecated. Please use corresponding member extensions on KmProperty, such as KmProperty.isMovedFromInterfaceCompanion")
|
||||
var KmProperty.jvmFlags: Int
|
||||
public var KmProperty.jvmFlags: Int
|
||||
get() = jvm.jvmFlags
|
||||
set(value) {
|
||||
jvm.jvmFlags = value
|
||||
@@ -109,7 +109,7 @@ var KmProperty.jvmFlags: Int
|
||||
*
|
||||
* Example: `JvmFieldSignature("X", "Ljava/lang/Object;")`.
|
||||
*/
|
||||
var KmProperty.fieldSignature: JvmFieldSignature?
|
||||
public var KmProperty.fieldSignature: JvmFieldSignature?
|
||||
get() = jvm.fieldSignature
|
||||
set(value) {
|
||||
jvm.fieldSignature = value
|
||||
@@ -120,7 +120,7 @@ var KmProperty.fieldSignature: JvmFieldSignature?
|
||||
*
|
||||
* Example: `JvmMethodSignature("getX", "()Ljava/lang/Object;")`.
|
||||
*/
|
||||
var KmProperty.getterSignature: JvmMethodSignature?
|
||||
public var KmProperty.getterSignature: JvmMethodSignature?
|
||||
get() = jvm.getterSignature
|
||||
set(value) {
|
||||
jvm.getterSignature = value
|
||||
@@ -131,7 +131,7 @@ var KmProperty.getterSignature: JvmMethodSignature?
|
||||
*
|
||||
* Example: `JvmMethodSignature("setX", "(Ljava/lang/Object;)V")`.
|
||||
*/
|
||||
var KmProperty.setterSignature: JvmMethodSignature?
|
||||
public var KmProperty.setterSignature: JvmMethodSignature?
|
||||
get() = jvm.setterSignature
|
||||
set(value) {
|
||||
jvm.setterSignature = value
|
||||
@@ -142,7 +142,7 @@ var KmProperty.setterSignature: JvmMethodSignature?
|
||||
*
|
||||
* Example: `JvmMethodSignature("getX$annotations", "()V")`.
|
||||
*/
|
||||
var KmProperty.syntheticMethodForAnnotations: JvmMethodSignature?
|
||||
public var KmProperty.syntheticMethodForAnnotations: JvmMethodSignature?
|
||||
get() = jvm.syntheticMethodForAnnotations
|
||||
set(value) {
|
||||
jvm.syntheticMethodForAnnotations = value
|
||||
@@ -155,7 +155,7 @@ var KmProperty.syntheticMethodForAnnotations: JvmMethodSignature?
|
||||
*
|
||||
* Example: `JvmMethodSignature("getX$delegate", "()Ljava/lang/Object;")`.
|
||||
*/
|
||||
var KmProperty.syntheticMethodForDelegate: JvmMethodSignature?
|
||||
public var KmProperty.syntheticMethodForDelegate: JvmMethodSignature?
|
||||
get() = jvm.syntheticMethodForDelegate
|
||||
set(value) {
|
||||
jvm.syntheticMethodForDelegate = value
|
||||
@@ -166,7 +166,7 @@ var KmProperty.syntheticMethodForDelegate: JvmMethodSignature?
|
||||
*
|
||||
* Example: `JvmMethodSignature("<init>", "(Ljava/lang/Object;)V")`.
|
||||
*/
|
||||
var KmConstructor.signature: JvmMethodSignature?
|
||||
public var KmConstructor.signature: JvmMethodSignature?
|
||||
get() = jvm.signature
|
||||
set(value) {
|
||||
jvm.signature = value
|
||||
@@ -175,13 +175,13 @@ var KmConstructor.signature: JvmMethodSignature?
|
||||
/**
|
||||
* Annotations on the type parameter.
|
||||
*/
|
||||
val KmTypeParameter.annotations: MutableList<KmAnnotation>
|
||||
public val KmTypeParameter.annotations: MutableList<KmAnnotation>
|
||||
get() = jvm.annotations
|
||||
|
||||
/**
|
||||
* `true` if the type is seen as a raw type in Java.
|
||||
*/
|
||||
var KmType.isRaw: Boolean
|
||||
public var KmType.isRaw: Boolean
|
||||
get() = jvm.isRaw
|
||||
set(value) {
|
||||
jvm.isRaw = value
|
||||
@@ -190,5 +190,5 @@ var KmType.isRaw: Boolean
|
||||
/**
|
||||
* Annotations on the type.
|
||||
*/
|
||||
val KmType.annotations: MutableList<KmAnnotation>
|
||||
public val KmType.annotations: MutableList<KmAnnotation>
|
||||
get() = jvm.annotations
|
||||
|
||||
@@ -21,12 +21,12 @@ private const val prefix = "Flag API is deprecated. Please use"
|
||||
* @see Flags
|
||||
*/
|
||||
@Deprecated("$prefix corresponding extensions on Km nodes, such as KmClass.hasMethodBodiesInInterface")
|
||||
object JvmFlag {
|
||||
public object JvmFlag {
|
||||
/**
|
||||
* JVM-specific property flags in addition to common property flags declared in [Flag.Property].
|
||||
*/
|
||||
@Deprecated("$prefix corresponding extension on KmProperty: KmProperty.isMovedFromInterfaceCompanion")
|
||||
object Property {
|
||||
public object Property {
|
||||
/**
|
||||
* Applied to a property declared in an interface's companion object, signifies that its backing field is declared as a static
|
||||
* field in the interface. In Kotlin code, this usually happens if the property is annotated with [JvmField].
|
||||
@@ -35,14 +35,14 @@ object JvmFlag {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmProperty.isMovedFromInterfaceCompanion")
|
||||
val IS_MOVED_FROM_INTERFACE_COMPANION = booleanFlag(JF.IS_MOVED_FROM_INTERFACE_COMPANION)
|
||||
public val IS_MOVED_FROM_INTERFACE_COMPANION: Flag = booleanFlag(JF.IS_MOVED_FROM_INTERFACE_COMPANION)
|
||||
}
|
||||
|
||||
/**
|
||||
* JVM-specific class flags in addition to common class flags declared in [Flag.Class].
|
||||
*/
|
||||
@Deprecated("$prefix corresponding extensions on KmClass")
|
||||
object Class {
|
||||
public object Class {
|
||||
/**
|
||||
* Applied to an interface compiled with -Xjvm-default=all or all-compatibility.
|
||||
*
|
||||
@@ -52,7 +52,7 @@ object JvmFlag {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmClass.hasMethodBodiesInInterface")
|
||||
val HAS_METHOD_BODIES_IN_INTERFACE = booleanFlag(JF.IS_COMPILED_IN_JVM_DEFAULT_MODE)
|
||||
public val HAS_METHOD_BODIES_IN_INTERFACE: Flag = booleanFlag(JF.IS_COMPILED_IN_JVM_DEFAULT_MODE)
|
||||
|
||||
/**
|
||||
* Applied to an interface compiled with -Xjvm-default=all-compatibility.
|
||||
@@ -63,7 +63,7 @@ object JvmFlag {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmClass.isCompiledInCompatibilityMode")
|
||||
val IS_COMPILED_IN_COMPATIBILITY_MODE = booleanFlag(JF.IS_COMPILED_IN_COMPATIBILITY_MODE)
|
||||
public val IS_COMPILED_IN_COMPATIBILITY_MODE: Flag = booleanFlag(JF.IS_COMPILED_IN_COMPATIBILITY_MODE)
|
||||
}
|
||||
|
||||
internal fun booleanFlag(f: F.BooleanFlagField): Flag =
|
||||
|
||||
@@ -13,10 +13,10 @@ import org.jetbrains.kotlin.metadata.jvm.deserialization.JvmMemberSignature as J
|
||||
* @property name name of method or field
|
||||
* @property descriptor JVM descriptor of a method, e.g. `(Ljava/lang/Object;)Z`, or a field type, e.g. `Ljava/lang/String;`
|
||||
*/
|
||||
sealed class JvmMemberSignature {
|
||||
public sealed class JvmMemberSignature {
|
||||
|
||||
abstract val name: String
|
||||
abstract val descriptor: String
|
||||
public abstract val name: String
|
||||
public abstract val descriptor: String
|
||||
|
||||
/**
|
||||
* Returns a string representation of the signature.
|
||||
@@ -30,14 +30,14 @@ sealed class JvmMemberSignature {
|
||||
// Two following declarations are deprecated since 0.6.1, should be error in 0.7.0+
|
||||
|
||||
@Deprecated("Deprecated for removal. Use descriptor instead", ReplaceWith("descriptor"), level = DeprecationLevel.WARNING)
|
||||
val desc: String get() = descriptor
|
||||
public val desc: String get() = descriptor
|
||||
|
||||
@Deprecated(
|
||||
"asString() is deprecated as redundant. Use toString() instead",
|
||||
ReplaceWith("toString()"),
|
||||
level = DeprecationLevel.WARNING
|
||||
)
|
||||
fun asString(): String = toString()
|
||||
public fun asString(): String = toString()
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -47,8 +47,8 @@ sealed class JvmMemberSignature {
|
||||
*
|
||||
* @see JvmMemberSignature
|
||||
*/
|
||||
data class JvmMethodSignature(override val name: String, override val descriptor: String) : JvmMemberSignature() {
|
||||
override fun toString() = name + descriptor
|
||||
public data class JvmMethodSignature(override val name: String, override val descriptor: String) : JvmMemberSignature() {
|
||||
override fun toString(): String = name + descriptor
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -58,8 +58,8 @@ data class JvmMethodSignature(override val name: String, override val descriptor
|
||||
*
|
||||
* @see JvmMemberSignature
|
||||
*/
|
||||
data class JvmFieldSignature(override val name: String, override val descriptor: String) : JvmMemberSignature() {
|
||||
override fun toString() = "$name:$descriptor"
|
||||
public data class JvmFieldSignature(override val name: String, override val descriptor: String) : JvmMemberSignature() {
|
||||
override fun toString(): String = "$name:$descriptor"
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ import kotlinx.metadata.isLocalClassName
|
||||
* Converts [this] to a JVM internal name of the class, where package names are separated by '/', and class names are separated by '$',
|
||||
* for example: `"org/foo/bar/Baz.Nested"` -> `"org/foo/bar/Baz$Nested"`
|
||||
*/
|
||||
fun ClassName.toJvmInternalName(): String =
|
||||
public fun ClassName.toJvmInternalName(): String =
|
||||
if (this.isLocalClassName()) substring(1)
|
||||
else replace('.', '$')
|
||||
|
||||
@@ -24,14 +24,14 @@ fun ClassName.toJvmInternalName(): String =
|
||||
ReplaceWith("toJvmInternalName()"),
|
||||
level = DeprecationLevel.WARNING
|
||||
)
|
||||
val ClassName.jvmInternalName: String get() = toJvmInternalName()
|
||||
public val ClassName.jvmInternalName: String get() = toJvmInternalName()
|
||||
|
||||
/**
|
||||
* Helper function to instantiate [Metadata].
|
||||
* Contrary to a direct constructor call, this one accepts nullable parameters to substitute nulls with default values.
|
||||
* Also, this one does not accept [Metadata.bytecodeVersion] as it is deprecated.
|
||||
*/
|
||||
fun Metadata(
|
||||
public fun Metadata(
|
||||
kind: Int? = null,
|
||||
metadataVersion: IntArray? = null,
|
||||
data1: Array<String>? = null,
|
||||
|
||||
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.metadata.jvm.deserialization.JvmMetadataVersion
|
||||
import org.jetbrains.kotlin.metadata.jvm.deserialization.JvmProtoBufUtil
|
||||
import org.jetbrains.kotlin.metadata.jvm.serialization.JvmStringTable
|
||||
import java.util.*
|
||||
import kotlin.LazyThreadSafetyMode.PUBLICATION
|
||||
|
||||
/**
|
||||
* Represents the parsed metadata of a Kotlin JVM class file. Entry point for parsing metadata on JVM.
|
||||
@@ -44,7 +43,7 @@ import kotlin.LazyThreadSafetyMode.PUBLICATION
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
public sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
|
||||
/**
|
||||
* Represents metadata of a class file containing a declaration of a Kotlin class.
|
||||
@@ -52,7 +51,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
* Anything that does not belong to a Kotlin class (top-level declarations) is not present in
|
||||
* [Class] metadata, even if such declaration was in the same source file. See [FileFacade] for details.
|
||||
*/
|
||||
class Class internal constructor(annotationData: Metadata) : KotlinClassMetadata(annotationData) {
|
||||
public class Class internal constructor(annotationData: Metadata) : KotlinClassMetadata(annotationData) {
|
||||
|
||||
/**
|
||||
* Returns the [KmClass] representation of this metadata.
|
||||
@@ -72,7 +71,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
ReplaceWith("kmClass"),
|
||||
DeprecationLevel.WARNING
|
||||
)
|
||||
fun toKmClass(): KmClass = KmClass().also { newKm -> kmClass.accept(newKm) } // defensive copy
|
||||
public fun toKmClass(): KmClass = KmClass().also { newKm -> kmClass.accept(newKm) } // defensive copy
|
||||
|
||||
/**
|
||||
* Makes the given visitor visit the metadata of this class.
|
||||
@@ -80,7 +79,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
* @param v the visitor that must visit this class
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(v: KmClassVisitor) = kmClass.accept(v)
|
||||
public fun accept(v: KmClassVisitor): Unit = kmClass.accept(v)
|
||||
|
||||
/**
|
||||
* A [KmClassVisitor] that generates the metadata of a Kotlin class.
|
||||
@@ -88,7 +87,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
@Deprecated(
|
||||
"$WRITER_API_MESSAGE, such as KotlinClassMetadata.writeClass(kmClass, metadataVersion, extraInt)",
|
||||
)
|
||||
class Writer : ClassWriter(JvmStringTable()) {
|
||||
public class Writer : ClassWriter(JvmStringTable()) {
|
||||
/**
|
||||
* Returns the metadata of the class that was written with this writer.
|
||||
*
|
||||
@@ -101,7 +100,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
@Deprecated(
|
||||
"$WRITER_API_MESSAGE, such as KotlinClassMetadata.writeClass(kmClass, metadataVersion, extraInt)",
|
||||
)
|
||||
fun write(
|
||||
public fun write(
|
||||
metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION,
|
||||
extraInt: Int = 0
|
||||
): Class {
|
||||
@@ -121,7 +120,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
* If Kotlin source file contains both classes and top-level declarations, only top-level declarations would be available in the corresponding file facade.
|
||||
* Classes would have their own JVM classfiles and their own metadata of [Class] kind.
|
||||
*/
|
||||
class FileFacade internal constructor(annotationData: Metadata) : KotlinClassMetadata(annotationData) {
|
||||
public class FileFacade internal constructor(annotationData: Metadata) : KotlinClassMetadata(annotationData) {
|
||||
|
||||
/**
|
||||
* Returns the [KmPackage] representation of this metadata.
|
||||
@@ -141,7 +140,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
ReplaceWith("kmPackage"),
|
||||
DeprecationLevel.WARNING
|
||||
)
|
||||
fun toKmPackage(): KmPackage = KmPackage().also { newPkg -> kmPackage.accept(newPkg) }
|
||||
public fun toKmPackage(): KmPackage = KmPackage().also { newPkg -> kmPackage.accept(newPkg) }
|
||||
|
||||
/**
|
||||
* Makes the given visitor visit metadata of this file facade.
|
||||
@@ -149,7 +148,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
* @param v the visitor that must visit this file facade
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(v: KmPackageVisitor) = kmPackage.accept(v)
|
||||
public fun accept(v: KmPackageVisitor): Unit = kmPackage.accept(v)
|
||||
|
||||
/**
|
||||
* A [KmPackageVisitor] that generates the metadata of a Kotlin file facade.
|
||||
@@ -157,7 +156,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
@Deprecated(
|
||||
"$WRITER_API_MESSAGE, such as KotlinClassMetadata.writeFileFacade(kmPackage, metadataVersion, extraInt)",
|
||||
)
|
||||
class Writer : PackageWriter(JvmStringTable()) {
|
||||
public class Writer : PackageWriter(JvmStringTable()) {
|
||||
/**
|
||||
* Returns the metadata of the file facade that was written with this writer.
|
||||
*
|
||||
@@ -170,7 +169,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
@Deprecated(
|
||||
"$WRITER_API_MESSAGE, such as KotlinClassMetadata.writeFileFacade(kmPackage, metadataVersion, extraInt)",
|
||||
)
|
||||
fun write(
|
||||
public fun write(
|
||||
metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION,
|
||||
extraInt: Int = 0
|
||||
): FileFacade {
|
||||
@@ -186,7 +185,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
* Represents metadata of a class file containing a synthetic class, e.g. a class for lambda, `$DefaultImpls` class for interface
|
||||
* method implementations, `$WhenMappings` class for optimized `when` over enums, etc.
|
||||
*/
|
||||
class SyntheticClass internal constructor(annotationData: Metadata) : KotlinClassMetadata(annotationData) {
|
||||
public class SyntheticClass internal constructor(annotationData: Metadata) : KotlinClassMetadata(annotationData) {
|
||||
private val functionData =
|
||||
annotationData.data1.takeIf(Array<*>::isNotEmpty)?.let { data1 ->
|
||||
JvmProtoBufUtil.readFunctionDataFrom(data1, annotationData.data2)
|
||||
@@ -195,7 +194,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
/**
|
||||
* Returns `true` if this synthetic class is a class file compiled for a Kotlin lambda.
|
||||
*/
|
||||
val isLambda: Boolean
|
||||
public val isLambda: Boolean
|
||||
get() = annotationData.data1.isNotEmpty()
|
||||
|
||||
|
||||
@@ -218,7 +217,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
ReplaceWith("kmLambda"),
|
||||
DeprecationLevel.WARNING
|
||||
)
|
||||
fun toKmLambda(): KmLambda? = if (isLambda) KmLambda().apply(this::accept) else null
|
||||
public fun toKmLambda(): KmLambda? = if (isLambda) KmLambda().apply(this::accept) else null
|
||||
|
||||
/**
|
||||
* Makes the given visitor visit metadata of this file facade if this synthetic class represents a Kotlin lambda
|
||||
@@ -229,7 +228,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
* @param v the visitor that must visit this lambda
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(v: KmLambdaVisitor) {
|
||||
public fun accept(v: KmLambdaVisitor) {
|
||||
if (!isLambda) throw IllegalArgumentException(
|
||||
"accept(KmLambdaVisitor) is only possible for synthetic classes which are lambdas (isLambda = true)"
|
||||
)
|
||||
@@ -246,7 +245,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
WRITER_API_MESSAGE + ": KotlinClassMetadata.writeLambda(kmLambda, metadataVersion, extraInt) " +
|
||||
"or KotlinClassMetadata.writeSyntheticClass(metadataVersion, extraInt) for a non-lambda synthetic class",
|
||||
)
|
||||
class Writer : LambdaWriter(JvmStringTable()) {
|
||||
public class Writer : LambdaWriter(JvmStringTable()) {
|
||||
/**
|
||||
* Returns the metadata of the synthetic class that was written with this writer.
|
||||
*
|
||||
@@ -260,7 +259,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
"or KotlinClassMetadata.writeSyntheticClass(metadataVersion, extraInt) for a non-lambda synthetic class",
|
||||
)
|
||||
@JvmOverloads
|
||||
fun write(
|
||||
public fun write(
|
||||
metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION,
|
||||
extraInt: Int = 0
|
||||
): SyntheticClass {
|
||||
@@ -306,11 +305,11 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
* @see MultiFileClassPart
|
||||
* @see JvmMultifileClass
|
||||
*/
|
||||
class MultiFileClassFacade internal constructor(annotationData: Metadata) : KotlinClassMetadata(annotationData) {
|
||||
public class MultiFileClassFacade internal constructor(annotationData: Metadata) : KotlinClassMetadata(annotationData) {
|
||||
/**
|
||||
* JVM internal names of the part classes which this multi-file class combines.
|
||||
*/
|
||||
val partClassNames: List<String> = annotationData.data1.asList()
|
||||
public val partClassNames: List<String> = annotationData.data1.asList()
|
||||
|
||||
/**
|
||||
* A writer that generates the metadata of a multi-file class facade.
|
||||
@@ -318,7 +317,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
@Deprecated(
|
||||
"$WRITER_API_MESSAGE, such as KotlinClassMetadata.writeMultiFileClassFacade(partClassNames, metadataVersion, extraInt)",
|
||||
)
|
||||
class Writer {
|
||||
public class Writer {
|
||||
/**
|
||||
* Returns the metadata of the multi-file class facade that was written with this writer.
|
||||
*
|
||||
@@ -332,7 +331,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
"$WRITER_API_MESSAGE, such as KotlinClassMetadata.writeMultiFileClassFacade(partClassNames, metadataVersion, extraInt)",
|
||||
)
|
||||
@JvmOverloads
|
||||
fun write(
|
||||
public fun write(
|
||||
partClassNames: List<String>,
|
||||
metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION,
|
||||
extraInt: Int = 0
|
||||
@@ -358,7 +357,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
* @see MultiFileClassFacade
|
||||
* @see JvmMultifileClass
|
||||
*/
|
||||
class MultiFileClassPart internal constructor(annotationData: Metadata) : KotlinClassMetadata(annotationData) {
|
||||
public class MultiFileClassPart internal constructor(annotationData: Metadata) : KotlinClassMetadata(annotationData) {
|
||||
/**
|
||||
* Returns the [KmPackage] representation of this metadata.
|
||||
*
|
||||
@@ -372,7 +371,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
/**
|
||||
* JVM internal name of the corresponding multi-file class facade.
|
||||
*/
|
||||
val facadeClassName: String
|
||||
public val facadeClassName: String
|
||||
get() = annotationData.extraString
|
||||
|
||||
/**
|
||||
@@ -383,7 +382,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
ReplaceWith("kmPackage"),
|
||||
DeprecationLevel.WARNING
|
||||
)
|
||||
fun toKmPackage(): KmPackage = KmPackage().also { newKmp -> kmPackage.accept(newKmp) }
|
||||
public fun toKmPackage(): KmPackage = KmPackage().also { newKmp -> kmPackage.accept(newKmp) }
|
||||
|
||||
/**
|
||||
* Makes the given visitor visit metadata of this multi-file class part.
|
||||
@@ -391,7 +390,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
* @param v the visitor that must visit this multi-file class part
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(v: KmPackageVisitor) {
|
||||
public fun accept(v: KmPackageVisitor) {
|
||||
kmPackage.accept(v)
|
||||
}
|
||||
|
||||
@@ -401,7 +400,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
@Deprecated(
|
||||
"$WRITER_API_MESSAGE, such as KotlinClassMetadata.writeMultiFileClassPart(kmPackage, facadeClassName, metadataVersion, extraInt)"
|
||||
)
|
||||
class Writer : PackageWriter(JvmStringTable()) {
|
||||
public class Writer : PackageWriter(JvmStringTable()) {
|
||||
/**
|
||||
* Returns the metadata of the multi-file class part that was written with this writer.
|
||||
*
|
||||
@@ -415,7 +414,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
"$WRITER_API_MESSAGE, such as KotlinClassMetadata.writeMultiFileClassPart(kmPackage, facadeClassName, metadataVersion, extraInt)"
|
||||
)
|
||||
@JvmOverloads
|
||||
fun write(
|
||||
public fun write(
|
||||
facadeClassName: String,
|
||||
metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION,
|
||||
extraInt: Int = 0
|
||||
@@ -434,13 +433,13 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
* Represents metadata of an unknown class file. This class is used if an old version of this library is used against a new kind
|
||||
* of class files generated by the Kotlin compiler, unsupported by this library.
|
||||
*/
|
||||
data object Unknown : KotlinClassMetadata(Metadata())
|
||||
public data object Unknown : KotlinClassMetadata(Metadata())
|
||||
|
||||
/**
|
||||
* Collection of methods for reading and writing [KotlinClassMetadata],
|
||||
* as well as metadata kind constants and [COMPATIBLE_METADATA_VERSION] constant.
|
||||
*/
|
||||
companion object {
|
||||
public companion object {
|
||||
/**
|
||||
* Writes contents of [kmClass] as the class metadata.
|
||||
*
|
||||
@@ -453,7 +452,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
*/
|
||||
@JvmStatic
|
||||
@JvmOverloads
|
||||
fun writeClass(
|
||||
public fun writeClass(
|
||||
kmClass: KmClass,
|
||||
metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION,
|
||||
extraInt: Int = 0,
|
||||
@@ -473,7 +472,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
*/
|
||||
@JvmStatic
|
||||
@JvmOverloads
|
||||
fun writeFileFacade(
|
||||
public fun writeFileFacade(
|
||||
kmPackage: KmPackage,
|
||||
metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION,
|
||||
extraInt: Int = 0,
|
||||
@@ -493,7 +492,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
*/
|
||||
@JvmStatic
|
||||
@JvmOverloads
|
||||
fun writeLambda(
|
||||
public fun writeLambda(
|
||||
kmLambda: KmLambda,
|
||||
metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION,
|
||||
extraInt: Int = 0,
|
||||
@@ -513,7 +512,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
*/
|
||||
@JvmStatic
|
||||
@JvmOverloads
|
||||
fun writeSyntheticClass(
|
||||
public fun writeSyntheticClass(
|
||||
metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION,
|
||||
extraInt: Int = 0,
|
||||
): Metadata = SyntheticClass.Writer().write(metadataVersion, extraInt).annotationData
|
||||
@@ -531,7 +530,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
*/
|
||||
@JvmStatic
|
||||
@JvmOverloads
|
||||
fun writeMultiFileClassFacade(
|
||||
public fun writeMultiFileClassFacade(
|
||||
partClassNames: List<String>, metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION,
|
||||
extraInt: Int = 0,
|
||||
): Metadata = MultiFileClassFacade.Writer().write(partClassNames, metadataVersion, extraInt).annotationData
|
||||
@@ -549,7 +548,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
*/
|
||||
@JvmStatic
|
||||
@JvmOverloads
|
||||
fun writeMultiFileClassPart(
|
||||
public fun writeMultiFileClassPart(
|
||||
kmPackage: KmPackage,
|
||||
facadeClassName: String,
|
||||
metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION,
|
||||
@@ -575,7 +574,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
* @see COMPATIBLE_METADATA_VERSION
|
||||
*/
|
||||
@JvmStatic
|
||||
fun read(annotationData: Metadata): KotlinClassMetadata {
|
||||
public fun read(annotationData: Metadata): KotlinClassMetadata {
|
||||
checkMetadataVersionForRead(annotationData)
|
||||
|
||||
return wrapIntoMetadataExceptionWhenNeeded {
|
||||
@@ -622,14 +621,14 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
*
|
||||
* @see Metadata.kind
|
||||
*/
|
||||
const val CLASS_KIND = 1
|
||||
public const val CLASS_KIND: Int = 1
|
||||
|
||||
/**
|
||||
* A class file kind signifying that the corresponding class file is a compiled Kotlin file facade.
|
||||
*
|
||||
* @see Metadata.kind
|
||||
*/
|
||||
const val FILE_FACADE_KIND = 2
|
||||
public const val FILE_FACADE_KIND: Int = 2
|
||||
|
||||
/**
|
||||
* A class file kind signifying that the corresponding class file is synthetic, e.g. it is a class for lambda, `$DefaultImpls` class
|
||||
@@ -637,7 +636,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
*
|
||||
* @see Metadata.kind
|
||||
*/
|
||||
const val SYNTHETIC_CLASS_KIND = 3
|
||||
public const val SYNTHETIC_CLASS_KIND: Int = 3
|
||||
|
||||
/**
|
||||
* A class file kind signifying that the corresponding class file is a compiled multi-file class facade.
|
||||
@@ -646,7 +645,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
*
|
||||
* @see JvmMultifileClass
|
||||
*/
|
||||
const val MULTI_FILE_CLASS_FACADE_KIND = 4
|
||||
public const val MULTI_FILE_CLASS_FACADE_KIND: Int = 4
|
||||
|
||||
/**
|
||||
* A class file kind signifying that the corresponding class file is a compiled multi-file class part, i.e. an internal class
|
||||
@@ -656,7 +655,7 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
*
|
||||
* @see JvmMultifileClass
|
||||
*/
|
||||
const val MULTI_FILE_CLASS_PART_KIND = 5
|
||||
public const val MULTI_FILE_CLASS_PART_KIND: Int = 5
|
||||
|
||||
/**
|
||||
* The latest stable metadata version supported by this version of the library.
|
||||
@@ -667,8 +666,8 @@ sealed class KotlinClassMetadata(internal val annotationData: Metadata) {
|
||||
*
|
||||
* @see Metadata.metadataVersion
|
||||
*/
|
||||
@JvmField // TODO: move it somewhere since it is also used in KotlinModuleMetadata?
|
||||
val COMPATIBLE_METADATA_VERSION = JvmMetadataVersion.INSTANCE.toArray().copyOf()
|
||||
@JvmField // TODO: move it somewhere since it is also used in KotlinModuleMetadata?
|
||||
public val COMPATIBLE_METADATA_VERSION: IntArray = JvmMetadataVersion.INSTANCE.toArray().copyOf()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ import org.jetbrains.kotlin.metadata.jvm.deserialization.serializeToByteArray
|
||||
* @property bytes the byte array representing the contents of a `.kotlin_module` file
|
||||
*/
|
||||
@UnstableMetadataApi
|
||||
class KotlinModuleMetadata private constructor(
|
||||
public class KotlinModuleMetadata private constructor(
|
||||
private val bytes: ByteArray,
|
||||
private val data: ModuleMapping,
|
||||
) {
|
||||
@@ -57,14 +57,14 @@ class KotlinModuleMetadata private constructor(
|
||||
ReplaceWith("kmModule"),
|
||||
DeprecationLevel.WARNING
|
||||
)
|
||||
fun toKmModule(): KmModule = KmModule().apply(kmModule::accept)
|
||||
public fun toKmModule(): KmModule = KmModule().apply(kmModule::accept)
|
||||
|
||||
|
||||
/**
|
||||
* A [KmModuleVisitor] that generates the metadata of a Kotlin JVM module file.
|
||||
*/
|
||||
@Deprecated("Writer API is deprecated as excessive and cumbersome. Please use KotlinModuleMetadata.write(kmModule, metadataVersion)")
|
||||
class Writer : KmModuleVisitor() {
|
||||
public class Writer : KmModuleVisitor() {
|
||||
private val b = JvmModuleProtoBuf.Module.newBuilder()
|
||||
|
||||
override fun visitPackageParts(fqName: String, fileFacades: List<String>, multiFileClassParts: Map<String, String>) {
|
||||
@@ -107,7 +107,7 @@ class KotlinModuleMetadata private constructor(
|
||||
* [KotlinClassMetadata.COMPATIBLE_METADATA_VERSION] by default
|
||||
*/
|
||||
@Deprecated("Writer API is deprecated as excessive and cumbersome. Please use KotlinModuleMetadata.write(kmModule, metadataVersion)")
|
||||
fun write(metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION): ByteArray {
|
||||
public fun write(metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION): ByteArray {
|
||||
return b.build().serializeToByteArray(JvmMetadataVersion(*metadataVersion), 0)
|
||||
}
|
||||
}
|
||||
@@ -118,7 +118,7 @@ class KotlinModuleMetadata private constructor(
|
||||
* @param v the visitor that must visit this module file
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(v: KmModuleVisitor) {
|
||||
public fun accept(v: KmModuleVisitor) {
|
||||
for ((fqName, parts) in data.packageFqName2Parts) {
|
||||
val (fileFacades, multiFileClassParts) = parts.parts.partition { parts.getMultifileFacadeName(it) == null }
|
||||
v.visitPackageParts(fqName, fileFacades, multiFileClassParts.associateWith { parts.getMultifileFacadeName(it)!! })
|
||||
@@ -140,7 +140,7 @@ class KotlinModuleMetadata private constructor(
|
||||
/**
|
||||
* Collection of methods for reading and writing [KotlinModuleMetadata].
|
||||
*/
|
||||
companion object {
|
||||
public companion object {
|
||||
/**
|
||||
* Parses the given byte array with the .kotlin_module file content and returns the [KotlinModuleMetadata] instance,
|
||||
* or `null` if this byte array encodes a module with an unsupported metadata version.
|
||||
@@ -150,7 +150,7 @@ class KotlinModuleMetadata private constructor(
|
||||
*/
|
||||
@JvmStatic
|
||||
@UnstableMetadataApi
|
||||
fun read(bytes: ByteArray): KotlinModuleMetadata {
|
||||
public fun read(bytes: ByteArray): KotlinModuleMetadata {
|
||||
return wrapIntoMetadataExceptionWhenNeeded {
|
||||
val result = dataFromBytes(bytes)
|
||||
when (result) {
|
||||
@@ -172,7 +172,7 @@ class KotlinModuleMetadata private constructor(
|
||||
@UnstableMetadataApi
|
||||
@JvmStatic
|
||||
@JvmOverloads
|
||||
fun write(kmModule: KmModule, metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION): ByteArray = wrapWriteIntoIAE {
|
||||
public fun write(kmModule: KmModule, metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION): ByteArray = wrapWriteIntoIAE {
|
||||
Writer().also { kmModule.accept(it) }.write(metadataVersion)
|
||||
}
|
||||
|
||||
@@ -192,7 +192,7 @@ class KotlinModuleMetadata private constructor(
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@UnstableMetadataApi
|
||||
abstract class KmModuleVisitor(private val delegate: KmModuleVisitor? = null) {
|
||||
public abstract class KmModuleVisitor(private val delegate: KmModuleVisitor? = null) {
|
||||
/**
|
||||
* Visits the table of all single- and multi-file facades declared in some package of this module.
|
||||
*
|
||||
@@ -203,7 +203,7 @@ abstract class KmModuleVisitor(private val delegate: KmModuleVisitor? = null) {
|
||||
* @param multiFileClassParts the map of multi-file classes where keys are names of multi-file class parts,
|
||||
* and values are names of the corresponding multi-file facades
|
||||
*/
|
||||
open fun visitPackageParts(fqName: String, fileFacades: List<String>, multiFileClassParts: Map<String, String>) {
|
||||
public open fun visitPackageParts(fqName: String, fileFacades: List<String>, multiFileClassParts: Map<String, String>) {
|
||||
delegate?.visitPackageParts(fqName, fileFacades, multiFileClassParts)
|
||||
}
|
||||
|
||||
@@ -212,7 +212,7 @@ abstract class KmModuleVisitor(private val delegate: KmModuleVisitor? = null) {
|
||||
*
|
||||
* @param annotation annotation on the module
|
||||
*/
|
||||
open fun visitAnnotation(annotation: KmAnnotation) {
|
||||
public open fun visitAnnotation(annotation: KmAnnotation) {
|
||||
delegate?.visitAnnotation(annotation)
|
||||
}
|
||||
|
||||
@@ -224,13 +224,13 @@ abstract class KmModuleVisitor(private val delegate: KmModuleVisitor? = null) {
|
||||
* Multiplatform projects are an experimental feature of Kotlin, and their behavior and/or binary format
|
||||
* may change in a subsequent release.
|
||||
*/
|
||||
open fun visitOptionalAnnotationClass(): KmClassVisitor? =
|
||||
public open fun visitOptionalAnnotationClass(): KmClassVisitor? =
|
||||
delegate?.visitOptionalAnnotationClass()
|
||||
|
||||
/**
|
||||
* Visits the end of the module.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
|
||||
@@ -241,11 +241,11 @@ abstract class KmModuleVisitor(private val delegate: KmModuleVisitor? = null) {
|
||||
* Represents a Kotlin JVM module file (`.kotlin_module` extension).
|
||||
*/
|
||||
@UnstableMetadataApi
|
||||
class KmModule : KmModuleVisitor() {
|
||||
public class KmModule : KmModuleVisitor() {
|
||||
/**
|
||||
* Table of all single- and multi-file facades declared in some package of this module, where keys are '.'-separated package names.
|
||||
*/
|
||||
val packageParts: MutableMap<String, KmPackageParts> = LinkedHashMap()
|
||||
public val packageParts: MutableMap<String, KmPackageParts> = LinkedHashMap()
|
||||
|
||||
/**
|
||||
* Annotations on the module.
|
||||
@@ -253,7 +253,7 @@ class KmModule : KmModuleVisitor() {
|
||||
* Currently, Kotlin does not provide functionality to specify annotations on modules.
|
||||
*/
|
||||
@Deprecated("This list is always empty and will be removed", level = DeprecationLevel.WARNING)
|
||||
val annotations: MutableList<KmAnnotation> = ArrayList(0)
|
||||
public val annotations: MutableList<KmAnnotation> = ArrayList(0)
|
||||
|
||||
/**
|
||||
* `@OptionalExpectation`-annotated annotation classes declared in this module.
|
||||
@@ -263,7 +263,7 @@ class KmModule : KmModuleVisitor() {
|
||||
* Multiplatform projects are an experimental feature of Kotlin, and their behavior and/or binary format
|
||||
* may change in a subsequent release.
|
||||
*/
|
||||
val optionalAnnotationClasses: MutableList<KmClass> = ArrayList(0)
|
||||
public val optionalAnnotationClasses: MutableList<KmClass> = ArrayList(0)
|
||||
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
override fun visitPackageParts(fqName: String, fileFacades: List<String>, multiFileClassParts: Map<String, String>) {
|
||||
@@ -285,7 +285,7 @@ class KmModule : KmModuleVisitor() {
|
||||
* @param visitor the visitor which will visit data in this module.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(visitor: KmModuleVisitor) {
|
||||
public fun accept(visitor: KmModuleVisitor) {
|
||||
for ((fqName, parts) in packageParts) {
|
||||
visitor.visitPackageParts(fqName, parts.fileFacades, parts.multiFileClassParts)
|
||||
}
|
||||
@@ -304,7 +304,7 @@ class KmModule : KmModuleVisitor() {
|
||||
* and values are names of the corresponding multi-file facades
|
||||
*/
|
||||
@UnstableMetadataApi
|
||||
class KmPackageParts(
|
||||
val fileFacades: MutableList<String>,
|
||||
val multiFileClassParts: MutableMap<String, String>
|
||||
public class KmPackageParts(
|
||||
public val fileFacades: MutableList<String>,
|
||||
public val multiFileClassParts: MutableMap<String, String>
|
||||
)
|
||||
|
||||
@@ -15,4 +15,4 @@ package kotlinx.metadata.jvm
|
||||
level = RequiresOptIn.Level.WARNING
|
||||
)
|
||||
@MustBeDocumented
|
||||
annotation class UnstableMetadataApi
|
||||
public annotation class UnstableMetadataApi
|
||||
|
||||
@@ -16,7 +16,7 @@ package kotlinx.metadata
|
||||
* @property arguments Explicitly specified arguments to the annotation; does not include default values for annotation parameters
|
||||
* (specified in the annotation class declaration)
|
||||
*/
|
||||
class KmAnnotation(val className: ClassName, val arguments: Map<String, KmAnnotationArgument>) {
|
||||
public class KmAnnotation(public val className: ClassName, public val arguments: Map<String, KmAnnotationArgument>) {
|
||||
|
||||
/**
|
||||
* Checks if this KmAnnotation is equal to the [other].
|
||||
@@ -45,7 +45,7 @@ class KmAnnotation(val className: ClassName, val arguments: Map<String, KmAnnota
|
||||
* Represents an argument of the annotation.
|
||||
*/
|
||||
@Suppress("IncorrectFormatting") // one-line KDoc
|
||||
sealed class KmAnnotationArgument {
|
||||
public sealed class KmAnnotationArgument {
|
||||
|
||||
// Avoid triggering Dokka configured for failing on undocumented functions
|
||||
/** @suppress */
|
||||
@@ -59,13 +59,13 @@ sealed class KmAnnotationArgument {
|
||||
*
|
||||
* @param T the type of the value of this argument
|
||||
*/
|
||||
sealed class LiteralValue<out T : Any> : KmAnnotationArgument() {
|
||||
public sealed class LiteralValue<out T : Any> : KmAnnotationArgument() {
|
||||
/**
|
||||
* The value of this argument.
|
||||
*/
|
||||
abstract val value: T
|
||||
public abstract val value: T
|
||||
|
||||
// final modifier prevents generation of data class-like .toString() in inheritors
|
||||
// the final modifier prevents generation of data class-like .toString() in inheritors
|
||||
// Java reflection instead of Kotlin reflection to avoid (probably small) overhead of mapping Kotlin/Java names
|
||||
final override fun toString(): String =
|
||||
"${this::class.java.simpleName}(${if (this is StringValue) "\"$value\"" else value.toString()})"
|
||||
@@ -75,33 +75,33 @@ sealed class KmAnnotationArgument {
|
||||
// to the overridden one. However, it does not do this with classes, and we do not have `@inheritdoc` :(
|
||||
|
||||
/** An annotation argument with a [Byte] type. */
|
||||
data class ByteValue(override val value: Byte) : LiteralValue<Byte>()
|
||||
public data class ByteValue(override val value: Byte) : LiteralValue<Byte>()
|
||||
/** An annotation argument with a [Char] type. */
|
||||
data class CharValue(override val value: Char) : LiteralValue<Char>()
|
||||
public data class CharValue(override val value: Char) : LiteralValue<Char>()
|
||||
/** An annotation argument with a [Short] type. */
|
||||
data class ShortValue(override val value: Short) : LiteralValue<Short>()
|
||||
public data class ShortValue(override val value: Short) : LiteralValue<Short>()
|
||||
/** An annotation argument with a [Int] type. */
|
||||
data class IntValue(override val value: Int) : LiteralValue<Int>()
|
||||
public data class IntValue(override val value: Int) : LiteralValue<Int>()
|
||||
/** An annotation argument with a [Long] type. */
|
||||
data class LongValue(override val value: Long) : LiteralValue<Long>()
|
||||
public data class LongValue(override val value: Long) : LiteralValue<Long>()
|
||||
/** An annotation argument with a [Float] type. */
|
||||
data class FloatValue(override val value: Float) : LiteralValue<Float>()
|
||||
public data class FloatValue(override val value: Float) : LiteralValue<Float>()
|
||||
/** An annotation argument with a [Double] type. */
|
||||
data class DoubleValue(override val value: Double) : LiteralValue<Double>()
|
||||
public data class DoubleValue(override val value: Double) : LiteralValue<Double>()
|
||||
/** An annotation argument with a [Boolean] type. */
|
||||
data class BooleanValue(override val value: Boolean) : LiteralValue<Boolean>()
|
||||
public data class BooleanValue(override val value: Boolean) : LiteralValue<Boolean>()
|
||||
|
||||
/** An annotation argument with a [UByte] type. */
|
||||
data class UByteValue(override val value: UByte) : LiteralValue<UByte>()
|
||||
public data class UByteValue(override val value: UByte) : LiteralValue<UByte>()
|
||||
/** An annotation argument with a [UShort] type. */
|
||||
data class UShortValue(override val value: UShort) : LiteralValue<UShort>()
|
||||
public data class UShortValue(override val value: UShort) : LiteralValue<UShort>()
|
||||
/** An annotation argument with a [UInt] type. */
|
||||
data class UIntValue(override val value: UInt) : LiteralValue<UInt>()
|
||||
public data class UIntValue(override val value: UInt) : LiteralValue<UInt>()
|
||||
/** An annotation argument with a [ULong] type. */
|
||||
data class ULongValue(override val value: ULong) : LiteralValue<ULong>()
|
||||
public data class ULongValue(override val value: ULong) : LiteralValue<ULong>()
|
||||
|
||||
/** An annotation argument with a [String] type. */
|
||||
data class StringValue(override val value: String) : LiteralValue<String>()
|
||||
public data class StringValue(override val value: String) : LiteralValue<String>()
|
||||
|
||||
/**
|
||||
* An annotation argument with an enumeration type.
|
||||
@@ -112,7 +112,7 @@ sealed class KmAnnotationArgument {
|
||||
* @property enumClassName FQ name of the enum class
|
||||
* @property enumEntryName Name of the enum entry
|
||||
*/
|
||||
data class EnumValue(val enumClassName: ClassName, val enumEntryName: String) : KmAnnotationArgument() {
|
||||
public data class EnumValue(val enumClassName: ClassName, val enumEntryName: String) : KmAnnotationArgument() {
|
||||
override fun toString(): String = "EnumValue($enumClassName.$enumEntryName)"
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ sealed class KmAnnotationArgument {
|
||||
*
|
||||
* @property annotation Annotation instance with all its arguments.
|
||||
*/
|
||||
data class AnnotationValue(val annotation: KmAnnotation) : KmAnnotationArgument() {
|
||||
public data class AnnotationValue(val annotation: KmAnnotation) : KmAnnotationArgument() {
|
||||
override fun toString(): String = "AnnotationValue($annotation)"
|
||||
}
|
||||
|
||||
@@ -145,7 +145,7 @@ sealed class KmAnnotationArgument {
|
||||
*
|
||||
* @property elements Values of elements in the array.
|
||||
*/
|
||||
data class ArrayValue(val elements: List<KmAnnotationArgument>) : KmAnnotationArgument() {
|
||||
public data class ArrayValue(val elements: List<KmAnnotationArgument>) : KmAnnotationArgument() {
|
||||
override fun toString(): String = "ArrayValue($elements)"
|
||||
}
|
||||
|
||||
@@ -160,7 +160,7 @@ sealed class KmAnnotationArgument {
|
||||
* @property className FQ name of the referenced class.
|
||||
*/
|
||||
@Suppress("DEPRECATION_ERROR")
|
||||
data class KClassValue @Deprecated(
|
||||
public data class KClassValue @Deprecated(
|
||||
"Use single-argument constructor instead or ArrayKClassValue",
|
||||
level = DeprecationLevel.ERROR
|
||||
) constructor(
|
||||
@@ -170,7 +170,7 @@ sealed class KmAnnotationArgument {
|
||||
level = DeprecationLevel.ERROR
|
||||
) val arrayDimensionCount: Int
|
||||
) : KmAnnotationArgument() {
|
||||
constructor(className: ClassName) : this(className, 0)
|
||||
public constructor(className: ClassName) : this(className, 0)
|
||||
|
||||
init {
|
||||
require(arrayDimensionCount == 0) { "KClassValue must not have array dimensions. For Array<X>::class, use ArrayKClassValue." }
|
||||
@@ -199,7 +199,7 @@ sealed class KmAnnotationArgument {
|
||||
* @property className FQ name of the referenced array element type.
|
||||
* @property arrayDimensionCount Referenced array dimension.
|
||||
*/
|
||||
data class ArrayKClassValue(val className: ClassName, val arrayDimensionCount: Int) : KmAnnotationArgument() {
|
||||
public data class ArrayKClassValue(val className: ClassName, val arrayDimensionCount: Int) : KmAnnotationArgument() {
|
||||
init {
|
||||
require(arrayDimensionCount > 0) { "ArrayKClassValue must have at least one dimension. For regular X::class argument, use KClassValue." }
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.metadata.deserialization.Flags as ProtoFlags
|
||||
*
|
||||
* Only annotations with [AnnotationRetention.BINARY] and [AnnotationRetention.RUNTIME] are written to the class files.
|
||||
*/
|
||||
var KmClass.hasAnnotations by annotationsOn(KmClass::flags)
|
||||
public var KmClass.hasAnnotations: Boolean by annotationsOn(KmClass::flags)
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding constructor has at least one annotation.
|
||||
@@ -38,7 +38,7 @@ var KmClass.hasAnnotations by annotationsOn(KmClass::flags)
|
||||
*
|
||||
* Only annotations with [AnnotationRetention.BINARY] and [AnnotationRetention.RUNTIME] are written to the class files.
|
||||
*/
|
||||
var KmConstructor.hasAnnotations by annotationsOn(KmConstructor::flags)
|
||||
public var KmConstructor.hasAnnotations: Boolean by annotationsOn(KmConstructor::flags)
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding function has at least one annotation.
|
||||
@@ -49,7 +49,7 @@ var KmConstructor.hasAnnotations by annotationsOn(KmConstructor::flags)
|
||||
*
|
||||
* Only annotations with [AnnotationRetention.BINARY] and [AnnotationRetention.RUNTIME] are written to the class files.
|
||||
*/
|
||||
var KmFunction.hasAnnotations by annotationsOn(KmFunction::flags)
|
||||
public var KmFunction.hasAnnotations: Boolean by annotationsOn(KmFunction::flags)
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding property has at least one annotation.
|
||||
@@ -60,7 +60,7 @@ var KmFunction.hasAnnotations by annotationsOn(KmFunction::flags)
|
||||
*
|
||||
* Only annotations with [AnnotationRetention.BINARY] and [AnnotationRetention.RUNTIME] are written to the class files.
|
||||
*/
|
||||
var KmProperty.hasAnnotations by annotationsOn(KmProperty::flags)
|
||||
public var KmProperty.hasAnnotations: Boolean by annotationsOn(KmProperty::flags)
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding property accessor has at least one annotation.
|
||||
@@ -71,7 +71,7 @@ var KmProperty.hasAnnotations by annotationsOn(KmProperty::flags)
|
||||
*
|
||||
* Only annotations with [AnnotationRetention.BINARY] and [AnnotationRetention.RUNTIME] are written to the class files.
|
||||
*/
|
||||
var KmPropertyAccessorAttributes.hasAnnotations by annotationsOn(KmPropertyAccessorAttributes::flags)
|
||||
public var KmPropertyAccessorAttributes.hasAnnotations: Boolean by annotationsOn(KmPropertyAccessorAttributes::flags)
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding value parameter has at least one annotation.
|
||||
@@ -82,7 +82,7 @@ var KmPropertyAccessorAttributes.hasAnnotations by annotationsOn(KmPropertyAcces
|
||||
*
|
||||
* Only annotations with [AnnotationRetention.BINARY] and [AnnotationRetention.RUNTIME] are written to the class files.
|
||||
*/
|
||||
var KmValueParameter.hasAnnotations by annotationsOn(KmValueParameter::flags)
|
||||
public var KmValueParameter.hasAnnotations: Boolean by annotationsOn(KmValueParameter::flags)
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding type alias has at least one annotation.
|
||||
@@ -93,7 +93,7 @@ var KmValueParameter.hasAnnotations by annotationsOn(KmValueParameter::flags)
|
||||
*
|
||||
* Only annotations with [AnnotationRetention.BINARY] and [AnnotationRetention.RUNTIME] are written to the class files and metadata.
|
||||
*/
|
||||
var KmTypeAlias.hasAnnotations by annotationsOn(KmTypeAlias::flags)
|
||||
public var KmTypeAlias.hasAnnotations: Boolean by annotationsOn(KmTypeAlias::flags)
|
||||
|
||||
// KmType and KmTypeParameter have annotations in it, and this flag for them is not written
|
||||
|
||||
@@ -104,7 +104,7 @@ var KmTypeAlias.hasAnnotations by annotationsOn(KmTypeAlias::flags)
|
||||
*
|
||||
* Modality determines when and where it is possible to extend/implement a class/interface.
|
||||
*/
|
||||
var KmClass.modality: Modality by modalityDelegate(KmClass::flags)
|
||||
public var KmClass.modality: Modality by modalityDelegate(KmClass::flags)
|
||||
|
||||
/**
|
||||
* Represents visibility of the corresponding class.
|
||||
@@ -112,12 +112,12 @@ var KmClass.modality: Modality by modalityDelegate(KmClass::flags)
|
||||
* Note that Kotlin metadata has an extended list of visibilities; some of them are non-denotable.
|
||||
* For additional details, see [Visibility].
|
||||
*/
|
||||
var KmClass.visibility: Visibility by visibilityDelegate(KmClass::flags)
|
||||
public var KmClass.visibility: Visibility by visibilityDelegate(KmClass::flags)
|
||||
|
||||
/**
|
||||
* Represents kind of the corresponding class — whether it is a regular class or an interface, companion object, et cetera.
|
||||
*/
|
||||
var KmClass.kind: ClassKind by EnumFlagDelegate(
|
||||
public var KmClass.kind: ClassKind by EnumFlagDelegate(
|
||||
KmClass::flags,
|
||||
ProtoFlags.CLASS_KIND,
|
||||
ClassKind.entries,
|
||||
@@ -127,23 +127,23 @@ var KmClass.kind: ClassKind by EnumFlagDelegate(
|
||||
/**
|
||||
* Indicates that the corresponding class is `inner`.
|
||||
*/
|
||||
var KmClass.isInner: Boolean by classBooleanFlag(Flag(ProtoFlags.IS_INNER))
|
||||
public var KmClass.isInner: Boolean by classBooleanFlag(Flag(ProtoFlags.IS_INNER))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding `class` or `object` is `data`.
|
||||
* Always false for other kinds.
|
||||
*/
|
||||
var KmClass.isData: Boolean by classBooleanFlag(Flag(ProtoFlags.IS_DATA))
|
||||
public var KmClass.isData: Boolean by classBooleanFlag(Flag(ProtoFlags.IS_DATA))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding class is `external`.
|
||||
*/
|
||||
var KmClass.isExternal: Boolean by classBooleanFlag(Flag(ProtoFlags.IS_EXTERNAL_CLASS))
|
||||
public var KmClass.isExternal: Boolean by classBooleanFlag(Flag(ProtoFlags.IS_EXTERNAL_CLASS))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding class is `expect`.
|
||||
*/
|
||||
var KmClass.isExpect: Boolean by classBooleanFlag(Flag(ProtoFlags.IS_EXPECT_CLASS))
|
||||
public var KmClass.isExpect: Boolean by classBooleanFlag(Flag(ProtoFlags.IS_EXPECT_CLASS))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding class is either a pre-Kotlin-1.5 `inline` class, or a 1.5+ `value` class.
|
||||
@@ -151,14 +151,14 @@ var KmClass.isExpect: Boolean by classBooleanFlag(Flag(ProtoFlags.IS_EXPECT_CLAS
|
||||
* Note that it does not imply that the class has [JvmInline] annotation and will be inlined.
|
||||
* Currently, it is impossible to declare a value class without this annotation, but this can be changed in the future.
|
||||
*/
|
||||
var KmClass.isValue: Boolean by classBooleanFlag(Flag(ProtoFlags.IS_VALUE_CLASS))
|
||||
public var KmClass.isValue: Boolean by classBooleanFlag(Flag(ProtoFlags.IS_VALUE_CLASS))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding class is a functional interface, i.e., marked with the keyword `fun`.
|
||||
*
|
||||
* Always `false` if [KmClass.kind] is not an interface.
|
||||
*/
|
||||
var KmClass.isFunInterface: Boolean by classBooleanFlag(Flag(ProtoFlags.IS_FUN_INTERFACE))
|
||||
public var KmClass.isFunInterface: Boolean by classBooleanFlag(Flag(ProtoFlags.IS_FUN_INTERFACE))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding enum class has synthetic ".entries" property in bytecode.
|
||||
@@ -166,7 +166,7 @@ var KmClass.isFunInterface: Boolean by classBooleanFlag(Flag(ProtoFlags.IS_FUN_I
|
||||
* Always `false` if [KmClass.kind] is not an enum.
|
||||
* Enum classes always have enum entries property starting from Kotlin 1.9.0.
|
||||
*/
|
||||
var KmClass.hasEnumEntries: Boolean by classBooleanFlag(Flag(ProtoFlags.HAS_ENUM_ENTRIES))
|
||||
public var KmClass.hasEnumEntries: Boolean by classBooleanFlag(Flag(ProtoFlags.HAS_ENUM_ENTRIES))
|
||||
|
||||
// --- CONSTRUCTOR ---
|
||||
|
||||
@@ -176,12 +176,12 @@ var KmClass.hasEnumEntries: Boolean by classBooleanFlag(Flag(ProtoFlags.HAS_ENUM
|
||||
* Note that Kotlin metadata has an extended list of visibilities; some of them are non-denotable.
|
||||
* For additional details, see [Visibility].
|
||||
*/
|
||||
var KmConstructor.visibility: Visibility by visibilityDelegate(KmConstructor::flags)
|
||||
public var KmConstructor.visibility: Visibility by visibilityDelegate(KmConstructor::flags)
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding constructor is secondary, i.e., declared not in the class header, but in the class body.
|
||||
*/
|
||||
var KmConstructor.isSecondary: Boolean by constructorBooleanFlag(Flag(ProtoFlags.IS_SECONDARY))
|
||||
public var KmConstructor.isSecondary: Boolean by constructorBooleanFlag(Flag(ProtoFlags.IS_SECONDARY))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding constructor has non-stable parameter names, i.e., cannot be called with named arguments.
|
||||
@@ -189,7 +189,7 @@ var KmConstructor.isSecondary: Boolean by constructorBooleanFlag(Flag(ProtoFlags
|
||||
* Currently, this attribute is Kotlin/Native-specific and is never set by Kotlin/JVM compiler.
|
||||
* This may be changed in the future.
|
||||
*/
|
||||
var KmConstructor.hasNonStableParameterNames: Boolean by constructorBooleanFlag(Flag(ProtoFlags.IS_CONSTRUCTOR_WITH_NON_STABLE_PARAMETER_NAMES))
|
||||
public var KmConstructor.hasNonStableParameterNames: Boolean by constructorBooleanFlag(Flag(ProtoFlags.IS_CONSTRUCTOR_WITH_NON_STABLE_PARAMETER_NAMES))
|
||||
|
||||
// --- FUNCTION ---
|
||||
|
||||
@@ -198,7 +198,7 @@ var KmConstructor.hasNonStableParameterNames: Boolean by constructorBooleanFlag(
|
||||
*
|
||||
* Kind indicates the origin of a declaration within a containing class. For details, see [MemberKind].
|
||||
*/
|
||||
var KmFunction.kind: MemberKind by memberKindDelegate(KmFunction::flags)
|
||||
public var KmFunction.kind: MemberKind by memberKindDelegate(KmFunction::flags)
|
||||
|
||||
/**
|
||||
* Represents visibility of the corresponding function.
|
||||
@@ -206,7 +206,7 @@ var KmFunction.kind: MemberKind by memberKindDelegate(KmFunction::flags)
|
||||
* Note that Kotlin metadata has an extended list of visibilities; some of them are non-denotable.
|
||||
* For additional details, see [Visibility].
|
||||
*/
|
||||
var KmFunction.visibility: Visibility by visibilityDelegate(KmFunction::flags)
|
||||
public var KmFunction.visibility: Visibility by visibilityDelegate(KmFunction::flags)
|
||||
|
||||
/**
|
||||
* Represents modality of the corresponding function.
|
||||
@@ -216,42 +216,42 @@ var KmFunction.visibility: Visibility by visibilityDelegate(KmFunction::flags)
|
||||
*
|
||||
* [Modality.SEALED] is not applicable for [KmFunction] and setting it as a value results in undefined behavior.
|
||||
*/
|
||||
var KmFunction.modality: Modality by modalityDelegate(KmFunction::flags)
|
||||
public var KmFunction.modality: Modality by modalityDelegate(KmFunction::flags)
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding function is `operator`.
|
||||
*/
|
||||
var KmFunction.isOperator: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_OPERATOR))
|
||||
public var KmFunction.isOperator: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_OPERATOR))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding function is `infix`.
|
||||
*/
|
||||
var KmFunction.isInfix: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_INFIX))
|
||||
public var KmFunction.isInfix: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_INFIX))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding function is `inline`.
|
||||
*/
|
||||
var KmFunction.isInline: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_INLINE))
|
||||
public var KmFunction.isInline: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_INLINE))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding function is `tailrec`.
|
||||
*/
|
||||
var KmFunction.isTailrec: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_TAILREC))
|
||||
public var KmFunction.isTailrec: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_TAILREC))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding function is `external`.
|
||||
*/
|
||||
var KmFunction.isExternal: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_EXTERNAL_FUNCTION))
|
||||
public var KmFunction.isExternal: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_EXTERNAL_FUNCTION))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding function is `suspend`.
|
||||
*/
|
||||
var KmFunction.isSuspend: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_SUSPEND))
|
||||
public var KmFunction.isSuspend: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_SUSPEND))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding function is `expect`.
|
||||
*/
|
||||
var KmFunction.isExpect: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_EXPECT_FUNCTION))
|
||||
public var KmFunction.isExpect: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_EXPECT_FUNCTION))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding function has non-stable parameter names, i.e., cannot be called with named arguments.
|
||||
@@ -259,7 +259,7 @@ var KmFunction.isExpect: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_EXPEC
|
||||
* Currently, this attribute is Kotlin/Native-specific and is never set by Kotlin/JVM compiler.
|
||||
* This may be changed in the future.
|
||||
*/
|
||||
var KmFunction.hasNonStableParameterNames: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_FUNCTION_WITH_NON_STABLE_PARAMETER_NAMES))
|
||||
public var KmFunction.hasNonStableParameterNames: Boolean by functionBooleanFlag(Flag(ProtoFlags.IS_FUNCTION_WITH_NON_STABLE_PARAMETER_NAMES))
|
||||
|
||||
// --- PROPERTY ---
|
||||
|
||||
@@ -269,7 +269,7 @@ var KmFunction.hasNonStableParameterNames: Boolean by functionBooleanFlag(Flag(P
|
||||
* Note that Kotlin metadata has an extended list of visibilities; some of them are non-denotable.
|
||||
* For additional details, see [Visibility].
|
||||
*/
|
||||
var KmProperty.visibility: Visibility by visibilityDelegate(KmProperty::flags)
|
||||
public var KmProperty.visibility: Visibility by visibilityDelegate(KmProperty::flags)
|
||||
|
||||
/**
|
||||
* Represents modality of the corresponding property.
|
||||
@@ -279,39 +279,39 @@ var KmProperty.visibility: Visibility by visibilityDelegate(KmProperty::flags)
|
||||
*
|
||||
* [Modality.SEALED] is not applicable for [KmProperty] and setting it as a value results in undefined behavior.
|
||||
*/
|
||||
var KmProperty.modality: Modality by modalityDelegate(KmProperty::flags)
|
||||
public var KmProperty.modality: Modality by modalityDelegate(KmProperty::flags)
|
||||
|
||||
/**
|
||||
* Represents kind of the corresponding property.
|
||||
*
|
||||
* Kind indicates the origin of a declaration within a containing class. For details, see [MemberKind].
|
||||
*/
|
||||
var KmProperty.kind: MemberKind by memberKindDelegate(KmProperty::flags)
|
||||
public var KmProperty.kind: MemberKind by memberKindDelegate(KmProperty::flags)
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding property is `var`.
|
||||
*/
|
||||
var KmProperty.isVar: Boolean by propertyBooleanFlag(Flag(ProtoFlags.IS_VAR))
|
||||
public var KmProperty.isVar: Boolean by propertyBooleanFlag(Flag(ProtoFlags.IS_VAR))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding property has a getter.
|
||||
*/
|
||||
var KmProperty.hasGetter: Boolean by propertyBooleanFlag(Flag(ProtoFlags.HAS_GETTER))
|
||||
public var KmProperty.hasGetter: Boolean by propertyBooleanFlag(Flag(ProtoFlags.HAS_GETTER))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding property has a setter.
|
||||
*/
|
||||
var KmProperty.hasSetter: Boolean by propertyBooleanFlag(Flag(ProtoFlags.HAS_SETTER))
|
||||
public var KmProperty.hasSetter: Boolean by propertyBooleanFlag(Flag(ProtoFlags.HAS_SETTER))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding property is `const`.
|
||||
*/
|
||||
var KmProperty.isConst: Boolean by propertyBooleanFlag(Flag(ProtoFlags.IS_CONST))
|
||||
public var KmProperty.isConst: Boolean by propertyBooleanFlag(Flag(ProtoFlags.IS_CONST))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding property is `lateinit`.
|
||||
*/
|
||||
var KmProperty.isLateinit: Boolean by propertyBooleanFlag(Flag(ProtoFlags.IS_LATEINIT))
|
||||
public var KmProperty.isLateinit: Boolean by propertyBooleanFlag(Flag(ProtoFlags.IS_LATEINIT))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding property has a constant value. On JVM, this flag allows an optimization similarly to
|
||||
@@ -334,12 +334,12 @@ var KmProperty.isLateinit: Boolean by propertyBooleanFlag(Flag(ProtoFlags.IS_LAT
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
var KmProperty.hasConstant: Boolean by propertyBooleanFlag(Flag(ProtoFlags.HAS_CONSTANT))
|
||||
public var KmProperty.hasConstant: Boolean by propertyBooleanFlag(Flag(ProtoFlags.HAS_CONSTANT))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding property is `external`.
|
||||
*/
|
||||
var KmProperty.isExternal: Boolean by propertyBooleanFlag(Flag(ProtoFlags.IS_EXTERNAL_PROPERTY))
|
||||
public var KmProperty.isExternal: Boolean by propertyBooleanFlag(Flag(ProtoFlags.IS_EXTERNAL_PROPERTY))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding property is a delegated property.
|
||||
@@ -347,12 +347,12 @@ var KmProperty.isExternal: Boolean by propertyBooleanFlag(Flag(ProtoFlags.IS_EXT
|
||||
* Not to be confused with interface delegation.
|
||||
* If a property was produced by interface delegation, it would have the corresponding [KmProperty.kind].
|
||||
*/
|
||||
var KmProperty.isDelegated: Boolean by propertyBooleanFlag(Flag(ProtoFlags.IS_DELEGATED))
|
||||
public var KmProperty.isDelegated: Boolean by propertyBooleanFlag(Flag(ProtoFlags.IS_DELEGATED))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding property is `expect`.
|
||||
*/
|
||||
var KmProperty.isExpect: Boolean by propertyBooleanFlag(Flag(ProtoFlags.IS_EXPECT_PROPERTY))
|
||||
public var KmProperty.isExpect: Boolean by propertyBooleanFlag(Flag(ProtoFlags.IS_EXPECT_PROPERTY))
|
||||
|
||||
// --- PROPERTY ACCESSOR ---
|
||||
|
||||
@@ -362,7 +362,7 @@ var KmProperty.isExpect: Boolean by propertyBooleanFlag(Flag(ProtoFlags.IS_EXPEC
|
||||
* Note that Kotlin metadata has an extended list of visibilities; some of them are non-denotable.
|
||||
* For additional details, see [Visibility].
|
||||
*/
|
||||
var KmPropertyAccessorAttributes.visibility: Visibility by visibilityDelegate(KmPropertyAccessorAttributes::flags)
|
||||
public var KmPropertyAccessorAttributes.visibility: Visibility by visibilityDelegate(KmPropertyAccessorAttributes::flags)
|
||||
|
||||
/**
|
||||
* Represents modality of the corresponding property accessor.
|
||||
@@ -372,40 +372,40 @@ var KmPropertyAccessorAttributes.visibility: Visibility by visibilityDelegate(Km
|
||||
*
|
||||
* [Modality.SEALED] is not applicable for [KmPropertyAccessorAttributes] and setting it as a value results in undefined behavior.
|
||||
*/
|
||||
var KmPropertyAccessorAttributes.modality: Modality by modalityDelegate(KmPropertyAccessorAttributes::flags)
|
||||
public var KmPropertyAccessorAttributes.modality: Modality by modalityDelegate(KmPropertyAccessorAttributes::flags)
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding property accessor is not default, i.e. it has a body and/or annotations in the source code,
|
||||
* or the property is delegated.
|
||||
*/
|
||||
var KmPropertyAccessorAttributes.isNotDefault: Boolean by propertyAccessorBooleanFlag(Flag(ProtoFlags.IS_NOT_DEFAULT))
|
||||
public var KmPropertyAccessorAttributes.isNotDefault: Boolean by propertyAccessorBooleanFlag(Flag(ProtoFlags.IS_NOT_DEFAULT))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding property accessor is `external`.
|
||||
*/
|
||||
var KmPropertyAccessorAttributes.isExternal: Boolean by propertyAccessorBooleanFlag(Flag(ProtoFlags.IS_EXTERNAL_ACCESSOR))
|
||||
public var KmPropertyAccessorAttributes.isExternal: Boolean by propertyAccessorBooleanFlag(Flag(ProtoFlags.IS_EXTERNAL_ACCESSOR))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding property accessor is `inline`.
|
||||
*/
|
||||
var KmPropertyAccessorAttributes.isInline: Boolean by propertyAccessorBooleanFlag(Flag(ProtoFlags.IS_INLINE_ACCESSOR))
|
||||
public var KmPropertyAccessorAttributes.isInline: Boolean by propertyAccessorBooleanFlag(Flag(ProtoFlags.IS_INLINE_ACCESSOR))
|
||||
|
||||
// --- TYPE & TYPE_PARAM
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding type is marked as nullable, i.e. has a question mark at the end of its notation.
|
||||
*/
|
||||
var KmType.isNullable: Boolean by typeBooleanFlag(FlagImpl(0, 1, 1))
|
||||
public var KmType.isNullable: Boolean by typeBooleanFlag(FlagImpl(0, 1, 1))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding type is `suspend`.
|
||||
*/
|
||||
var KmType.isSuspend: Boolean by typeBooleanFlag(FlagImpl(ProtoFlags.SUSPEND_TYPE.offset + 1, ProtoFlags.SUSPEND_TYPE.bitWidth, 1))
|
||||
public var KmType.isSuspend: Boolean by typeBooleanFlag(FlagImpl(ProtoFlags.SUSPEND_TYPE.offset + 1, ProtoFlags.SUSPEND_TYPE.bitWidth, 1))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding type is [definitely non-null](https://kotlinlang.org/docs/whatsnew17.html#stable-definitely-non-nullable-types).
|
||||
*/
|
||||
var KmType.isDefinitelyNonNull: Boolean by typeBooleanFlag(
|
||||
public var KmType.isDefinitelyNonNull: Boolean by typeBooleanFlag(
|
||||
FlagImpl(
|
||||
ProtoFlags.DEFINITELY_NOT_NULL_TYPE.offset + 1,
|
||||
ProtoFlags.DEFINITELY_NOT_NULL_TYPE.bitWidth,
|
||||
@@ -417,7 +417,7 @@ var KmType.isDefinitelyNonNull: Boolean by typeBooleanFlag(
|
||||
/**
|
||||
* Indicates that the corresponding type parameter is `reified`.
|
||||
*/
|
||||
var KmTypeParameter.isReified: Boolean by BooleanFlagDelegate(KmTypeParameter::flags, FlagImpl(0, 1, 1))
|
||||
public var KmTypeParameter.isReified: Boolean by BooleanFlagDelegate(KmTypeParameter::flags, FlagImpl(0, 1, 1))
|
||||
|
||||
// --- TYPE ALIAS ---
|
||||
|
||||
@@ -427,7 +427,7 @@ var KmTypeParameter.isReified: Boolean by BooleanFlagDelegate(KmTypeParameter::f
|
||||
* Note that Kotlin metadata has an extended list of visibilities; some of them are non-denotable.
|
||||
* For additional details, see [Visibility].
|
||||
*/
|
||||
var KmTypeAlias.visibility: Visibility by visibilityDelegate(KmTypeAlias::flags)
|
||||
public var KmTypeAlias.visibility: Visibility by visibilityDelegate(KmTypeAlias::flags)
|
||||
|
||||
|
||||
// --- VALUE PARAMETER ---
|
||||
@@ -439,17 +439,17 @@ var KmTypeAlias.visibility: Visibility by visibilityDelegate(KmTypeAlias::flags)
|
||||
* parameter in the derived method does _not_ declare the default value, but the parameter is
|
||||
* still optional at the call site because the default value from the base method is used.
|
||||
*/
|
||||
var KmValueParameter.declaresDefaultValue: Boolean by valueParameterBooleanFlag(Flag(ProtoFlags.DECLARES_DEFAULT_VALUE))
|
||||
public var KmValueParameter.declaresDefaultValue: Boolean by valueParameterBooleanFlag(Flag(ProtoFlags.DECLARES_DEFAULT_VALUE))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding value parameter is `crossinline`.
|
||||
*/
|
||||
var KmValueParameter.isCrossinline: Boolean by valueParameterBooleanFlag(Flag(ProtoFlags.IS_CROSSINLINE))
|
||||
public var KmValueParameter.isCrossinline: Boolean by valueParameterBooleanFlag(Flag(ProtoFlags.IS_CROSSINLINE))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding value parameter is `noinline`.
|
||||
*/
|
||||
var KmValueParameter.isNoinline: Boolean by valueParameterBooleanFlag(Flag(ProtoFlags.IS_NOINLINE))
|
||||
public var KmValueParameter.isNoinline: Boolean by valueParameterBooleanFlag(Flag(ProtoFlags.IS_NOINLINE))
|
||||
|
||||
// --- EFFECT EXPRESSION ---
|
||||
|
||||
@@ -460,7 +460,7 @@ var KmValueParameter.isNoinline: Boolean by valueParameterBooleanFlag(Flag(Proto
|
||||
* may change in a subsequent release.
|
||||
*/
|
||||
@ExperimentalContracts
|
||||
var KmEffectExpression.isNegated: Boolean by BooleanFlagDelegate(KmEffectExpression::flags, Flag(ProtoFlags.IS_NEGATED))
|
||||
public var KmEffectExpression.isNegated: Boolean by BooleanFlagDelegate(KmEffectExpression::flags, Flag(ProtoFlags.IS_NEGATED))
|
||||
|
||||
/**
|
||||
* Indicates that the corresponding effect expression checks whether a value of some variable is `null`.
|
||||
@@ -469,4 +469,4 @@ var KmEffectExpression.isNegated: Boolean by BooleanFlagDelegate(KmEffectExpress
|
||||
* may change in a subsequent release.
|
||||
*/
|
||||
@ExperimentalContracts
|
||||
var KmEffectExpression.isNullCheckPredicate: Boolean by BooleanFlagDelegate(KmEffectExpression::flags, Flag(ProtoFlags.IS_NULL_CHECK_PREDICATE))
|
||||
public var KmEffectExpression.isNullCheckPredicate: Boolean by BooleanFlagDelegate(KmEffectExpression::flags, Flag(ProtoFlags.IS_NULL_CHECK_PREDICATE))
|
||||
|
||||
@@ -16,14 +16,14 @@ package kotlinx.metadata
|
||||
* If this name starts with '.', it represents a local class or an anonymous object. This is used by the Kotlin compiler
|
||||
* to prevent lookup of this name in the resolution.
|
||||
*/
|
||||
typealias ClassName = String // Not a value class because of Java usages
|
||||
public typealias ClassName = String // Not a value class because of Java usages
|
||||
|
||||
/**
|
||||
* Checks whether a class name [this] represents a local class or an anonymous object.
|
||||
*
|
||||
* A class name represents a local class or an anonymous object if it starts with '.' (dot).
|
||||
*/
|
||||
fun ClassName.isLocalClassName(): Boolean = this.startsWith(".")
|
||||
public fun ClassName.isLocalClassName(): Boolean = this.startsWith(".")
|
||||
|
||||
// Deprecated since 0.6.1, should be error in 0.7.0+
|
||||
@Deprecated(
|
||||
@@ -31,4 +31,4 @@ fun ClassName.isLocalClassName(): Boolean = this.startsWith(".")
|
||||
ReplaceWith("isLocalClassName()"),
|
||||
level = DeprecationLevel.WARNING
|
||||
)
|
||||
val ClassName.isLocal: Boolean get() = isLocalClassName()
|
||||
public val ClassName.isLocal: Boolean get() = isLocalClassName()
|
||||
|
||||
@@ -30,7 +30,7 @@ import kotlin.reflect.KClass
|
||||
* In case an extension visitor of an unrelated type is returned, the code using the visitor API must ignore that visitor.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
class KmExtensionType(private val klass: KClass<out KmExtensionVisitor>) {
|
||||
public class KmExtensionType(private val klass: KClass<out KmExtensionVisitor>) {
|
||||
override fun equals(other: Any?): Boolean =
|
||||
other is KmExtensionType && klass == other.klass
|
||||
|
||||
@@ -45,69 +45,69 @@ class KmExtensionType(private val klass: KClass<out KmExtensionVisitor>) {
|
||||
* A base interface for all extension visitors.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
interface KmExtensionVisitor {
|
||||
public interface KmExtensionVisitor {
|
||||
/**
|
||||
* Type of this extension visitor.
|
||||
*/
|
||||
val type: KmExtensionType
|
||||
public val type: KmExtensionType
|
||||
}
|
||||
|
||||
/**
|
||||
* A visitor to visit platform-specific extensions for a declaration container, such as a class or a package fragment.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
interface KmDeclarationContainerExtensionVisitor : KmExtensionVisitor
|
||||
public interface KmDeclarationContainerExtensionVisitor : KmExtensionVisitor
|
||||
|
||||
/**
|
||||
* A visitor to visit platform-specific extensions for a class.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
interface KmClassExtensionVisitor : KmDeclarationContainerExtensionVisitor
|
||||
public interface KmClassExtensionVisitor : KmDeclarationContainerExtensionVisitor
|
||||
|
||||
/**
|
||||
* A visitor to visit platform-specific extensions for a package fragment.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
interface KmPackageExtensionVisitor : KmDeclarationContainerExtensionVisitor
|
||||
public interface KmPackageExtensionVisitor : KmDeclarationContainerExtensionVisitor
|
||||
|
||||
/**
|
||||
* A visitor to visit platform-specific extensions for a function.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
interface KmFunctionExtensionVisitor : KmExtensionVisitor
|
||||
public interface KmFunctionExtensionVisitor : KmExtensionVisitor
|
||||
|
||||
/**
|
||||
* A visitor to visit platform-specific extensions for a property.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
interface KmPropertyExtensionVisitor : KmExtensionVisitor
|
||||
public interface KmPropertyExtensionVisitor : KmExtensionVisitor
|
||||
|
||||
/**
|
||||
* A visitor to visit platform-specific extensions for a constructor.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
interface KmConstructorExtensionVisitor : KmExtensionVisitor
|
||||
public interface KmConstructorExtensionVisitor : KmExtensionVisitor
|
||||
|
||||
/**
|
||||
* A visitor to visit platform-specific extensions for a type parameter.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
interface KmTypeParameterExtensionVisitor : KmExtensionVisitor
|
||||
public interface KmTypeParameterExtensionVisitor : KmExtensionVisitor
|
||||
|
||||
/**
|
||||
* A visitor to visit platform-specific extensions for a type.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
interface KmTypeExtensionVisitor : KmExtensionVisitor
|
||||
public interface KmTypeExtensionVisitor : KmExtensionVisitor
|
||||
|
||||
/**
|
||||
* A visitor to visit platform-specific extensions for a type alias.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
interface KmTypeAliasExtensionVisitor : KmExtensionVisitor
|
||||
public interface KmTypeAliasExtensionVisitor : KmExtensionVisitor
|
||||
|
||||
/**
|
||||
* A visitor to visit platform-specific extensions for a value parameter.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
interface KmValueParameterExtensionVisitor : KmExtensionVisitor
|
||||
public interface KmValueParameterExtensionVisitor : KmExtensionVisitor
|
||||
|
||||
@@ -30,8 +30,8 @@ private const val prefix = "Flag API is deprecated. Please use"
|
||||
*
|
||||
* v.visitFunction(flagsOf(Flag.Function.IS_DECLARATION, Flag.Function.IS_INLINE), "foo")
|
||||
*
|
||||
* Flag common to multiple kinds of Kotlin declarations ("common flags") are declared in [Flag.Common].
|
||||
* Flag applicable to specific kinds of declarations ("declaration-specific flags") are declared in nested objects of the [Flag] object.
|
||||
* Flags common to multiple kinds of Kotlin declarations ("common flags") are declared in [Flag.Common].
|
||||
* Flags applicable to specific kinds of declarations ("declaration-specific flags") are declared in nested objects of the [Flag] object.
|
||||
*
|
||||
* Some flags are mutually exclusive, i.e. there are "flag groups" such that no more than one flag from each group can be present
|
||||
* in the same bitmask. Among common flags, there are the following flag groups:
|
||||
@@ -45,16 +45,16 @@ private const val prefix = "Flag API is deprecated. Please use"
|
||||
*/
|
||||
@Deprecated("$prefix corresponding extensions on Km nodes, such as KmClass.visibility")
|
||||
@Suppress("DEPRECATION")
|
||||
abstract class Flag internal constructor() {
|
||||
public abstract class Flag internal constructor() {
|
||||
|
||||
/**
|
||||
* Checks whether the flag is present in the given bitmask.
|
||||
*/
|
||||
abstract operator fun invoke(flags: Int): Boolean
|
||||
public abstract operator fun invoke(flags: Int): Boolean
|
||||
|
||||
/** @suppress deprecated */
|
||||
@Deprecated("$prefix corresponding extensions on Km nodes, such as KmClass.visibility")
|
||||
companion object Common {
|
||||
public companion object Common {
|
||||
/**
|
||||
* Signifies that the corresponding declaration has at least one annotation.
|
||||
*
|
||||
@@ -64,7 +64,7 @@ abstract class Flag internal constructor() {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix corresponding extension on a node, e.g. KmClass.hasAnnotations")
|
||||
val HAS_ANNOTATIONS: Flag = FlagImpl(F.HAS_ANNOTATIONS)
|
||||
public val HAS_ANNOTATIONS: Flag = FlagImpl(F.HAS_ANNOTATIONS)
|
||||
|
||||
|
||||
/**
|
||||
@@ -72,28 +72,28 @@ abstract class Flag internal constructor() {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix visibility extension on a node, e.g. KmClass.visibility")
|
||||
val IS_INTERNAL: Flag = FlagImpl(F.VISIBILITY, ProtoVisibility.INTERNAL_VALUE)
|
||||
public val IS_INTERNAL: Flag = FlagImpl(F.VISIBILITY, ProtoVisibility.INTERNAL_VALUE)
|
||||
|
||||
/**
|
||||
* A visibility flag, signifying that the corresponding declaration is `private`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix visibility extension on a node, e.g. KmClass.visibility")
|
||||
val IS_PRIVATE: Flag = FlagImpl(F.VISIBILITY, ProtoVisibility.PRIVATE_VALUE)
|
||||
public val IS_PRIVATE: Flag = FlagImpl(F.VISIBILITY, ProtoVisibility.PRIVATE_VALUE)
|
||||
|
||||
/**
|
||||
* A visibility flag, signifying that the corresponding declaration is `protected`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix visibility extension on a node, e.g. KmClass.visibility")
|
||||
val IS_PROTECTED: Flag = FlagImpl(F.VISIBILITY, ProtoVisibility.PROTECTED_VALUE)
|
||||
public val IS_PROTECTED: Flag = FlagImpl(F.VISIBILITY, ProtoVisibility.PROTECTED_VALUE)
|
||||
|
||||
/**
|
||||
* A visibility flag, signifying that the corresponding declaration is `public`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix visibility extension on a node, e.g. KmClass.visibility")
|
||||
val IS_PUBLIC: Flag = FlagImpl(F.VISIBILITY, ProtoVisibility.PUBLIC_VALUE)
|
||||
public val IS_PUBLIC: Flag = FlagImpl(F.VISIBILITY, ProtoVisibility.PUBLIC_VALUE)
|
||||
|
||||
/**
|
||||
* A visibility flag, signifying that the corresponding declaration is "private-to-this", which is a non-denotable visibility of
|
||||
@@ -101,7 +101,7 @@ abstract class Flag internal constructor() {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix visibility extension on a node, e.g. KmClass.visibility")
|
||||
val IS_PRIVATE_TO_THIS: Flag = FlagImpl(F.VISIBILITY, ProtoVisibility.PRIVATE_TO_THIS_VALUE)
|
||||
public val IS_PRIVATE_TO_THIS: Flag = FlagImpl(F.VISIBILITY, ProtoVisibility.PRIVATE_TO_THIS_VALUE)
|
||||
|
||||
/**
|
||||
* A visibility flag, signifying that the corresponding declaration is local, i.e. declared inside a code block
|
||||
@@ -109,7 +109,7 @@ abstract class Flag internal constructor() {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix visibility extension on a node, e.g. KmClass.visibility")
|
||||
val IS_LOCAL: Flag = FlagImpl(F.VISIBILITY, ProtoVisibility.LOCAL_VALUE)
|
||||
public val IS_LOCAL: Flag = FlagImpl(F.VISIBILITY, ProtoVisibility.LOCAL_VALUE)
|
||||
|
||||
|
||||
/**
|
||||
@@ -117,28 +117,28 @@ abstract class Flag internal constructor() {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix modality extension on a node, e.g. KmClass.modality or KmFunction.modality")
|
||||
val IS_FINAL: Flag = FlagImpl(F.MODALITY, ProtoModality.FINAL_VALUE)
|
||||
public val IS_FINAL: Flag = FlagImpl(F.MODALITY, ProtoModality.FINAL_VALUE)
|
||||
|
||||
/**
|
||||
* A modality flag, signifying that the corresponding declaration is `open`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix modality extension on a node, e.g. KmClass.modality or KmFunction.modality")
|
||||
val IS_OPEN: Flag = FlagImpl(F.MODALITY, ProtoModality.OPEN_VALUE)
|
||||
public val IS_OPEN: Flag = FlagImpl(F.MODALITY, ProtoModality.OPEN_VALUE)
|
||||
|
||||
/**
|
||||
* A modality flag, signifying that the corresponding declaration is `abstract`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix modality extension on a node, e.g. KmClass.modality or KmFunction.modality")
|
||||
val IS_ABSTRACT: Flag = FlagImpl(F.MODALITY, ProtoModality.ABSTRACT_VALUE)
|
||||
public val IS_ABSTRACT: Flag = FlagImpl(F.MODALITY, ProtoModality.ABSTRACT_VALUE)
|
||||
|
||||
/**
|
||||
* A modality flag, signifying that the corresponding declaration is `sealed`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix modality extension on a node, e.g. KmClass.modality")
|
||||
val IS_SEALED: Flag = FlagImpl(F.MODALITY, ProtoModality.SEALED_VALUE)
|
||||
public val IS_SEALED: Flag = FlagImpl(F.MODALITY, ProtoModality.SEALED_VALUE)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -149,55 +149,55 @@ abstract class Flag internal constructor() {
|
||||
* [IS_COMPANION_OBJECT]
|
||||
*/
|
||||
@Deprecated("$prefix corresponding extension on a KmClass")
|
||||
object Class {
|
||||
public object Class {
|
||||
/**
|
||||
* A class kind flag, signifying that the corresponding class is a usual `class`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmClass.kind")
|
||||
val IS_CLASS: Flag = FlagImpl(F.CLASS_KIND, ClassKind.CLASS_VALUE)
|
||||
public val IS_CLASS: Flag = FlagImpl(F.CLASS_KIND, ClassKind.CLASS_VALUE)
|
||||
|
||||
/**
|
||||
* A class kind flag, signifying that the corresponding class is an `interface`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmClass.kind")
|
||||
val IS_INTERFACE: Flag = FlagImpl(F.CLASS_KIND, ClassKind.INTERFACE_VALUE)
|
||||
public val IS_INTERFACE: Flag = FlagImpl(F.CLASS_KIND, ClassKind.INTERFACE_VALUE)
|
||||
|
||||
/**
|
||||
* A class kind flag, signifying that the corresponding class is an `enum class`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmClass.kind")
|
||||
val IS_ENUM_CLASS: Flag = FlagImpl(F.CLASS_KIND, ClassKind.ENUM_CLASS_VALUE)
|
||||
public val IS_ENUM_CLASS: Flag = FlagImpl(F.CLASS_KIND, ClassKind.ENUM_CLASS_VALUE)
|
||||
|
||||
/**
|
||||
* A class kind flag, signifying that the corresponding class is an enum entry.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmClass.kind")
|
||||
val IS_ENUM_ENTRY: Flag = FlagImpl(F.CLASS_KIND, ClassKind.ENUM_ENTRY_VALUE)
|
||||
public val IS_ENUM_ENTRY: Flag = FlagImpl(F.CLASS_KIND, ClassKind.ENUM_ENTRY_VALUE)
|
||||
|
||||
/**
|
||||
* A class kind flag, signifying that the corresponding class is an `annotation class`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmClass.kind")
|
||||
val IS_ANNOTATION_CLASS: Flag = FlagImpl(F.CLASS_KIND, ClassKind.ANNOTATION_CLASS_VALUE)
|
||||
public val IS_ANNOTATION_CLASS: Flag = FlagImpl(F.CLASS_KIND, ClassKind.ANNOTATION_CLASS_VALUE)
|
||||
|
||||
/**
|
||||
* A class kind flag, signifying that the corresponding class is a non-companion `object`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmClass.kind")
|
||||
val IS_OBJECT: Flag = FlagImpl(F.CLASS_KIND, ClassKind.OBJECT_VALUE)
|
||||
public val IS_OBJECT: Flag = FlagImpl(F.CLASS_KIND, ClassKind.OBJECT_VALUE)
|
||||
|
||||
/**
|
||||
* A class kind flag, signifying that the corresponding class is a `companion object`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmClass.kind")
|
||||
val IS_COMPANION_OBJECT: Flag = FlagImpl(F.CLASS_KIND, ClassKind.COMPANION_OBJECT_VALUE)
|
||||
public val IS_COMPANION_OBJECT: Flag = FlagImpl(F.CLASS_KIND, ClassKind.COMPANION_OBJECT_VALUE)
|
||||
|
||||
|
||||
/**
|
||||
@@ -205,28 +205,28 @@ abstract class Flag internal constructor() {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmClass.isInner")
|
||||
val IS_INNER: Flag = FlagImpl(F.IS_INNER)
|
||||
public val IS_INNER: Flag = FlagImpl(F.IS_INNER)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding class is `data`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmClass.isData")
|
||||
val IS_DATA: Flag = FlagImpl(F.IS_DATA)
|
||||
public val IS_DATA: Flag = FlagImpl(F.IS_DATA)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding class is `external`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmClass.isExternal")
|
||||
val IS_EXTERNAL: Flag = FlagImpl(F.IS_EXTERNAL_CLASS)
|
||||
public val IS_EXTERNAL: Flag = FlagImpl(F.IS_EXTERNAL_CLASS)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding class is `expect`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmClass.isExpect")
|
||||
val IS_EXPECT: Flag = FlagImpl(F.IS_EXPECT_CLASS)
|
||||
public val IS_EXPECT: Flag = FlagImpl(F.IS_EXPECT_CLASS)
|
||||
|
||||
@JvmField
|
||||
@Deprecated(
|
||||
@@ -234,21 +234,21 @@ abstract class Flag internal constructor() {
|
||||
level = DeprecationLevel.ERROR
|
||||
)
|
||||
@Suppress("unused")
|
||||
val IS_INLINE: Flag = FlagImpl(F.IS_VALUE_CLASS)
|
||||
public val IS_INLINE: Flag = FlagImpl(F.IS_VALUE_CLASS)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding class is either a pre-Kotlin-1.5 `inline` class, or a 1.5+ `value` class.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmClass.isValue")
|
||||
val IS_VALUE: Flag = FlagImpl(F.IS_VALUE_CLASS)
|
||||
public val IS_VALUE: Flag = FlagImpl(F.IS_VALUE_CLASS)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding class is a functional interface, i.e. marked with the keyword `fun`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmClass.isFun")
|
||||
val IS_FUN: Flag = FlagImpl(F.IS_FUN_INTERFACE)
|
||||
public val IS_FUN: Flag = FlagImpl(F.IS_FUN_INTERFACE)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding enum class has ".entries" property in bytecode.
|
||||
@@ -256,31 +256,31 @@ abstract class Flag internal constructor() {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmClass.hasEnumEntries")
|
||||
val HAS_ENUM_ENTRIES: Flag = FlagImpl(F.HAS_ENUM_ENTRIES)
|
||||
public val HAS_ENUM_ENTRIES: Flag = FlagImpl(F.HAS_ENUM_ENTRIES)
|
||||
}
|
||||
|
||||
/**
|
||||
* A container of flags applicable to Kotlin constructors.
|
||||
*/
|
||||
object Constructor {
|
||||
public object Constructor {
|
||||
@JvmField
|
||||
@Deprecated("Use IS_SECONDARY which holds inverted value instead.", level = DeprecationLevel.ERROR)
|
||||
@Suppress("unused")
|
||||
val IS_PRIMARY: Flag = FlagImpl(F.IS_SECONDARY, 0)
|
||||
public val IS_PRIMARY: Flag = FlagImpl(F.IS_SECONDARY, 0)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding constructor is secondary, i.e. declared not in the class header, but in the class body.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmConstructor.isSecondary")
|
||||
val IS_SECONDARY: Flag = FlagImpl(F.IS_SECONDARY)
|
||||
public val IS_SECONDARY: Flag = FlagImpl(F.IS_SECONDARY)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding constructor has non-stable parameter names, i.e. cannot be called with named arguments.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmConstructor.hasNonStableParameterNames")
|
||||
val HAS_NON_STABLE_PARAMETER_NAMES: Flag = FlagImpl(F.IS_CONSTRUCTOR_WITH_NON_STABLE_PARAMETER_NAMES)
|
||||
public val HAS_NON_STABLE_PARAMETER_NAMES: Flag = FlagImpl(F.IS_CONSTRUCTOR_WITH_NON_STABLE_PARAMETER_NAMES)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -289,13 +289,13 @@ abstract class Flag internal constructor() {
|
||||
* In addition to the common flag groups, the following flag groups exist for function flags:
|
||||
* * member kind flags: [IS_DECLARATION], [IS_FAKE_OVERRIDE], [IS_DELEGATION], [IS_SYNTHESIZED]
|
||||
*/
|
||||
object Function {
|
||||
public object Function {
|
||||
/**
|
||||
* A member kind flag, signifying that the corresponding function is explicitly declared in the containing class.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmFunction.kind")
|
||||
val IS_DECLARATION: Flag = FlagImpl(F.MEMBER_KIND, ProtoMemberKind.DECLARATION_VALUE)
|
||||
public val IS_DECLARATION: Flag = FlagImpl(F.MEMBER_KIND, ProtoMemberKind.DECLARATION_VALUE)
|
||||
|
||||
/**
|
||||
* A member kind flag, signifying that the corresponding function exists in the containing class because a function with a suitable
|
||||
@@ -303,7 +303,7 @@ abstract class Flag internal constructor() {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmFunction.kind")
|
||||
val IS_FAKE_OVERRIDE: Flag = FlagImpl(F.MEMBER_KIND, ProtoMemberKind.FAKE_OVERRIDE_VALUE)
|
||||
public val IS_FAKE_OVERRIDE: Flag = FlagImpl(F.MEMBER_KIND, ProtoMemberKind.FAKE_OVERRIDE_VALUE)
|
||||
|
||||
/**
|
||||
* A member kind flag, signifying that the corresponding function exists in the containing class because it has been produced
|
||||
@@ -311,7 +311,7 @@ abstract class Flag internal constructor() {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmFunction.kind")
|
||||
val IS_DELEGATION: Flag = FlagImpl(F.MEMBER_KIND, ProtoMemberKind.DELEGATION_VALUE)
|
||||
public val IS_DELEGATION: Flag = FlagImpl(F.MEMBER_KIND, ProtoMemberKind.DELEGATION_VALUE)
|
||||
|
||||
/**
|
||||
* A member kind flag, signifying that the corresponding function exists in the containing class because it has been synthesized
|
||||
@@ -319,63 +319,63 @@ abstract class Flag internal constructor() {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmFunction.kind")
|
||||
val IS_SYNTHESIZED: Flag = FlagImpl(F.MEMBER_KIND, ProtoMemberKind.SYNTHESIZED_VALUE)
|
||||
public val IS_SYNTHESIZED: Flag = FlagImpl(F.MEMBER_KIND, ProtoMemberKind.SYNTHESIZED_VALUE)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding function is `operator`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmFunction.isOperator")
|
||||
val IS_OPERATOR: Flag = FlagImpl(F.IS_OPERATOR)
|
||||
public val IS_OPERATOR: Flag = FlagImpl(F.IS_OPERATOR)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding function is `infix`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmFunction.isInfix")
|
||||
val IS_INFIX: Flag = FlagImpl(F.IS_INFIX)
|
||||
public val IS_INFIX: Flag = FlagImpl(F.IS_INFIX)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding function is `inline`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmFunction.isInline")
|
||||
val IS_INLINE: Flag = FlagImpl(F.IS_INLINE)
|
||||
public val IS_INLINE: Flag = FlagImpl(F.IS_INLINE)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding function is `tailrec`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmFunction.isTailrec")
|
||||
val IS_TAILREC: Flag = FlagImpl(F.IS_TAILREC)
|
||||
public val IS_TAILREC: Flag = FlagImpl(F.IS_TAILREC)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding function is `external`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmFunction.isExternalFunction")
|
||||
val IS_EXTERNAL: Flag = FlagImpl(F.IS_EXTERNAL_FUNCTION)
|
||||
public val IS_EXTERNAL: Flag = FlagImpl(F.IS_EXTERNAL_FUNCTION)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding function is `suspend`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmFunction.isSuspend")
|
||||
val IS_SUSPEND: Flag = FlagImpl(F.IS_SUSPEND)
|
||||
public val IS_SUSPEND: Flag = FlagImpl(F.IS_SUSPEND)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding function is `expect`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmFunction.isExpectFunction")
|
||||
val IS_EXPECT: Flag = FlagImpl(F.IS_EXPECT_FUNCTION)
|
||||
public val IS_EXPECT: Flag = FlagImpl(F.IS_EXPECT_FUNCTION)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding function has non-stable parameter names, i.e. cannot be called with named arguments.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmFunction.isFunctionWithNonStableParameterNames")
|
||||
val HAS_NON_STABLE_PARAMETER_NAMES: Flag = FlagImpl(F.IS_FUNCTION_WITH_NON_STABLE_PARAMETER_NAMES)
|
||||
public val HAS_NON_STABLE_PARAMETER_NAMES: Flag = FlagImpl(F.IS_FUNCTION_WITH_NON_STABLE_PARAMETER_NAMES)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -384,13 +384,13 @@ abstract class Flag internal constructor() {
|
||||
* In addition to the common flag groups, the following flag groups exist for property flags:
|
||||
* * member kind flags: [IS_DECLARATION], [IS_FAKE_OVERRIDE], [IS_DELEGATION], [IS_SYNTHESIZED]
|
||||
*/
|
||||
object Property {
|
||||
public object Property {
|
||||
/**
|
||||
* A member kind flag, signifying that the corresponding property is explicitly declared in the containing class.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmProperty.kind")
|
||||
val IS_DECLARATION: Flag = FlagImpl(F.MEMBER_KIND, ProtoMemberKind.DECLARATION_VALUE)
|
||||
public val IS_DECLARATION: Flag = FlagImpl(F.MEMBER_KIND, ProtoMemberKind.DECLARATION_VALUE)
|
||||
|
||||
/**
|
||||
* A member kind flag, signifying that the corresponding property exists in the containing class because a property with a suitable
|
||||
@@ -398,7 +398,7 @@ abstract class Flag internal constructor() {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmProperty.kind")
|
||||
val IS_FAKE_OVERRIDE: Flag = FlagImpl(F.MEMBER_KIND, ProtoMemberKind.FAKE_OVERRIDE_VALUE)
|
||||
public val IS_FAKE_OVERRIDE: Flag = FlagImpl(F.MEMBER_KIND, ProtoMemberKind.FAKE_OVERRIDE_VALUE)
|
||||
|
||||
/**
|
||||
* A member kind flag, signifying that the corresponding property exists in the containing class because it has been produced
|
||||
@@ -406,7 +406,7 @@ abstract class Flag internal constructor() {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmProperty.kind")
|
||||
val IS_DELEGATION: Flag = FlagImpl(F.MEMBER_KIND, ProtoMemberKind.DELEGATION_VALUE)
|
||||
public val IS_DELEGATION: Flag = FlagImpl(F.MEMBER_KIND, ProtoMemberKind.DELEGATION_VALUE)
|
||||
|
||||
/**
|
||||
* A member kind flag, signifying that the corresponding property exists in the containing class because it has been synthesized
|
||||
@@ -414,42 +414,42 @@ abstract class Flag internal constructor() {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmProperty.kind")
|
||||
val IS_SYNTHESIZED: Flag = FlagImpl(F.MEMBER_KIND, ProtoMemberKind.SYNTHESIZED_VALUE)
|
||||
public val IS_SYNTHESIZED: Flag = FlagImpl(F.MEMBER_KIND, ProtoMemberKind.SYNTHESIZED_VALUE)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding property is `var`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmProperty.isVar")
|
||||
val IS_VAR: Flag = FlagImpl(F.IS_VAR)
|
||||
public val IS_VAR: Flag = FlagImpl(F.IS_VAR)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding property has a getter.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmProperty.hasGetter")
|
||||
val HAS_GETTER: Flag = FlagImpl(F.HAS_GETTER)
|
||||
public val HAS_GETTER: Flag = FlagImpl(F.HAS_GETTER)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding property has a setter.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmProperty.hasSetter")
|
||||
val HAS_SETTER: Flag = FlagImpl(F.HAS_SETTER)
|
||||
public val HAS_SETTER: Flag = FlagImpl(F.HAS_SETTER)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding property is `const`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmProperty.isConst")
|
||||
val IS_CONST: Flag = FlagImpl(F.IS_CONST)
|
||||
public val IS_CONST: Flag = FlagImpl(F.IS_CONST)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding property is `lateinit`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmProperty.isLateinit")
|
||||
val IS_LATEINIT: Flag = FlagImpl(F.IS_LATEINIT)
|
||||
public val IS_LATEINIT: Flag = FlagImpl(F.IS_LATEINIT)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding property has a constant value. On JVM, this flag allows an optimization similarly to
|
||||
@@ -458,74 +458,74 @@ abstract class Flag internal constructor() {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmProperty.hasConstant")
|
||||
val HAS_CONSTANT: Flag = FlagImpl(F.HAS_CONSTANT)
|
||||
public val HAS_CONSTANT: Flag = FlagImpl(F.HAS_CONSTANT)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding property is `external`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmProperty.isExternal")
|
||||
val IS_EXTERNAL: Flag = FlagImpl(F.IS_EXTERNAL_PROPERTY)
|
||||
public val IS_EXTERNAL: Flag = FlagImpl(F.IS_EXTERNAL_PROPERTY)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding property is a delegated property.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmProperty.isDelegated")
|
||||
val IS_DELEGATED: Flag = FlagImpl(F.IS_DELEGATED)
|
||||
public val IS_DELEGATED: Flag = FlagImpl(F.IS_DELEGATED)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding property is `expect`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmProperty.isExpect")
|
||||
val IS_EXPECT: Flag = FlagImpl(F.IS_EXPECT_PROPERTY)
|
||||
public val IS_EXPECT: Flag = FlagImpl(F.IS_EXPECT_PROPERTY)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* A container of flags applicable to Kotlin property getters and setters.
|
||||
*/
|
||||
object PropertyAccessor {
|
||||
public object PropertyAccessor {
|
||||
/**
|
||||
* Signifies that the corresponding property accessor is not default, i.e. it has a body and/or annotations in the source code.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmPropertyAccessorAttributes.isNotDefault")
|
||||
val IS_NOT_DEFAULT: Flag = FlagImpl(F.IS_NOT_DEFAULT)
|
||||
public val IS_NOT_DEFAULT: Flag = FlagImpl(F.IS_NOT_DEFAULT)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding property accessor is `external`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmPropertyAccessorAttributes.isExternal")
|
||||
val IS_EXTERNAL: Flag = FlagImpl(F.IS_EXTERNAL_ACCESSOR)
|
||||
public val IS_EXTERNAL: Flag = FlagImpl(F.IS_EXTERNAL_ACCESSOR)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding property accessor is `inline`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmPropertyAccessorAttributes.isInline")
|
||||
val IS_INLINE: Flag = FlagImpl(F.IS_INLINE_ACCESSOR)
|
||||
public val IS_INLINE: Flag = FlagImpl(F.IS_INLINE_ACCESSOR)
|
||||
}
|
||||
|
||||
/**
|
||||
* A container of flags applicable to Kotlin types.
|
||||
*/
|
||||
object Type {
|
||||
public object Type {
|
||||
/**
|
||||
* Signifies that the corresponding type is marked as nullable, i.e. has a question mark at the end of its notation.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmType.isNullable")
|
||||
val IS_NULLABLE: Flag = FlagImpl(0, 1, 1)
|
||||
public val IS_NULLABLE: Flag = FlagImpl(0, 1, 1)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding type is `suspend`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmType.isSuspend")
|
||||
val IS_SUSPEND: Flag = FlagImpl(F.SUSPEND_TYPE.offset + 1, F.SUSPEND_TYPE.bitWidth, 1)
|
||||
public val IS_SUSPEND: Flag = FlagImpl(F.SUSPEND_TYPE.offset + 1, F.SUSPEND_TYPE.bitWidth, 1)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding type is
|
||||
@@ -533,25 +533,25 @@ abstract class Flag internal constructor() {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmType.isDefinitelyNonNull")
|
||||
val IS_DEFINITELY_NON_NULL: Flag = FlagImpl(F.DEFINITELY_NOT_NULL_TYPE.offset + 1, F.DEFINITELY_NOT_NULL_TYPE.bitWidth, 1)
|
||||
public val IS_DEFINITELY_NON_NULL: Flag = FlagImpl(F.DEFINITELY_NOT_NULL_TYPE.offset + 1, F.DEFINITELY_NOT_NULL_TYPE.bitWidth, 1)
|
||||
}
|
||||
|
||||
/**
|
||||
* A container of flags applicable to Kotlin type parameters.
|
||||
*/
|
||||
object TypeParameter {
|
||||
public object TypeParameter {
|
||||
/**
|
||||
* Signifies that the corresponding type parameter is `reified`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmTypeParameter.isReified")
|
||||
val IS_REIFIED: Flag = FlagImpl(0, 1, 1)
|
||||
public val IS_REIFIED: Flag = FlagImpl(0, 1, 1)
|
||||
}
|
||||
|
||||
/**
|
||||
* A container of flags applicable to Kotlin value parameters.
|
||||
*/
|
||||
object ValueParameter {
|
||||
public object ValueParameter {
|
||||
/**
|
||||
* Signifies that the corresponding value parameter declares a default value. Note that the default value itself can be a complex
|
||||
* expression and is not available via metadata. Also note that in case of an override of a parameter with default value, the
|
||||
@@ -560,21 +560,21 @@ abstract class Flag internal constructor() {
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmValueParameter.declaresDefaultValue")
|
||||
val DECLARES_DEFAULT_VALUE: Flag = FlagImpl(F.DECLARES_DEFAULT_VALUE)
|
||||
public val DECLARES_DEFAULT_VALUE: Flag = FlagImpl(F.DECLARES_DEFAULT_VALUE)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding value parameter is `crossinline`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmValueParameter.isCrossinline")
|
||||
val IS_CROSSINLINE: Flag = FlagImpl(F.IS_CROSSINLINE)
|
||||
public val IS_CROSSINLINE: Flag = FlagImpl(F.IS_CROSSINLINE)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding value parameter is `noinline`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmValueParameter.isNoinline")
|
||||
val IS_NOINLINE: Flag = FlagImpl(F.IS_NOINLINE)
|
||||
public val IS_NOINLINE: Flag = FlagImpl(F.IS_NOINLINE)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -583,19 +583,19 @@ abstract class Flag internal constructor() {
|
||||
* Contracts are an internal feature of the standard Kotlin library, and their behavior and/or binary format
|
||||
* may change in a subsequent release.
|
||||
*/
|
||||
object EffectExpression {
|
||||
public object EffectExpression {
|
||||
/**
|
||||
* Signifies that the corresponding effect expression should be negated to compute the proposition or the conclusion of an effect.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmEffectExpression.isNegated")
|
||||
val IS_NEGATED: Flag = FlagImpl(F.IS_NEGATED)
|
||||
public val IS_NEGATED: Flag = FlagImpl(F.IS_NEGATED)
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding effect expression checks whether a value of some variable is `null`.
|
||||
*/
|
||||
@JvmField
|
||||
@Deprecated("$prefix KmEffectExpression.isNullCheckPredicate")
|
||||
val IS_NULL_CHECK_PREDICATE: Flag = FlagImpl(F.IS_NULL_CHECK_PREDICATE)
|
||||
public val IS_NULL_CHECK_PREDICATE: Flag = FlagImpl(F.IS_NULL_CHECK_PREDICATE)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ import kotlinx.metadata.internal.FlagImpl
|
||||
"Flags API is deprecated and this typealias will be removed. Use Int directly and then migrate to corresponding Km nodes extensions, e.g. KmClass.visibility",
|
||||
ReplaceWith("Int")
|
||||
)
|
||||
typealias Flags = Int
|
||||
public typealias Flags = Int
|
||||
|
||||
/**
|
||||
* Combines several flags into an integer bitmask.
|
||||
@@ -31,5 +31,5 @@ typealias Flags = Int
|
||||
@Deprecated(
|
||||
"Flags API is deprecated and this function will be removed. Create Km nodes directly and then use corresponding Km nodes extensions, e.g. KmClass.visibility",
|
||||
)
|
||||
fun flagsOf(vararg flags: Flag): Int =
|
||||
public fun flagsOf(vararg flags: Flag): Int =
|
||||
flags.fold(0) { acc, flag -> (flag as FlagImpl) + acc }
|
||||
|
||||
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.metadata.ProtoBuf.MemberKind as ProtoMemberKind
|
||||
* Represents visibility level (also known as access level) of the corresponding declaration.
|
||||
* Some of these visibilities may be non-denotable in Kotlin.
|
||||
*/
|
||||
enum class Visibility(kind: Int) {
|
||||
public enum class Visibility(kind: Int) {
|
||||
/**
|
||||
* Signifies that the corresponding declaration is `internal`.
|
||||
*/
|
||||
@@ -65,7 +65,7 @@ enum class Visibility(kind: Int) {
|
||||
PRIVATE_TO_THIS(ProtoVisibility.PRIVATE_TO_THIS_VALUE),
|
||||
|
||||
/**
|
||||
* Signifies that the corresponding declaration is local, i.e. declared inside a code block
|
||||
* Signifies that the corresponding declaration is local, i.e., declared inside a code block,
|
||||
* and not visible from the outside.
|
||||
*/
|
||||
LOCAL(ProtoVisibility.LOCAL_VALUE)
|
||||
@@ -79,7 +79,7 @@ enum class Visibility(kind: Int) {
|
||||
*
|
||||
* Modality determines when and where it is possible to extend/override a class/member.
|
||||
*/
|
||||
enum class Modality(kind: Int) {
|
||||
public enum class Modality(kind: Int) {
|
||||
/**
|
||||
* Signifies that the corresponding declaration is `final`.
|
||||
*/
|
||||
@@ -110,7 +110,7 @@ enum class Modality(kind: Int) {
|
||||
/**
|
||||
* Represents the kind of the corresponding class, i.e., the way it is declared in the source code.
|
||||
*/
|
||||
enum class ClassKind(kind: Int) {
|
||||
public enum class ClassKind(kind: Int) {
|
||||
/**
|
||||
* Signifies that the corresponding class is a usual or anonymous class.
|
||||
*/
|
||||
@@ -156,7 +156,7 @@ enum class ClassKind(kind: Int) {
|
||||
* Kind indicates the origin of a declaration within a containing class.
|
||||
* It provides information about whether a function or property was defined, generated, or something else.
|
||||
*/
|
||||
enum class MemberKind(kind: Int) {
|
||||
public enum class MemberKind(kind: Int) {
|
||||
/**
|
||||
* Signifies that the corresponding function or property is explicitly declared in the containing class.
|
||||
*/
|
||||
|
||||
@@ -14,21 +14,21 @@ import kotlin.contracts.ExperimentalContracts
|
||||
/**
|
||||
* Represents a Kotlin declaration container, such as a class or a package fragment.
|
||||
*/
|
||||
interface KmDeclarationContainer {
|
||||
public interface KmDeclarationContainer {
|
||||
/**
|
||||
* Functions in the container.
|
||||
*/
|
||||
val functions: MutableList<KmFunction>
|
||||
public val functions: MutableList<KmFunction>
|
||||
|
||||
/**
|
||||
* Properties in the container.
|
||||
*/
|
||||
val properties: MutableList<KmProperty>
|
||||
public val properties: MutableList<KmProperty>
|
||||
|
||||
/**
|
||||
* Type aliases in the container.
|
||||
*/
|
||||
val typeAliases: MutableList<KmTypeAlias>
|
||||
public val typeAliases: MutableList<KmTypeAlias>
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -39,27 +39,27 @@ interface KmDeclarationContainer {
|
||||
* Various class attributes can be read and manipulated via extension properties, such as [KmClass.visibility] or [KmClass.isData].
|
||||
*/
|
||||
@Suppress("DEPRECATION")
|
||||
class KmClass : KmClassVisitor(), KmDeclarationContainer {
|
||||
public class KmClass : KmClassVisitor(), KmDeclarationContainer {
|
||||
/**
|
||||
* Class flags, consisting of [Flag.HAS_ANNOTATIONS], visibility flag, modality flag and [Flag.Class] flags.
|
||||
*/
|
||||
@Deprecated("$flagAccessPrefix KmClass, such as KmClass.visibility")
|
||||
var flags: Int = 0
|
||||
public var flags: Int = 0
|
||||
|
||||
/**
|
||||
* Name of the class.
|
||||
*/
|
||||
lateinit var name: ClassName
|
||||
public lateinit var name: ClassName
|
||||
|
||||
/**
|
||||
* Type parameters of the class.
|
||||
*/
|
||||
val typeParameters: MutableList<KmTypeParameter> = ArrayList(0)
|
||||
public val typeParameters: MutableList<KmTypeParameter> = ArrayList(0)
|
||||
|
||||
/**
|
||||
* Supertypes of the class.
|
||||
*/
|
||||
val supertypes: MutableList<KmType> = ArrayList(1)
|
||||
public val supertypes: MutableList<KmType> = ArrayList(1)
|
||||
|
||||
/**
|
||||
* Functions in the class.
|
||||
@@ -79,48 +79,48 @@ class KmClass : KmClassVisitor(), KmDeclarationContainer {
|
||||
/**
|
||||
* Constructors of the class.
|
||||
*/
|
||||
val constructors: MutableList<KmConstructor> = ArrayList(1)
|
||||
public val constructors: MutableList<KmConstructor> = ArrayList(1)
|
||||
|
||||
/**
|
||||
* Name of the companion object of this class, if it has one.
|
||||
*/
|
||||
var companionObject: String? = null
|
||||
public var companionObject: String? = null
|
||||
|
||||
/**
|
||||
* Names of nested classes of this class.
|
||||
*/
|
||||
val nestedClasses: MutableList<String> = ArrayList(0)
|
||||
public val nestedClasses: MutableList<String> = ArrayList(0)
|
||||
|
||||
/**
|
||||
* Names of enum entries, if this class is an enum class.
|
||||
*/
|
||||
val enumEntries: MutableList<String> = ArrayList(0)
|
||||
public val enumEntries: MutableList<String> = ArrayList(0)
|
||||
|
||||
/**
|
||||
* Names of direct subclasses of this class, if this class is `sealed`.
|
||||
*/
|
||||
val sealedSubclasses: MutableList<ClassName> = ArrayList(0)
|
||||
public val sealedSubclasses: MutableList<ClassName> = ArrayList(0)
|
||||
|
||||
/**
|
||||
* Name of the underlying property, if this class is `inline`.
|
||||
*/
|
||||
var inlineClassUnderlyingPropertyName: String? = null
|
||||
public var inlineClassUnderlyingPropertyName: String? = null
|
||||
|
||||
/**
|
||||
* Type of the underlying property, if this class is `inline`.
|
||||
*/
|
||||
var inlineClassUnderlyingType: KmType? = null
|
||||
public var inlineClassUnderlyingType: KmType? = null
|
||||
|
||||
/**
|
||||
* Types of context receivers of the class.
|
||||
*/
|
||||
@ExperimentalContextReceivers
|
||||
val contextReceiverTypes: MutableList<KmType> = ArrayList(0)
|
||||
public val contextReceiverTypes: MutableList<KmType> = ArrayList(0)
|
||||
|
||||
/**
|
||||
* Version requirements on this class.
|
||||
*/
|
||||
val versionRequirements: MutableList<KmVersionRequirement> = ArrayList(0)
|
||||
public val versionRequirements: MutableList<KmVersionRequirement> = ArrayList(0)
|
||||
|
||||
private val extensions: List<KmClassExtension> =
|
||||
MetadataExtensions.INSTANCES.map(MetadataExtensions::createClassExtension)
|
||||
@@ -204,7 +204,7 @@ class KmClass : KmClassVisitor(), KmDeclarationContainer {
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@OptIn(ExperimentalContextReceivers::class)
|
||||
fun accept(visitor: KmClassVisitor) {
|
||||
public fun accept(visitor: KmClassVisitor) {
|
||||
visitor.visit(flags, name)
|
||||
typeParameters.forEach { visitor.visitTypeParameter(it.flags, it.name, it.id, it.variance)?.let(it::accept) }
|
||||
supertypes.forEach { visitor.visitSupertype(it.flags)?.let(it::accept) }
|
||||
@@ -231,7 +231,7 @@ class KmClass : KmClassVisitor(), KmDeclarationContainer {
|
||||
* Note that a package fragment does not contain any classes, as classes are not a part of file facades and have their own metadata.
|
||||
*/
|
||||
@Suppress("DEPRECATION")
|
||||
class KmPackage : KmPackageVisitor(), KmDeclarationContainer {
|
||||
public class KmPackage : KmPackageVisitor(), KmDeclarationContainer {
|
||||
/**
|
||||
* Functions in the package fragment.
|
||||
*/
|
||||
@@ -272,7 +272,7 @@ class KmPackage : KmPackageVisitor(), KmDeclarationContainer {
|
||||
* @param visitor the visitor which will visit data in this package fragment
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(visitor: KmPackageVisitor) {
|
||||
public fun accept(visitor: KmPackageVisitor) {
|
||||
functions.forEach { visitor.visitFunction(it.flags, it.name)?.let(it::accept) }
|
||||
properties.forEach { visitor.visitProperty(it.flags, it.name, it.getter.flags, it.setterFlags)?.let(it::accept) }
|
||||
typeAliases.forEach { visitor.visitTypeAlias(it.flags, it.name)?.let(it::accept) }
|
||||
@@ -285,11 +285,11 @@ class KmPackage : KmPackageVisitor(), KmDeclarationContainer {
|
||||
* Represents a synthetic class generated for a Kotlin lambda.
|
||||
*/
|
||||
@Suppress("DEPRECATION")
|
||||
class KmLambda : KmLambdaVisitor() {
|
||||
public class KmLambda : KmLambdaVisitor() {
|
||||
/**
|
||||
* Signature of the synthetic anonymous function, representing the lambda.
|
||||
*/
|
||||
lateinit var function: KmFunction
|
||||
public lateinit var function: KmFunction
|
||||
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
override fun visitFunction(flags: Int, name: String): KmFunctionVisitor =
|
||||
@@ -301,7 +301,7 @@ class KmLambda : KmLambdaVisitor() {
|
||||
* @param visitor the visitor which will visit data in this lambda
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(visitor: KmLambdaVisitor) {
|
||||
public fun accept(visitor: KmLambdaVisitor) {
|
||||
visitor.visitFunction(function.flags, function.name)?.let(function::accept)
|
||||
visitor.visitEnd()
|
||||
}
|
||||
@@ -314,21 +314,21 @@ class KmLambda : KmLambdaVisitor() {
|
||||
* such as [KmConstructor.visibility] or [KmConstructor.isSecondary].
|
||||
*/
|
||||
@Suppress("DEPRECATION")
|
||||
class KmConstructor @Deprecated(flagsCtorDeprecated) constructor(
|
||||
@Deprecated("$flagAccessPrefix KmConstructor, such as KmConstructor.visibility") var flags: Int,
|
||||
public class KmConstructor @Deprecated(flagsCtorDeprecated) constructor(
|
||||
@Deprecated("$flagAccessPrefix KmConstructor, such as KmConstructor.visibility") public var flags: Int,
|
||||
) :
|
||||
KmConstructorVisitor() {
|
||||
constructor() : this(0)
|
||||
public constructor() : this(0)
|
||||
|
||||
/**
|
||||
* Value parameters of the constructor.
|
||||
*/
|
||||
val valueParameters: MutableList<KmValueParameter> = ArrayList()
|
||||
public val valueParameters: MutableList<KmValueParameter> = ArrayList()
|
||||
|
||||
/**
|
||||
* Version requirements on the constructor.
|
||||
*/
|
||||
val versionRequirements: MutableList<KmVersionRequirement> = ArrayList(0)
|
||||
public val versionRequirements: MutableList<KmVersionRequirement> = ArrayList(0)
|
||||
|
||||
private val extensions: List<KmConstructorExtension> =
|
||||
MetadataExtensions.INSTANCES.map(MetadataExtensions::createConstructorExtension)
|
||||
@@ -351,7 +351,7 @@ class KmConstructor @Deprecated(flagsCtorDeprecated) constructor(
|
||||
* @param visitor the visitor which will visit data in this class
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(visitor: KmConstructorVisitor) {
|
||||
public fun accept(visitor: KmConstructorVisitor) {
|
||||
valueParameters.forEach { visitor.visitValueParameter(it.flags, it.name)?.let(it::accept) }
|
||||
versionRequirements.forEach { visitor.visitVersionRequirement()?.let(it::accept) }
|
||||
extensions.forEach { visitor.visitExtensions(it.type)?.let(it::accept) }
|
||||
@@ -368,49 +368,49 @@ class KmConstructor @Deprecated(flagsCtorDeprecated) constructor(
|
||||
* @property name the name of the function
|
||||
*/
|
||||
@Suppress("DEPRECATION")
|
||||
class KmFunction @Deprecated(flagsCtorDeprecated) constructor(
|
||||
@Deprecated("$flagAccessPrefix KmFunction, such as KmFunction.visibility") var flags: Int,
|
||||
var name: String,
|
||||
public class KmFunction @Deprecated(flagsCtorDeprecated) constructor(
|
||||
@Deprecated("$flagAccessPrefix KmFunction, such as KmFunction.visibility") public var flags: Int,
|
||||
public var name: String,
|
||||
) : KmFunctionVisitor() {
|
||||
|
||||
constructor(name: String) : this(0, name)
|
||||
public constructor(name: String) : this(0, name)
|
||||
|
||||
/**
|
||||
* Type parameters of the function.
|
||||
*/
|
||||
val typeParameters: MutableList<KmTypeParameter> = ArrayList(0)
|
||||
public val typeParameters: MutableList<KmTypeParameter> = ArrayList(0)
|
||||
|
||||
/**
|
||||
* Type of the receiver of the function, if this is an extension function.
|
||||
*/
|
||||
var receiverParameterType: KmType? = null
|
||||
public var receiverParameterType: KmType? = null
|
||||
|
||||
/**
|
||||
* Types of context receivers of the function.
|
||||
*/
|
||||
@ExperimentalContextReceivers
|
||||
val contextReceiverTypes: MutableList<KmType> = ArrayList(0)
|
||||
public val contextReceiverTypes: MutableList<KmType> = ArrayList(0)
|
||||
|
||||
/**
|
||||
* Value parameters of the function.
|
||||
*/
|
||||
val valueParameters: MutableList<KmValueParameter> = ArrayList()
|
||||
public val valueParameters: MutableList<KmValueParameter> = ArrayList()
|
||||
|
||||
/**
|
||||
* Return type of the function.
|
||||
*/
|
||||
lateinit var returnType: KmType
|
||||
public lateinit var returnType: KmType
|
||||
|
||||
/**
|
||||
* Version requirements on the function.
|
||||
*/
|
||||
val versionRequirements: MutableList<KmVersionRequirement> = ArrayList(0)
|
||||
public val versionRequirements: MutableList<KmVersionRequirement> = ArrayList(0)
|
||||
|
||||
/**
|
||||
* Contract of the function.
|
||||
*/
|
||||
@ExperimentalContracts
|
||||
var contract: KmContract? = null
|
||||
public var contract: KmContract? = null
|
||||
|
||||
private val extensions: List<KmFunctionExtension> =
|
||||
MetadataExtensions.INSTANCES.map(MetadataExtensions::createFunctionExtension)
|
||||
@@ -456,7 +456,7 @@ class KmFunction @Deprecated(flagsCtorDeprecated) constructor(
|
||||
*/
|
||||
@OptIn(ExperimentalContextReceivers::class)
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(visitor: KmFunctionVisitor) {
|
||||
public fun accept(visitor: KmFunctionVisitor) {
|
||||
typeParameters.forEach { visitor.visitTypeParameter(it.flags, it.name, it.id, it.variance)?.let(it::accept) }
|
||||
receiverParameterType?.let { visitor.visitReceiverParameterType(it.flags)?.let(it::accept) }
|
||||
contextReceiverTypes.forEach { visitor.visitContextReceiverType(it.flags)?.let(it::accept) }
|
||||
@@ -490,14 +490,14 @@ public class KmPropertyAccessorAttributes internal constructor(internal var flag
|
||||
* @property name the name of the property
|
||||
*/
|
||||
@Suppress("DEPRECATION")
|
||||
class KmProperty @Deprecated(flagsCtorDeprecated) constructor(
|
||||
@Deprecated("$flagAccessPrefix KmProperty, such as KmProperty.visibility") var flags: Int,
|
||||
var name: String,
|
||||
public class KmProperty @Deprecated(flagsCtorDeprecated) constructor(
|
||||
@Deprecated("$flagAccessPrefix KmProperty, such as KmProperty.visibility") public var flags: Int,
|
||||
public var name: String,
|
||||
getterFlags: Int,
|
||||
setterFlags: Int,
|
||||
) : KmPropertyVisitor() {
|
||||
|
||||
constructor(name: String) : this(0, name, 0, 0)
|
||||
public constructor(name: String) : this(0, name, 0, 0)
|
||||
|
||||
/**
|
||||
* Attributes of the getter of this property.
|
||||
@@ -505,7 +505,7 @@ class KmProperty @Deprecated(flagsCtorDeprecated) constructor(
|
||||
*
|
||||
* Getter for property is always present, hence return type of this function is non-nullable.
|
||||
*/
|
||||
val getter: KmPropertyAccessorAttributes = KmPropertyAccessorAttributes(getterFlags)
|
||||
public val getter: KmPropertyAccessorAttributes = KmPropertyAccessorAttributes(getterFlags)
|
||||
|
||||
/**
|
||||
* Attributes of the setter of this property.
|
||||
@@ -513,7 +513,7 @@ class KmProperty @Deprecated(flagsCtorDeprecated) constructor(
|
||||
*
|
||||
* Returns null if setter is absent, i.e. [KmProperty.isVar] is false.
|
||||
*/
|
||||
var setter: KmPropertyAccessorAttributes? = if (this.hasSetter) KmPropertyAccessorAttributes(setterFlags) else null
|
||||
public var setter: KmPropertyAccessorAttributes? = if (this.hasSetter) KmPropertyAccessorAttributes(setterFlags) else null
|
||||
set(new) {
|
||||
this.hasSetter = new != null
|
||||
field = new
|
||||
@@ -526,7 +526,7 @@ class KmProperty @Deprecated(flagsCtorDeprecated) constructor(
|
||||
* and [Flag.PropertyAccessor] flags.
|
||||
*/
|
||||
@Deprecated("$flagAccessPrefix KmProperty.getter, such as KmProperty.getter.isNotDefault")
|
||||
var getterFlags: Int
|
||||
public var getterFlags: Int
|
||||
get() = getter.flags
|
||||
set(value) {
|
||||
getter.flags = value
|
||||
@@ -547,7 +547,7 @@ class KmProperty @Deprecated(flagsCtorDeprecated) constructor(
|
||||
* This behavior is for compatibility only and will be removed in future versions.
|
||||
*/
|
||||
@Deprecated("$flagAccessPrefix KmProperty.setter, such as KmProperty.setter.isNotDefault")
|
||||
var setterFlags: Int = getDefaultPropertyAccessorFlags(flags)
|
||||
public var setterFlags: Int = getDefaultPropertyAccessorFlags(flags)
|
||||
get() = setter?.flags ?: field
|
||||
set(value) {
|
||||
setter?.flags = value
|
||||
@@ -557,18 +557,18 @@ class KmProperty @Deprecated(flagsCtorDeprecated) constructor(
|
||||
/**
|
||||
* Type parameters of the property.
|
||||
*/
|
||||
val typeParameters: MutableList<KmTypeParameter> = ArrayList(0)
|
||||
public val typeParameters: MutableList<KmTypeParameter> = ArrayList(0)
|
||||
|
||||
/**
|
||||
* Type of the receiver of the property, if this is an extension property.
|
||||
*/
|
||||
var receiverParameterType: KmType? = null
|
||||
public var receiverParameterType: KmType? = null
|
||||
|
||||
/**
|
||||
* Types of context receivers of the property.
|
||||
*/
|
||||
@ExperimentalContextReceivers
|
||||
val contextReceiverTypes: MutableList<KmType> = ArrayList(0)
|
||||
public val contextReceiverTypes: MutableList<KmType> = ArrayList(0)
|
||||
|
||||
/**
|
||||
* Value parameter of the setter of this property, if this is a `var` property and parameter is present.
|
||||
@@ -581,17 +581,17 @@ class KmProperty @Deprecated(flagsCtorDeprecated) constructor(
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
var setterParameter: KmValueParameter? = null
|
||||
public var setterParameter: KmValueParameter? = null
|
||||
|
||||
/**
|
||||
* Type of the property.
|
||||
*/
|
||||
lateinit var returnType: KmType
|
||||
public lateinit var returnType: KmType
|
||||
|
||||
/**
|
||||
* Version requirements on the property.
|
||||
*/
|
||||
val versionRequirements: MutableList<KmVersionRequirement> = ArrayList(0)
|
||||
public val versionRequirements: MutableList<KmVersionRequirement> = ArrayList(0)
|
||||
|
||||
private val extensions: List<KmPropertyExtension> =
|
||||
MetadataExtensions.INSTANCES.map(MetadataExtensions::createPropertyExtension)
|
||||
@@ -632,7 +632,7 @@ class KmProperty @Deprecated(flagsCtorDeprecated) constructor(
|
||||
*/
|
||||
@OptIn(ExperimentalContextReceivers::class)
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(visitor: KmPropertyVisitor) {
|
||||
public fun accept(visitor: KmPropertyVisitor) {
|
||||
typeParameters.forEach { visitor.visitTypeParameter(it.flags, it.name, it.id, it.variance)?.let(it::accept) }
|
||||
receiverParameterType?.let { visitor.visitReceiverParameterType(it.flags)?.let(it::accept) }
|
||||
contextReceiverTypes.forEach { visitor.visitContextReceiverType(it.flags)?.let(it::accept) }
|
||||
@@ -653,38 +653,38 @@ class KmProperty @Deprecated(flagsCtorDeprecated) constructor(
|
||||
* @property name the name of the type alias
|
||||
*/
|
||||
@Suppress("DEPRECATION")
|
||||
class KmTypeAlias @Deprecated(flagsCtorDeprecated) constructor(
|
||||
@Deprecated("$flagAccessPrefix KmTypeAlias, such as KmTypeAlias.visibility") var flags: Int,
|
||||
var name: String,
|
||||
public class KmTypeAlias @Deprecated(flagsCtorDeprecated) constructor(
|
||||
@Deprecated("$flagAccessPrefix KmTypeAlias, such as KmTypeAlias.visibility") public var flags: Int,
|
||||
public var name: String,
|
||||
) : KmTypeAliasVisitor() {
|
||||
|
||||
constructor(name: String) : this(0, name)
|
||||
public constructor(name: String) : this(0, name)
|
||||
|
||||
/**
|
||||
* Type parameters of the type alias.
|
||||
*/
|
||||
val typeParameters: MutableList<KmTypeParameter> = ArrayList(0)
|
||||
public val typeParameters: MutableList<KmTypeParameter> = ArrayList(0)
|
||||
|
||||
/**
|
||||
* Underlying type of the type alias, i.e. the type in the right-hand side of the type alias declaration.
|
||||
*/
|
||||
lateinit var underlyingType: KmType
|
||||
public lateinit var underlyingType: KmType
|
||||
|
||||
/**
|
||||
* Expanded type of the type alias, i.e. the full expansion of the underlying type, where all type aliases are substituted
|
||||
* with their expanded types. If no type aliases are used in the underlying type, the expanded type is equal to the underlying type.
|
||||
*/
|
||||
lateinit var expandedType: KmType
|
||||
public lateinit var expandedType: KmType
|
||||
|
||||
/**
|
||||
* Annotations on the type alias.
|
||||
*/
|
||||
val annotations: MutableList<KmAnnotation> = ArrayList(0)
|
||||
public val annotations: MutableList<KmAnnotation> = ArrayList(0)
|
||||
|
||||
/**
|
||||
* Version requirements on the type alias.
|
||||
*/
|
||||
val versionRequirements: MutableList<KmVersionRequirement> = ArrayList(0)
|
||||
public val versionRequirements: MutableList<KmVersionRequirement> = ArrayList(0)
|
||||
|
||||
private val extensions: List<KmTypeAliasExtension> =
|
||||
MetadataExtensions.INSTANCES.mapNotNull(MetadataExtensions::createTypeAliasExtension)
|
||||
@@ -720,7 +720,7 @@ class KmTypeAlias @Deprecated(flagsCtorDeprecated) constructor(
|
||||
* @param visitor the visitor which will visit data in this type alias
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(visitor: KmTypeAliasVisitor) {
|
||||
public fun accept(visitor: KmTypeAliasVisitor) {
|
||||
typeParameters.forEach { visitor.visitTypeParameter(it.flags, it.name, it.id, it.variance)?.let(it::accept) }
|
||||
visitor.visitUnderlyingType(underlyingType.flags)?.let(underlyingType::accept)
|
||||
visitor.visitExpandedType(expandedType.flags)?.let(expandedType::accept)
|
||||
@@ -740,23 +740,23 @@ class KmTypeAlias @Deprecated(flagsCtorDeprecated) constructor(
|
||||
* @property name the name of the value parameter
|
||||
*/
|
||||
@Suppress("DEPRECATION")
|
||||
class KmValueParameter @Deprecated(flagsCtorDeprecated) constructor(
|
||||
@Deprecated("$flagAccessPrefix KmValueParameter, such as KmValueParameter.declaresDefaultValue") var flags: Int,
|
||||
var name: String,
|
||||
public class KmValueParameter @Deprecated(flagsCtorDeprecated) constructor(
|
||||
@Deprecated("$flagAccessPrefix KmValueParameter, such as KmValueParameter.declaresDefaultValue") public var flags: Int,
|
||||
public var name: String,
|
||||
) : KmValueParameterVisitor() {
|
||||
|
||||
constructor(name: String) : this(0, name)
|
||||
public constructor(name: String) : this(0, name)
|
||||
|
||||
/**
|
||||
* Type of the value parameter.
|
||||
* If this is a `vararg` parameter of type `X`, returns the type `Array<out X>`.
|
||||
*/
|
||||
lateinit var type: KmType
|
||||
public lateinit var type: KmType
|
||||
|
||||
/**
|
||||
* Type of the `vararg` value parameter, or `null` if this is not a `vararg` parameter.
|
||||
*/
|
||||
var varargElementType: KmType? = null
|
||||
public var varargElementType: KmType? = null
|
||||
|
||||
private val extensions: List<KmValueParameterExtension> =
|
||||
MetadataExtensions.INSTANCES.mapNotNull(MetadataExtensions::createValueParameterExtension)
|
||||
@@ -779,7 +779,7 @@ class KmValueParameter @Deprecated(flagsCtorDeprecated) constructor(
|
||||
* @param visitor the visitor which will visit data in this value parameter
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(visitor: KmValueParameterVisitor) {
|
||||
public fun accept(visitor: KmValueParameterVisitor) {
|
||||
visitor.visitType(type.flags)?.let(type::accept)
|
||||
varargElementType?.let { visitor.visitVarargElementType(it.flags)?.let(it::accept) }
|
||||
extensions.forEach { visitor.visitExtensions(it.type)?.let(it::accept) }
|
||||
@@ -799,19 +799,19 @@ class KmValueParameter @Deprecated(flagsCtorDeprecated) constructor(
|
||||
* @property variance the declaration-site variance of the type parameter
|
||||
*/
|
||||
@Suppress("DEPRECATION")
|
||||
class KmTypeParameter @Deprecated(flagsCtorDeprecated) constructor(
|
||||
@Deprecated("$flagAccessPrefix KmTypeParameter, such as KmTypeParameter.isReified") var flags: Int,
|
||||
var name: String,
|
||||
var id: Int,
|
||||
var variance: KmVariance,
|
||||
public class KmTypeParameter @Deprecated(flagsCtorDeprecated) constructor(
|
||||
@Deprecated("$flagAccessPrefix KmTypeParameter, such as KmTypeParameter.isReified") public var flags: Int,
|
||||
public var name: String,
|
||||
public var id: Int,
|
||||
public var variance: KmVariance,
|
||||
) : KmTypeParameterVisitor() {
|
||||
|
||||
constructor(name: String, id: Int, variance: KmVariance) : this(0, name, id, variance)
|
||||
public constructor(name: String, id: Int, variance: KmVariance) : this(0, name, id, variance)
|
||||
|
||||
/**
|
||||
* Upper bounds of the type parameter.
|
||||
*/
|
||||
val upperBounds: MutableList<KmType> = ArrayList(1)
|
||||
public val upperBounds: MutableList<KmType> = ArrayList(1)
|
||||
|
||||
private val extensions: List<KmTypeParameterExtension> =
|
||||
MetadataExtensions.INSTANCES.map(MetadataExtensions::createTypeParameterExtension)
|
||||
@@ -830,7 +830,7 @@ class KmTypeParameter @Deprecated(flagsCtorDeprecated) constructor(
|
||||
* @param visitor the visitor which will visit data in this type parameter
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(visitor: KmTypeParameterVisitor) {
|
||||
public fun accept(visitor: KmTypeParameterVisitor) {
|
||||
upperBounds.forEach { visitor.visitUpperBound(it.flags)?.let(it::accept) }
|
||||
extensions.forEach { visitor.visitExtensions(it.type)?.let(it::accept) }
|
||||
visitor.visitEnd()
|
||||
@@ -844,21 +844,21 @@ class KmTypeParameter @Deprecated(flagsCtorDeprecated) constructor(
|
||||
* such as [KmType.isNullable].
|
||||
*/
|
||||
@Suppress("DEPRECATION")
|
||||
class KmType @Deprecated(flagsCtorDeprecated) constructor(
|
||||
@Deprecated("$flagAccessPrefix KmType, such as KmType.isNullable") var flags: Int
|
||||
public class KmType @Deprecated(flagsCtorDeprecated) constructor(
|
||||
@Deprecated("$flagAccessPrefix KmType, such as KmType.isNullable") public var flags: Int
|
||||
) : KmTypeVisitor() {
|
||||
|
||||
constructor() : this(0)
|
||||
public constructor() : this(0)
|
||||
|
||||
/**
|
||||
* Classifier of the type.
|
||||
*/
|
||||
lateinit var classifier: KmClassifier
|
||||
public lateinit var classifier: KmClassifier
|
||||
|
||||
/**
|
||||
* Arguments of the type, if the type's classifier is a class or a type alias.
|
||||
*/
|
||||
val arguments: MutableList<KmTypeProjection> = ArrayList(0)
|
||||
public val arguments: MutableList<KmTypeProjection> = ArrayList(0)
|
||||
|
||||
/**
|
||||
* Abbreviation of this type. Note that all types are expanded for metadata produced by the Kotlin compiler. For example:
|
||||
@@ -869,7 +869,7 @@ class KmType @Deprecated(flagsCtorDeprecated) constructor(
|
||||
*
|
||||
* The type of the `foo`'s parameter in the metadata is actually `MutableList<Any>`, and its abbreviation is `A<Any>`.
|
||||
*/
|
||||
var abbreviatedType: KmType? = null
|
||||
public var abbreviatedType: KmType? = null
|
||||
|
||||
/**
|
||||
* Outer type of this type, if this type's classifier is an inner class. For example:
|
||||
@@ -881,14 +881,14 @@ class KmType @Deprecated(flagsCtorDeprecated) constructor(
|
||||
* The type of the `foo`'s parameter in the metadata is `B<Byte>` (a type whose classifier is class `B`, and it has one type argument,
|
||||
* type `Byte?`), and its outer type is `A<*>` (a type whose classifier is class `A`, and it has one type argument, star projection).
|
||||
*/
|
||||
var outerType: KmType? = null
|
||||
public var outerType: KmType? = null
|
||||
|
||||
/**
|
||||
* Upper bound of this type, if this type is flexible. In that case, all other data refers to the lower bound of the type.
|
||||
*
|
||||
* Flexible types in Kotlin include platform types in Kotlin/JVM and `dynamic` type in Kotlin/JS.
|
||||
*/
|
||||
var flexibleTypeUpperBound: KmFlexibleTypeUpperBound? = null
|
||||
public var flexibleTypeUpperBound: KmFlexibleTypeUpperBound? = null
|
||||
|
||||
private val extensions: List<KmTypeExtension> =
|
||||
MetadataExtensions.INSTANCES.map(MetadataExtensions::createTypeExtension)
|
||||
@@ -940,7 +940,7 @@ class KmType @Deprecated(flagsCtorDeprecated) constructor(
|
||||
* @throws IllegalArgumentException if type metadata is inconsistent
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(visitor: KmTypeVisitor) {
|
||||
public fun accept(visitor: KmTypeVisitor) {
|
||||
when (val classifier = classifier) {
|
||||
is KmClassifier.Class -> visitor.visitClass(classifier.name)
|
||||
is KmClassifier.TypeParameter -> visitor.visitTypeParameter(classifier.id)
|
||||
@@ -970,31 +970,31 @@ class KmType @Deprecated(flagsCtorDeprecated) constructor(
|
||||
* enabled, for example, with the internal [kotlin.internal.RequireKotlin] annotation.
|
||||
*/
|
||||
@Suppress("DEPRECATION")
|
||||
class KmVersionRequirement : KmVersionRequirementVisitor() {
|
||||
public class KmVersionRequirement : KmVersionRequirementVisitor() {
|
||||
/**
|
||||
* Kind of the version that this declaration requires.
|
||||
*/
|
||||
lateinit var kind: KmVersionRequirementVersionKind
|
||||
public lateinit var kind: KmVersionRequirementVersionKind
|
||||
|
||||
/**
|
||||
* Level of the diagnostic that must be reported on the usages of the declaration in case the version requirement is not satisfied.
|
||||
*/
|
||||
lateinit var level: KmVersionRequirementLevel
|
||||
public lateinit var level: KmVersionRequirementLevel
|
||||
|
||||
/**
|
||||
* Optional error code to be displayed in the diagnostic.
|
||||
*/
|
||||
var errorCode: Int? = null
|
||||
public var errorCode: Int? = null
|
||||
|
||||
/**
|
||||
* Optional message to be displayed in the diagnostic.
|
||||
*/
|
||||
var message: String? = null
|
||||
public var message: String? = null
|
||||
|
||||
/**
|
||||
* Version required by this requirement.
|
||||
*/
|
||||
lateinit var version: KmVersion
|
||||
public lateinit var version: KmVersion
|
||||
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
override fun visit(kind: KmVersionRequirementVersionKind, level: KmVersionRequirementLevel, errorCode: Int?, message: String?) {
|
||||
@@ -1015,7 +1015,7 @@ class KmVersionRequirement : KmVersionRequirementVisitor() {
|
||||
* @param visitor the visitor which will visit data in this version requirement
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(visitor: KmVersionRequirementVisitor) {
|
||||
public fun accept(visitor: KmVersionRequirementVisitor) {
|
||||
visitor.visit(kind, level, errorCode, message)
|
||||
visitor.visitVersion(version.major, version.minor, version.patch)
|
||||
visitor.visitEnd()
|
||||
@@ -1030,11 +1030,11 @@ class KmVersionRequirement : KmVersionRequirementVisitor() {
|
||||
*/
|
||||
@ExperimentalContracts
|
||||
@Suppress("DEPRECATION")
|
||||
class KmContract : KmContractVisitor() {
|
||||
public class KmContract : KmContractVisitor() {
|
||||
/**
|
||||
* Effects of this contract.
|
||||
*/
|
||||
val effects: MutableList<KmEffect> = ArrayList(1)
|
||||
public val effects: MutableList<KmEffect> = ArrayList(1)
|
||||
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
override fun visitEffect(type: KmEffectType, invocationKind: KmEffectInvocationKind?): KmEffectVisitor =
|
||||
@@ -1046,7 +1046,7 @@ class KmContract : KmContractVisitor() {
|
||||
* @param visitor the visitor which will visit data in this contract
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(visitor: KmContractVisitor) {
|
||||
public fun accept(visitor: KmContractVisitor) {
|
||||
effects.forEach { visitor.visitEffect(it.type, it.invocationKind)?.let(it::accept) }
|
||||
visitor.visitEnd()
|
||||
}
|
||||
@@ -1064,20 +1064,20 @@ class KmContract : KmContractVisitor() {
|
||||
*/
|
||||
@ExperimentalContracts
|
||||
@Suppress("DEPRECATION")
|
||||
class KmEffect(
|
||||
var type: KmEffectType,
|
||||
var invocationKind: KmEffectInvocationKind?
|
||||
public class KmEffect(
|
||||
public var type: KmEffectType,
|
||||
public var invocationKind: KmEffectInvocationKind?
|
||||
) : KmEffectVisitor() {
|
||||
/**
|
||||
* Arguments of the effect constructor, i.e. the constant value for the [KmEffectType.RETURNS_CONSTANT] effect,
|
||||
* or the parameter reference for the [KmEffectType.CALLS] effect.
|
||||
*/
|
||||
val constructorArguments: MutableList<KmEffectExpression> = ArrayList(1)
|
||||
public val constructorArguments: MutableList<KmEffectExpression> = ArrayList(1)
|
||||
|
||||
/**
|
||||
* Conclusion of the effect. If this value is set, the effect represents an implication with this value as the right-hand side.
|
||||
*/
|
||||
var conclusion: KmEffectExpression? = null
|
||||
public var conclusion: KmEffectExpression? = null
|
||||
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
override fun visitConstructorArgument(): KmEffectExpressionVisitor =
|
||||
@@ -1093,7 +1093,7 @@ class KmEffect(
|
||||
* @param visitor the visitor which will visit data in this effect
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(visitor: KmEffectVisitor) {
|
||||
public fun accept(visitor: KmEffectVisitor) {
|
||||
constructorArguments.forEach { visitor.visitConstructorArgument()?.let(it::accept) }
|
||||
conclusion?.let { visitor.visitConclusionOfConditionalEffect()?.let(it::accept) }
|
||||
visitor.visitEnd()
|
||||
@@ -1111,40 +1111,40 @@ class KmEffect(
|
||||
*/
|
||||
@ExperimentalContracts
|
||||
@Suppress("DEPRECATION")
|
||||
class KmEffectExpression : KmEffectExpressionVisitor() {
|
||||
public class KmEffectExpression : KmEffectExpressionVisitor() {
|
||||
/**
|
||||
* Effect expression flags, consisting of [Flag.EffectExpression] flags.
|
||||
*/
|
||||
@Deprecated("$flagAccessPrefix KmEffectExpression, such as KmEffectExpression.isNegated")
|
||||
var flags: Int = flagsOf()
|
||||
public var flags: Int = flagsOf()
|
||||
|
||||
/**
|
||||
* Optional 1-based index of the value parameter of the function, for effects which assert something about
|
||||
* the function parameters. Index 0 means the extension receiver parameter.
|
||||
*/
|
||||
var parameterIndex: Int? = null
|
||||
public var parameterIndex: Int? = null
|
||||
|
||||
/**
|
||||
* Constant value used in the effect expression.
|
||||
*/
|
||||
var constantValue: KmConstantValue? = null
|
||||
public var constantValue: KmConstantValue? = null
|
||||
|
||||
/**
|
||||
* Type used as the target of an `is`-expression in the effect expression.
|
||||
*/
|
||||
var isInstanceType: KmType? = null
|
||||
public var isInstanceType: KmType? = null
|
||||
|
||||
/**
|
||||
* Arguments of an `&&`-expression. If this list is non-empty, the resulting effect expression is a conjunction of this expression
|
||||
* and elements of the list.
|
||||
*/
|
||||
val andArguments: MutableList<KmEffectExpression> = ArrayList(0)
|
||||
public val andArguments: MutableList<KmEffectExpression> = ArrayList(0)
|
||||
|
||||
/**
|
||||
* Arguments of an `||`-expression. If this list is non-empty, the resulting effect expression is a disjunction of this expression
|
||||
* and elements of the list.
|
||||
*/
|
||||
val orArguments: MutableList<KmEffectExpression> = ArrayList(0)
|
||||
public val orArguments: MutableList<KmEffectExpression> = ArrayList(0)
|
||||
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
override fun visit(flags: Int, parameterIndex: Int?) {
|
||||
@@ -1175,7 +1175,7 @@ class KmEffectExpression : KmEffectExpressionVisitor() {
|
||||
* @param visitor the visitor which will visit data in this effect expression
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(visitor: KmEffectExpressionVisitor) {
|
||||
public fun accept(visitor: KmEffectExpressionVisitor) {
|
||||
visitor.visit(flags, parameterIndex)
|
||||
constantValue?.let { visitor.visitConstantValue(it.value) }
|
||||
isInstanceType?.let { visitor.visitIsInstanceType(it.flags)?.let(it::accept) }
|
||||
@@ -1189,20 +1189,20 @@ class KmEffectExpression : KmEffectExpressionVisitor() {
|
||||
* Represents a classifier of a Kotlin type. A classifier is a class, type parameter, or type alias.
|
||||
* For example, in `MutableMap<in String?, *>`, `MutableMap` is the classifier.
|
||||
*/
|
||||
sealed class KmClassifier {
|
||||
public sealed class KmClassifier {
|
||||
/**
|
||||
* Represents a class used as a classifier in a type.
|
||||
*
|
||||
* @property name the name of the class
|
||||
*/
|
||||
data class Class(val name: ClassName) : KmClassifier()
|
||||
public data class Class(val name: ClassName) : KmClassifier()
|
||||
|
||||
/**
|
||||
* Represents a type parameter used as a classifier in a type.
|
||||
*
|
||||
* @property id id of the type parameter
|
||||
*/
|
||||
data class TypeParameter(val id: Int) : KmClassifier()
|
||||
public data class TypeParameter(val id: Int) : KmClassifier()
|
||||
|
||||
/**
|
||||
* Represents a type alias used as a classifier in a type. Note that all types are expanded for metadata produced
|
||||
@@ -1210,7 +1210,7 @@ sealed class KmClassifier {
|
||||
*
|
||||
* @property name the name of the type alias
|
||||
*/
|
||||
data class TypeAlias(val name: ClassName) : KmClassifier()
|
||||
public data class TypeAlias(val name: ClassName) : KmClassifier()
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1220,17 +1220,17 @@ sealed class KmClassifier {
|
||||
* @property variance the variance of the type projection, or `null` if this is a star projection
|
||||
* @property type the projected type, or `null` if this is a star projection
|
||||
*/
|
||||
data class KmTypeProjection(var variance: KmVariance?, var type: KmType?) {
|
||||
public data class KmTypeProjection(var variance: KmVariance?, var type: KmType?) {
|
||||
/**
|
||||
* Contains default instance for star projection: [KmTypeProjection.STAR].
|
||||
*/
|
||||
companion object {
|
||||
public companion object {
|
||||
/**
|
||||
* Star projection (`*`).
|
||||
* For example, in `MutableMap<in String?, *>`, `*` is the star projection which is the second type argument of the type.
|
||||
*/
|
||||
@JvmField
|
||||
val STAR = KmTypeProjection(null, null)
|
||||
public val STAR: KmTypeProjection = KmTypeProjection(null, null)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1241,7 +1241,7 @@ data class KmTypeProjection(var variance: KmVariance?, var type: KmType?) {
|
||||
* @property typeFlexibilityId id of the kind of flexibility this type has. For example, "kotlin.jvm.PlatformType" for JVM platform types,
|
||||
* or "kotlin.DynamicType" for JS dynamic type
|
||||
*/
|
||||
data class KmFlexibleTypeUpperBound(var type: KmType, var typeFlexibilityId: String?)
|
||||
public data class KmFlexibleTypeUpperBound(var type: KmType, var typeFlexibilityId: String?)
|
||||
|
||||
/**
|
||||
* Represents a version used in a version requirement.
|
||||
@@ -1250,7 +1250,7 @@ data class KmFlexibleTypeUpperBound(var type: KmType, var typeFlexibilityId: Str
|
||||
* @property minor the minor component of the version (e.g. "2" in "1.2.3")
|
||||
* @property patch the patch component of the version (e.g. "3" in "1.2.3")
|
||||
*/
|
||||
data class KmVersion(val major: Int, val minor: Int, val patch: Int) {
|
||||
public data class KmVersion(val major: Int, val minor: Int, val patch: Int) {
|
||||
|
||||
/**
|
||||
* Returns a string representation of this version in "$major.$minor.$patch" form.
|
||||
@@ -1267,7 +1267,7 @@ data class KmVersion(val major: Int, val minor: Int, val patch: Int) {
|
||||
* @property value the constant value. May be `true`, `false` or `null`
|
||||
*/
|
||||
@ExperimentalContracts
|
||||
data class KmConstantValue(val value: Any?)
|
||||
public data class KmConstantValue(val value: Any?)
|
||||
|
||||
internal fun <T> T.addTo(collection: MutableCollection<T>): T {
|
||||
collection.add(this)
|
||||
|
||||
@@ -16,4 +16,4 @@ package kotlinx.metadata
|
||||
RequiresOptIn.Level.ERROR
|
||||
)
|
||||
@MustBeDocumented
|
||||
annotation class ExperimentalContextReceivers
|
||||
public annotation class ExperimentalContextReceivers
|
||||
|
||||
@@ -15,14 +15,14 @@ internal const val VISITOR_API_MESSAGE =
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@Suppress("DEPRECATION")
|
||||
abstract class KmDeclarationContainerVisitor @JvmOverloads constructor(protected open val delegate: KmDeclarationContainerVisitor? = null) {
|
||||
public abstract class KmDeclarationContainerVisitor @JvmOverloads constructor(protected open val delegate: KmDeclarationContainerVisitor? = null) {
|
||||
/**
|
||||
* Visits a function in the container.
|
||||
*
|
||||
* @param flags function flags, consisting of [Flag.HAS_ANNOTATIONS], visibility flag, modality flag and [Flag.Function] flags
|
||||
* @param name the name of the function
|
||||
*/
|
||||
open fun visitFunction(flags: Int, name: String): KmFunctionVisitor? =
|
||||
public open fun visitFunction(flags: Int, name: String): KmFunctionVisitor? =
|
||||
delegate?.visitFunction(flags, name)
|
||||
|
||||
/**
|
||||
@@ -35,7 +35,7 @@ abstract class KmDeclarationContainerVisitor @JvmOverloads constructor(protected
|
||||
* @param setterFlags property accessor flags, consisting of [Flag.HAS_ANNOTATIONS], visibility flag, modality flag
|
||||
* and [Flag.PropertyAccessor] flags
|
||||
*/
|
||||
open fun visitProperty(flags: Int, name: String, getterFlags: Int, setterFlags: Int): KmPropertyVisitor? =
|
||||
public open fun visitProperty(flags: Int, name: String, getterFlags: Int, setterFlags: Int): KmPropertyVisitor? =
|
||||
delegate?.visitProperty(flags, name, getterFlags, setterFlags)
|
||||
|
||||
/**
|
||||
@@ -44,7 +44,7 @@ abstract class KmDeclarationContainerVisitor @JvmOverloads constructor(protected
|
||||
* @param flags type alias flags, consisting of [Flag.HAS_ANNOTATIONS] and visibility flag
|
||||
* @param name the name of the type alias
|
||||
*/
|
||||
open fun visitTypeAlias(flags: Int, name: String): KmTypeAliasVisitor? =
|
||||
public open fun visitTypeAlias(flags: Int, name: String): KmTypeAliasVisitor? =
|
||||
delegate?.visitTypeAlias(flags, name)
|
||||
|
||||
/**
|
||||
@@ -52,7 +52,7 @@ abstract class KmDeclarationContainerVisitor @JvmOverloads constructor(protected
|
||||
*
|
||||
* @param type the type of extension visitor to be returned
|
||||
*/
|
||||
abstract fun visitExtensions(type: KmExtensionType): KmDeclarationContainerExtensionVisitor?
|
||||
public abstract fun visitExtensions(type: KmExtensionType): KmDeclarationContainerExtensionVisitor?
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -63,7 +63,7 @@ abstract class KmDeclarationContainerVisitor @JvmOverloads constructor(protected
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@Suppress("DEPRECATION")
|
||||
abstract class KmClassVisitor @JvmOverloads constructor(delegate: KmClassVisitor? = null) : KmDeclarationContainerVisitor(delegate) {
|
||||
public abstract class KmClassVisitor @JvmOverloads constructor(delegate: KmClassVisitor? = null) : KmDeclarationContainerVisitor(delegate) {
|
||||
override val delegate: KmClassVisitor?
|
||||
get() = super.delegate as KmClassVisitor?
|
||||
|
||||
@@ -73,7 +73,7 @@ abstract class KmClassVisitor @JvmOverloads constructor(delegate: KmClassVisitor
|
||||
* @param flags class flags, consisting of [Flag.HAS_ANNOTATIONS], visibility flag, modality flag and [Flag.Class] flags
|
||||
* @param name the name of the class
|
||||
*/
|
||||
open fun visit(flags: Int, name: ClassName) {
|
||||
public open fun visit(flags: Int, name: ClassName) {
|
||||
delegate?.visit(flags, name)
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ abstract class KmClassVisitor @JvmOverloads constructor(delegate: KmClassVisitor
|
||||
* the name isn't enough (e.g. `class A<T> { fun <T> foo(t: T) }`)
|
||||
* @param variance the declaration-site variance of the type parameter
|
||||
*/
|
||||
open fun visitTypeParameter(flags: Int, name: String, id: Int, variance: KmVariance): KmTypeParameterVisitor? =
|
||||
public open fun visitTypeParameter(flags: Int, name: String, id: Int, variance: KmVariance): KmTypeParameterVisitor? =
|
||||
delegate?.visitTypeParameter(flags, name, id, variance)
|
||||
|
||||
/**
|
||||
@@ -94,7 +94,7 @@ abstract class KmClassVisitor @JvmOverloads constructor(delegate: KmClassVisitor
|
||||
*
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
open fun visitSupertype(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitSupertype(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitSupertype(flags)
|
||||
|
||||
/**
|
||||
@@ -102,7 +102,7 @@ abstract class KmClassVisitor @JvmOverloads constructor(delegate: KmClassVisitor
|
||||
*
|
||||
* @param flags constructor flags, consisting of [Flag.HAS_ANNOTATIONS], visibility flag and [Flag.Constructor] flags
|
||||
*/
|
||||
open fun visitConstructor(flags: Int): KmConstructorVisitor? =
|
||||
public open fun visitConstructor(flags: Int): KmConstructorVisitor? =
|
||||
delegate?.visitConstructor(flags)
|
||||
|
||||
/**
|
||||
@@ -110,7 +110,7 @@ abstract class KmClassVisitor @JvmOverloads constructor(delegate: KmClassVisitor
|
||||
*
|
||||
* @param name the name of the companion object
|
||||
*/
|
||||
open fun visitCompanionObject(name: String) {
|
||||
public open fun visitCompanionObject(name: String) {
|
||||
delegate?.visitCompanionObject(name)
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ abstract class KmClassVisitor @JvmOverloads constructor(delegate: KmClassVisitor
|
||||
*
|
||||
* @param name the name of a nested class
|
||||
*/
|
||||
open fun visitNestedClass(name: String) {
|
||||
public open fun visitNestedClass(name: String) {
|
||||
delegate?.visitNestedClass(name)
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ abstract class KmClassVisitor @JvmOverloads constructor(delegate: KmClassVisitor
|
||||
*
|
||||
* @param name the name of an enum entry
|
||||
*/
|
||||
open fun visitEnumEntry(name: String) {
|
||||
public open fun visitEnumEntry(name: String) {
|
||||
delegate?.visitEnumEntry(name)
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ abstract class KmClassVisitor @JvmOverloads constructor(delegate: KmClassVisitor
|
||||
*
|
||||
* @param name the name of a direct subclass
|
||||
*/
|
||||
open fun visitSealedSubclass(name: ClassName) {
|
||||
public open fun visitSealedSubclass(name: ClassName) {
|
||||
delegate?.visitSealedSubclass(name)
|
||||
}
|
||||
|
||||
@@ -146,7 +146,7 @@ abstract class KmClassVisitor @JvmOverloads constructor(delegate: KmClassVisitor
|
||||
*
|
||||
* @param name the name of the underlying property.
|
||||
*/
|
||||
open fun visitInlineClassUnderlyingPropertyName(name: String) {
|
||||
public open fun visitInlineClassUnderlyingPropertyName(name: String) {
|
||||
delegate?.visitInlineClassUnderlyingPropertyName(name)
|
||||
}
|
||||
|
||||
@@ -155,7 +155,7 @@ abstract class KmClassVisitor @JvmOverloads constructor(delegate: KmClassVisitor
|
||||
*
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
open fun visitInlineClassUnderlyingType(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitInlineClassUnderlyingType(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitInlineClassUnderlyingType(flags)
|
||||
|
||||
/**
|
||||
@@ -164,13 +164,13 @@ abstract class KmClassVisitor @JvmOverloads constructor(delegate: KmClassVisitor
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
@ExperimentalContextReceivers
|
||||
open fun visitContextReceiverType(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitContextReceiverType(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitContextReceiverType(flags)
|
||||
|
||||
/**
|
||||
* Visits the version requirement on this class.
|
||||
*/
|
||||
open fun visitVersionRequirement(): KmVersionRequirementVisitor? =
|
||||
public open fun visitVersionRequirement(): KmVersionRequirementVisitor? =
|
||||
delegate?.visitVersionRequirement()
|
||||
|
||||
/**
|
||||
@@ -184,7 +184,7 @@ abstract class KmClassVisitor @JvmOverloads constructor(delegate: KmClassVisitor
|
||||
/**
|
||||
* Visits the end of the class.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
}
|
||||
@@ -196,7 +196,8 @@ abstract class KmClassVisitor @JvmOverloads constructor(delegate: KmClassVisitor
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@Suppress("DEPRECATION")
|
||||
abstract class KmPackageVisitor @JvmOverloads constructor(delegate: KmPackageVisitor? = null) : KmDeclarationContainerVisitor(delegate) {
|
||||
public abstract class KmPackageVisitor @JvmOverloads constructor(delegate: KmPackageVisitor? = null) :
|
||||
KmDeclarationContainerVisitor(delegate) {
|
||||
override val delegate: KmPackageVisitor?
|
||||
get() = super.delegate as KmPackageVisitor?
|
||||
|
||||
@@ -211,7 +212,7 @@ abstract class KmPackageVisitor @JvmOverloads constructor(delegate: KmPackageVis
|
||||
/**
|
||||
* Visits the end of the package fragment.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
}
|
||||
@@ -223,20 +224,20 @@ abstract class KmPackageVisitor @JvmOverloads constructor(delegate: KmPackageVis
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@Suppress("DEPRECATION")
|
||||
abstract class KmLambdaVisitor @JvmOverloads constructor(private val delegate: KmLambdaVisitor? = null) {
|
||||
public abstract class KmLambdaVisitor @JvmOverloads constructor(private val delegate: KmLambdaVisitor? = null) {
|
||||
/**
|
||||
* Visits the signature of a synthetic anonymous function, representing the lambda.
|
||||
*
|
||||
* @param flags function flags, consisting of [Flag.HAS_ANNOTATIONS], visibility flag, modality flag and [Flag.Function] flags
|
||||
* @param name the name of the function (usually `"<anonymous>"` or `"<no name provided>"` for lambdas emitted by the Kotlin compiler)
|
||||
*/
|
||||
open fun visitFunction(flags: Int, name: String): KmFunctionVisitor? =
|
||||
public open fun visitFunction(flags: Int, name: String): KmFunctionVisitor? =
|
||||
delegate?.visitFunction(flags, name)
|
||||
|
||||
/**
|
||||
* Visits the end of the lambda.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
}
|
||||
@@ -248,20 +249,20 @@ abstract class KmLambdaVisitor @JvmOverloads constructor(private val delegate: K
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@Suppress("DEPRECATION")
|
||||
abstract class KmConstructorVisitor @JvmOverloads constructor(private val delegate: KmConstructorVisitor? = null) {
|
||||
public abstract class KmConstructorVisitor @JvmOverloads constructor(private val delegate: KmConstructorVisitor? = null) {
|
||||
/**
|
||||
* Visits a value parameter of the constructor.
|
||||
*
|
||||
* @param flags value parameter flags, consisting of [Flag.ValueParameter] flags
|
||||
* @param name the name of the value parameter
|
||||
*/
|
||||
open fun visitValueParameter(flags: Int, name: String): KmValueParameterVisitor? =
|
||||
public open fun visitValueParameter(flags: Int, name: String): KmValueParameterVisitor? =
|
||||
delegate?.visitValueParameter(flags, name)
|
||||
|
||||
/**
|
||||
* Visits the version requirement on this constructor.
|
||||
*/
|
||||
open fun visitVersionRequirement(): KmVersionRequirementVisitor? =
|
||||
public open fun visitVersionRequirement(): KmVersionRequirementVisitor? =
|
||||
delegate?.visitVersionRequirement()
|
||||
|
||||
/**
|
||||
@@ -269,13 +270,13 @@ abstract class KmConstructorVisitor @JvmOverloads constructor(private val delega
|
||||
*
|
||||
* @param type the type of extension visitor to be returned
|
||||
*/
|
||||
open fun visitExtensions(type: KmExtensionType): KmConstructorExtensionVisitor? =
|
||||
public open fun visitExtensions(type: KmExtensionType): KmConstructorExtensionVisitor? =
|
||||
delegate?.visitExtensions(type)
|
||||
|
||||
/**
|
||||
* Visits the end of the constructor.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
}
|
||||
@@ -288,7 +289,7 @@ abstract class KmConstructorVisitor @JvmOverloads constructor(private val delega
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@Suppress("DEPRECATION")
|
||||
abstract class KmFunctionVisitor @JvmOverloads constructor(private val delegate: KmFunctionVisitor? = null) {
|
||||
public abstract class KmFunctionVisitor @JvmOverloads constructor(private val delegate: KmFunctionVisitor? = null) {
|
||||
/**
|
||||
* Visits a type parameter of the function.
|
||||
*
|
||||
@@ -298,24 +299,24 @@ abstract class KmFunctionVisitor @JvmOverloads constructor(private val delegate:
|
||||
* the name isn't enough (e.g. `class A<T> { fun <T> foo(t: T) }`)
|
||||
* @param variance the declaration-site variance of the type parameter
|
||||
*/
|
||||
open fun visitTypeParameter(flags: Int, name: String, id: Int, variance: KmVariance): KmTypeParameterVisitor? =
|
||||
public open fun visitTypeParameter(flags: Int, name: String, id: Int, variance: KmVariance): KmTypeParameterVisitor? =
|
||||
delegate?.visitTypeParameter(flags, name, id, variance)
|
||||
|
||||
/**
|
||||
* Visits the type of the receiver of the function, if this is an extension function.
|
||||
* Visits the type of the receiver of the function if this is an extension function.
|
||||
*
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
open fun visitReceiverParameterType(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitReceiverParameterType(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitReceiverParameterType(flags)
|
||||
|
||||
/**
|
||||
* Visits the type of a context receiver of the function.
|
||||
* Visits the type of the context receiver of the function.
|
||||
*
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
@ExperimentalContextReceivers
|
||||
open fun visitContextReceiverType(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitContextReceiverType(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitContextReceiverType(flags)
|
||||
|
||||
/**
|
||||
@@ -324,7 +325,7 @@ abstract class KmFunctionVisitor @JvmOverloads constructor(private val delegate:
|
||||
* @param flags value parameter flags, consisting of [Flag.ValueParameter] flags
|
||||
* @param name the name of the value parameter
|
||||
*/
|
||||
open fun visitValueParameter(flags: Int, name: String): KmValueParameterVisitor? =
|
||||
public open fun visitValueParameter(flags: Int, name: String): KmValueParameterVisitor? =
|
||||
delegate?.visitValueParameter(flags, name)
|
||||
|
||||
/**
|
||||
@@ -332,20 +333,20 @@ abstract class KmFunctionVisitor @JvmOverloads constructor(private val delegate:
|
||||
*
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
open fun visitReturnType(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitReturnType(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitReturnType(flags)
|
||||
|
||||
/**
|
||||
* Visits the version requirement on this function.
|
||||
*/
|
||||
open fun visitVersionRequirement(): KmVersionRequirementVisitor? =
|
||||
public open fun visitVersionRequirement(): KmVersionRequirementVisitor? =
|
||||
delegate?.visitVersionRequirement()
|
||||
|
||||
/**
|
||||
* Visits the contract of the function.
|
||||
*/
|
||||
@ExperimentalContracts
|
||||
open fun visitContract(): KmContractVisitor? =
|
||||
public open fun visitContract(): KmContractVisitor? =
|
||||
delegate?.visitContract()
|
||||
|
||||
/**
|
||||
@@ -353,13 +354,13 @@ abstract class KmFunctionVisitor @JvmOverloads constructor(private val delegate:
|
||||
*
|
||||
* @param type the type of extension visitor to be returned
|
||||
*/
|
||||
open fun visitExtensions(type: KmExtensionType): KmFunctionExtensionVisitor? =
|
||||
public open fun visitExtensions(type: KmExtensionType): KmFunctionExtensionVisitor? =
|
||||
delegate?.visitExtensions(type)
|
||||
|
||||
/**
|
||||
* Visits the end of the function.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
}
|
||||
@@ -372,7 +373,7 @@ abstract class KmFunctionVisitor @JvmOverloads constructor(private val delegate:
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@Suppress("DEPRECATION")
|
||||
abstract class KmPropertyVisitor @JvmOverloads constructor(private val delegate: KmPropertyVisitor? = null) {
|
||||
public abstract class KmPropertyVisitor @JvmOverloads constructor(private val delegate: KmPropertyVisitor? = null) {
|
||||
/**
|
||||
* Visits a type parameter of the property.
|
||||
*
|
||||
@@ -382,15 +383,15 @@ abstract class KmPropertyVisitor @JvmOverloads constructor(private val delegate:
|
||||
* the name isn't enough (e.g. `class A<T> { fun <T> foo(t: T) }`)
|
||||
* @param variance the declaration-site variance of the type parameter
|
||||
*/
|
||||
open fun visitTypeParameter(flags: Int, name: String, id: Int, variance: KmVariance): KmTypeParameterVisitor? =
|
||||
public open fun visitTypeParameter(flags: Int, name: String, id: Int, variance: KmVariance): KmTypeParameterVisitor? =
|
||||
delegate?.visitTypeParameter(flags, name, id, variance)
|
||||
|
||||
/**
|
||||
* Visits the type of the receiver of the property, if this is an extension property.
|
||||
* Visits the type of the receiver of the property if this is an extension property.
|
||||
*
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
open fun visitReceiverParameterType(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitReceiverParameterType(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitReceiverParameterType(flags)
|
||||
|
||||
/**
|
||||
@@ -399,7 +400,7 @@ abstract class KmPropertyVisitor @JvmOverloads constructor(private val delegate:
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
@ExperimentalContextReceivers
|
||||
open fun visitContextReceiverType(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitContextReceiverType(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitContextReceiverType(flags)
|
||||
|
||||
/**
|
||||
@@ -408,7 +409,7 @@ abstract class KmPropertyVisitor @JvmOverloads constructor(private val delegate:
|
||||
* @param flags value parameter flags, consisting of [Flag.ValueParameter] flags
|
||||
* @param name the name of the value parameter (`"<set-?>"` for properties emitted by the Kotlin compiler)
|
||||
*/
|
||||
open fun visitSetterParameter(flags: Int, name: String): KmValueParameterVisitor? =
|
||||
public open fun visitSetterParameter(flags: Int, name: String): KmValueParameterVisitor? =
|
||||
delegate?.visitSetterParameter(flags, name)
|
||||
|
||||
/**
|
||||
@@ -416,13 +417,13 @@ abstract class KmPropertyVisitor @JvmOverloads constructor(private val delegate:
|
||||
*
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
open fun visitReturnType(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitReturnType(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitReturnType(flags)
|
||||
|
||||
/**
|
||||
* Visits the version requirement on this property.
|
||||
*/
|
||||
open fun visitVersionRequirement(): KmVersionRequirementVisitor? =
|
||||
public open fun visitVersionRequirement(): KmVersionRequirementVisitor? =
|
||||
delegate?.visitVersionRequirement()
|
||||
|
||||
/**
|
||||
@@ -430,13 +431,13 @@ abstract class KmPropertyVisitor @JvmOverloads constructor(private val delegate:
|
||||
*
|
||||
* @param type the type of extension visitor to be returned
|
||||
*/
|
||||
open fun visitExtensions(type: KmExtensionType): KmPropertyExtensionVisitor? =
|
||||
public open fun visitExtensions(type: KmExtensionType): KmPropertyExtensionVisitor? =
|
||||
delegate?.visitExtensions(type)
|
||||
|
||||
/**
|
||||
* Visits the end of the property.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
}
|
||||
@@ -449,7 +450,7 @@ abstract class KmPropertyVisitor @JvmOverloads constructor(private val delegate:
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@Suppress("DEPRECATION")
|
||||
abstract class KmTypeAliasVisitor @JvmOverloads constructor(private val delegate: KmTypeAliasVisitor? = null) {
|
||||
public abstract class KmTypeAliasVisitor @JvmOverloads constructor(private val delegate: KmTypeAliasVisitor? = null) {
|
||||
/**
|
||||
* Visits a type parameter of the type alias.
|
||||
*
|
||||
@@ -459,7 +460,7 @@ abstract class KmTypeAliasVisitor @JvmOverloads constructor(private val delegate
|
||||
* the name isn't enough (e.g. `class A<T> { fun <T> foo(t: T) }`)
|
||||
* @param variance the declaration-site variance of the type parameter
|
||||
*/
|
||||
open fun visitTypeParameter(flags: Int, name: String, id: Int, variance: KmVariance): KmTypeParameterVisitor? =
|
||||
public open fun visitTypeParameter(flags: Int, name: String, id: Int, variance: KmVariance): KmTypeParameterVisitor? =
|
||||
delegate?.visitTypeParameter(flags, name, id, variance)
|
||||
|
||||
/**
|
||||
@@ -467,7 +468,7 @@ abstract class KmTypeAliasVisitor @JvmOverloads constructor(private val delegate
|
||||
*
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
open fun visitUnderlyingType(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitUnderlyingType(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitUnderlyingType(flags)
|
||||
|
||||
/**
|
||||
@@ -476,7 +477,7 @@ abstract class KmTypeAliasVisitor @JvmOverloads constructor(private val delegate
|
||||
*
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
open fun visitExpandedType(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitExpandedType(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitExpandedType(flags)
|
||||
|
||||
/**
|
||||
@@ -484,14 +485,14 @@ abstract class KmTypeAliasVisitor @JvmOverloads constructor(private val delegate
|
||||
*
|
||||
* @param annotation annotation on the type alias
|
||||
*/
|
||||
open fun visitAnnotation(annotation: KmAnnotation) {
|
||||
public open fun visitAnnotation(annotation: KmAnnotation) {
|
||||
delegate?.visitAnnotation(annotation)
|
||||
}
|
||||
|
||||
/**
|
||||
* Visits the version requirement on this type alias.
|
||||
*/
|
||||
open fun visitVersionRequirement(): KmVersionRequirementVisitor? =
|
||||
public open fun visitVersionRequirement(): KmVersionRequirementVisitor? =
|
||||
delegate?.visitVersionRequirement()
|
||||
|
||||
/**
|
||||
@@ -499,13 +500,13 @@ abstract class KmTypeAliasVisitor @JvmOverloads constructor(private val delegate
|
||||
*
|
||||
* @param type the type of extension visitor to be returned
|
||||
*/
|
||||
open fun visitExtensions(type: KmExtensionType): KmTypeAliasExtensionVisitor? =
|
||||
public open fun visitExtensions(type: KmExtensionType): KmTypeAliasExtensionVisitor? =
|
||||
delegate?.visitExtensions(type)
|
||||
|
||||
/**
|
||||
* Visits the end of the type alias.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
}
|
||||
@@ -518,13 +519,13 @@ abstract class KmTypeAliasVisitor @JvmOverloads constructor(private val delegate
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@Suppress("DEPRECATION")
|
||||
abstract class KmValueParameterVisitor @JvmOverloads constructor(private val delegate: KmValueParameterVisitor? = null) {
|
||||
public abstract class KmValueParameterVisitor @JvmOverloads constructor(private val delegate: KmValueParameterVisitor? = null) {
|
||||
/**
|
||||
* Visits the type of the value parameter, if this is **not** a `vararg` parameter.
|
||||
*
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
open fun visitType(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitType(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitType(flags)
|
||||
|
||||
/**
|
||||
@@ -532,7 +533,7 @@ abstract class KmValueParameterVisitor @JvmOverloads constructor(private val del
|
||||
*
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
open fun visitVarargElementType(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitVarargElementType(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitVarargElementType(flags)
|
||||
|
||||
/**
|
||||
@@ -540,13 +541,13 @@ abstract class KmValueParameterVisitor @JvmOverloads constructor(private val del
|
||||
*
|
||||
* @param type the type of extension visitor to be returned
|
||||
*/
|
||||
open fun visitExtensions(type: KmExtensionType): KmValueParameterExtensionVisitor? =
|
||||
public open fun visitExtensions(type: KmExtensionType): KmValueParameterExtensionVisitor? =
|
||||
delegate?.visitExtensions(type)
|
||||
|
||||
/**
|
||||
* Visits the end of the value parameter.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
}
|
||||
@@ -558,13 +559,13 @@ abstract class KmValueParameterVisitor @JvmOverloads constructor(private val del
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@Suppress("DEPRECATION")
|
||||
abstract class KmTypeParameterVisitor @JvmOverloads constructor(private val delegate: KmTypeParameterVisitor? = null) {
|
||||
public abstract class KmTypeParameterVisitor @JvmOverloads constructor(private val delegate: KmTypeParameterVisitor? = null) {
|
||||
/**
|
||||
* Visits the upper bound of the type parameter.
|
||||
*
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
open fun visitUpperBound(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitUpperBound(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitUpperBound(flags)
|
||||
|
||||
/**
|
||||
@@ -572,13 +573,13 @@ abstract class KmTypeParameterVisitor @JvmOverloads constructor(private val dele
|
||||
*
|
||||
* @param type the type of extension visitor to be returned
|
||||
*/
|
||||
open fun visitExtensions(type: KmExtensionType): KmTypeParameterExtensionVisitor? =
|
||||
public open fun visitExtensions(type: KmExtensionType): KmTypeParameterExtensionVisitor? =
|
||||
delegate?.visitExtensions(type)
|
||||
|
||||
/**
|
||||
* Visits the end of the type parameter.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
}
|
||||
@@ -596,13 +597,13 @@ abstract class KmTypeParameterVisitor @JvmOverloads constructor(private val dele
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@Suppress("DEPRECATION")
|
||||
abstract class KmTypeVisitor @JvmOverloads constructor(private val delegate: KmTypeVisitor? = null) {
|
||||
public abstract class KmTypeVisitor @JvmOverloads constructor(private val delegate: KmTypeVisitor? = null) {
|
||||
/**
|
||||
* Visits the name of the class, if this type's classifier is a class.
|
||||
*
|
||||
* @param name the name of the class
|
||||
*/
|
||||
open fun visitClass(name: ClassName) {
|
||||
public open fun visitClass(name: ClassName) {
|
||||
delegate?.visitClass(name)
|
||||
}
|
||||
|
||||
@@ -612,7 +613,7 @@ abstract class KmTypeVisitor @JvmOverloads constructor(private val delegate: KmT
|
||||
*
|
||||
* @param name the name of the type alias
|
||||
*/
|
||||
open fun visitTypeAlias(name: ClassName) {
|
||||
public open fun visitTypeAlias(name: ClassName) {
|
||||
delegate?.visitTypeAlias(name)
|
||||
}
|
||||
|
||||
@@ -621,7 +622,7 @@ abstract class KmTypeVisitor @JvmOverloads constructor(private val delegate: KmT
|
||||
*
|
||||
* @param id id of the type parameter
|
||||
*/
|
||||
open fun visitTypeParameter(id: Int) {
|
||||
public open fun visitTypeParameter(id: Int) {
|
||||
delegate?.visitTypeParameter(id)
|
||||
}
|
||||
|
||||
@@ -632,14 +633,14 @@ abstract class KmTypeVisitor @JvmOverloads constructor(private val delegate: KmT
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
* @param variance the variance of the type projection
|
||||
*/
|
||||
open fun visitArgument(flags: Int, variance: KmVariance): KmTypeVisitor? =
|
||||
public open fun visitArgument(flags: Int, variance: KmVariance): KmTypeVisitor? =
|
||||
delegate?.visitArgument(flags, variance)
|
||||
|
||||
/**
|
||||
* Visits the star (`*`) projection used in a type argument of the type based on a class or on a type alias.
|
||||
* For example, in `MutableMap<in String?, *>`, `*` is the star projection which is the second type argument of the type.
|
||||
*/
|
||||
open fun visitStarProjection() {
|
||||
public open fun visitStarProjection() {
|
||||
delegate?.visitStarProjection()
|
||||
}
|
||||
|
||||
@@ -654,7 +655,7 @@ abstract class KmTypeVisitor @JvmOverloads constructor(private val delegate: KmT
|
||||
*
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
open fun visitAbbreviatedType(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitAbbreviatedType(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitAbbreviatedType(flags)
|
||||
|
||||
/**
|
||||
@@ -669,7 +670,7 @@ abstract class KmTypeVisitor @JvmOverloads constructor(private val delegate: KmT
|
||||
*
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
open fun visitOuterType(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitOuterType(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitOuterType(flags)
|
||||
|
||||
/**
|
||||
@@ -680,7 +681,7 @@ abstract class KmTypeVisitor @JvmOverloads constructor(private val delegate: KmT
|
||||
* @param typeFlexibilityId id of the kind of flexibility this type has. For example, "kotlin.jvm.PlatformType" for JVM platform types,
|
||||
* or "kotlin.DynamicType" for JS dynamic type
|
||||
*/
|
||||
open fun visitFlexibleTypeUpperBound(flags: Int, typeFlexibilityId: String?): KmTypeVisitor? =
|
||||
public open fun visitFlexibleTypeUpperBound(flags: Int, typeFlexibilityId: String?): KmTypeVisitor? =
|
||||
delegate?.visitFlexibleTypeUpperBound(flags, typeFlexibilityId)
|
||||
|
||||
/**
|
||||
@@ -688,13 +689,13 @@ abstract class KmTypeVisitor @JvmOverloads constructor(private val delegate: KmT
|
||||
*
|
||||
* @param type the type of extension visitor to be returned
|
||||
*/
|
||||
open fun visitExtensions(type: KmExtensionType): KmTypeExtensionVisitor? =
|
||||
public open fun visitExtensions(type: KmExtensionType): KmTypeExtensionVisitor? =
|
||||
delegate?.visitExtensions(type)
|
||||
|
||||
/**
|
||||
* Visits the end of the type.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
}
|
||||
@@ -708,7 +709,7 @@ abstract class KmTypeVisitor @JvmOverloads constructor(private val delegate: KmT
|
||||
* When using this class, [visit] must be called first, followed by [visitVersion], followed by [visitEnd].
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
abstract class KmVersionRequirementVisitor @JvmOverloads constructor(@Suppress("DEPRECATION") private val delegate: KmVersionRequirementVisitor? = null) {
|
||||
public abstract class KmVersionRequirementVisitor @JvmOverloads constructor(@Suppress("DEPRECATION") private val delegate: KmVersionRequirementVisitor? = null) {
|
||||
/**
|
||||
* Visits the description of this version requirement.
|
||||
*
|
||||
@@ -718,7 +719,7 @@ abstract class KmVersionRequirementVisitor @JvmOverloads constructor(@Suppress("
|
||||
* @param errorCode optional error code to be displayed in the diagnostic
|
||||
* @param message optional message to be displayed in the diagnostic
|
||||
*/
|
||||
open fun visit(kind: KmVersionRequirementVersionKind, level: KmVersionRequirementLevel, errorCode: Int?, message: String?) {
|
||||
public open fun visit(kind: KmVersionRequirementVersionKind, level: KmVersionRequirementLevel, errorCode: Int?, message: String?) {
|
||||
delegate?.visit(kind, level, errorCode, message)
|
||||
}
|
||||
|
||||
@@ -729,14 +730,14 @@ abstract class KmVersionRequirementVisitor @JvmOverloads constructor(@Suppress("
|
||||
* @param minor the minor component of the version (e.g. "2" in "1.2.3")
|
||||
* @param patch the patch component of the version (e.g. "3" in "1.2.3")
|
||||
*/
|
||||
open fun visitVersion(major: Int, minor: Int, patch: Int) {
|
||||
public open fun visitVersion(major: Int, minor: Int, patch: Int) {
|
||||
delegate?.visitVersion(major, minor, patch)
|
||||
}
|
||||
|
||||
/**
|
||||
* Visits the end of the version requirement.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
}
|
||||
@@ -752,7 +753,7 @@ abstract class KmVersionRequirementVisitor @JvmOverloads constructor(@Suppress("
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@Suppress("DEPRECATION")
|
||||
@ExperimentalContracts
|
||||
abstract class KmContractVisitor @JvmOverloads constructor(private val delegate: KmContractVisitor? = null) {
|
||||
public abstract class KmContractVisitor @JvmOverloads constructor(private val delegate: KmContractVisitor? = null) {
|
||||
/**
|
||||
* Visits an effect of this contract.
|
||||
*
|
||||
@@ -760,13 +761,13 @@ abstract class KmContractVisitor @JvmOverloads constructor(private val delegate:
|
||||
* @param invocationKind optional number of invocations of the lambda parameter of this function,
|
||||
* specified further in the effect expression
|
||||
*/
|
||||
open fun visitEffect(type: KmEffectType, invocationKind: KmEffectInvocationKind?): KmEffectVisitor? =
|
||||
public open fun visitEffect(type: KmEffectType, invocationKind: KmEffectInvocationKind?): KmEffectVisitor? =
|
||||
delegate?.visitEffect(type, invocationKind)
|
||||
|
||||
/**
|
||||
* Visits the end of the contract.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
}
|
||||
@@ -783,25 +784,25 @@ abstract class KmContractVisitor @JvmOverloads constructor(private val delegate:
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@Suppress("DEPRECATION")
|
||||
@ExperimentalContracts
|
||||
abstract class KmEffectVisitor @JvmOverloads constructor(private val delegate: KmEffectVisitor? = null) {
|
||||
public abstract class KmEffectVisitor @JvmOverloads constructor(private val delegate: KmEffectVisitor? = null) {
|
||||
/**
|
||||
* Visits the optional argument of the effect constructor, i.e. the constant value for the [KmEffectType.RETURNS_CONSTANT] effect,
|
||||
* or the parameter reference for the [KmEffectType.CALLS] effect.
|
||||
*/
|
||||
open fun visitConstructorArgument(): KmEffectExpressionVisitor? =
|
||||
public open fun visitConstructorArgument(): KmEffectExpressionVisitor? =
|
||||
delegate?.visitConstructorArgument()
|
||||
|
||||
/**
|
||||
* Visits the optional conclusion of the effect. If this method is called, the effect represents an implication with the
|
||||
* right-hand side handled by the returned visitor.
|
||||
*/
|
||||
open fun visitConclusionOfConditionalEffect(): KmEffectExpressionVisitor? =
|
||||
public open fun visitConclusionOfConditionalEffect(): KmEffectExpressionVisitor? =
|
||||
delegate?.visitConclusionOfConditionalEffect()
|
||||
|
||||
/**
|
||||
* Visits the end of the effect.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
}
|
||||
@@ -817,7 +818,7 @@ abstract class KmEffectVisitor @JvmOverloads constructor(private val delegate: K
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@Suppress("DEPRECATION")
|
||||
@ExperimentalContracts
|
||||
abstract class KmEffectExpressionVisitor @JvmOverloads constructor(private val delegate: KmEffectExpressionVisitor? = null) {
|
||||
public abstract class KmEffectExpressionVisitor @JvmOverloads constructor(private val delegate: KmEffectExpressionVisitor? = null) {
|
||||
/**
|
||||
* Visits the basic information of the effect expression.
|
||||
*
|
||||
@@ -825,7 +826,7 @@ abstract class KmEffectExpressionVisitor @JvmOverloads constructor(private val d
|
||||
* @param parameterIndex optional 1-based index of the value parameter of the function, for effects which assert something about
|
||||
* the function parameters. The index 0 means the extension receiver parameter
|
||||
*/
|
||||
open fun visit(flags: Int, parameterIndex: Int?) {
|
||||
public open fun visit(flags: Int, parameterIndex: Int?) {
|
||||
delegate?.visit(flags, parameterIndex)
|
||||
}
|
||||
|
||||
@@ -834,7 +835,7 @@ abstract class KmEffectExpressionVisitor @JvmOverloads constructor(private val d
|
||||
*
|
||||
* @param value the constant value
|
||||
*/
|
||||
open fun visitConstantValue(value: Any?) {
|
||||
public open fun visitConstantValue(value: Any?) {
|
||||
delegate?.visitConstantValue(value)
|
||||
}
|
||||
|
||||
@@ -843,27 +844,27 @@ abstract class KmEffectExpressionVisitor @JvmOverloads constructor(private val d
|
||||
*
|
||||
* @param flags type flags, consisting of [Flag.Type] flags
|
||||
*/
|
||||
open fun visitIsInstanceType(flags: Int): KmTypeVisitor? =
|
||||
public open fun visitIsInstanceType(flags: Int): KmTypeVisitor? =
|
||||
delegate?.visitIsInstanceType(flags)
|
||||
|
||||
/**
|
||||
* Visits the argument of an `&&`-expression. If this method is called, the expression represents the left-hand side and
|
||||
* the returned visitor handles the right-hand side.
|
||||
*/
|
||||
open fun visitAndArgument(): KmEffectExpressionVisitor? =
|
||||
public open fun visitAndArgument(): KmEffectExpressionVisitor? =
|
||||
delegate?.visitAndArgument()
|
||||
|
||||
/**
|
||||
* Visits the argument of an `||`-expression. If this method is called, the expression represents the left-hand side and
|
||||
* the returned visitor handles the right-hand side.
|
||||
*/
|
||||
open fun visitOrArgument(): KmEffectExpressionVisitor? =
|
||||
public open fun visitOrArgument(): KmEffectExpressionVisitor? =
|
||||
delegate?.visitOrArgument()
|
||||
|
||||
/**
|
||||
* Visits the end of the effect expression.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
}
|
||||
@@ -872,7 +873,7 @@ abstract class KmEffectExpressionVisitor @JvmOverloads constructor(private val d
|
||||
* Variance applied to a type parameter on the declaration site (*declaration-site variance*),
|
||||
* or to a type in a projection (*use-site variance*).
|
||||
*/
|
||||
enum class KmVariance {
|
||||
public enum class KmVariance {
|
||||
/**
|
||||
* The affected type parameter or type is *invariant*, which means it has no variance applied to it.
|
||||
*/
|
||||
@@ -896,7 +897,7 @@ enum class KmVariance {
|
||||
* may change in a subsequent release.
|
||||
*/
|
||||
@ExperimentalContracts
|
||||
enum class KmEffectType {
|
||||
public enum class KmEffectType {
|
||||
/**
|
||||
* Represents `returns(value)` contract effect:
|
||||
* a situation when a function returns normally with the specified return value.
|
||||
@@ -927,7 +928,7 @@ enum class KmEffectType {
|
||||
* may change in a subsequent release.
|
||||
*/
|
||||
@ExperimentalContracts
|
||||
enum class KmEffectInvocationKind {
|
||||
public enum class KmEffectInvocationKind {
|
||||
/**
|
||||
* A function parameter will be invoked one time or not invoked at all.
|
||||
*/
|
||||
@@ -947,7 +948,7 @@ enum class KmEffectInvocationKind {
|
||||
/**
|
||||
* Severity of the diagnostic reported by the compiler when a version requirement is not satisfied.
|
||||
*/
|
||||
enum class KmVersionRequirementLevel {
|
||||
public enum class KmVersionRequirementLevel {
|
||||
/**
|
||||
* Represents a diagnostic with 'WARNING' severity.
|
||||
*/
|
||||
@@ -967,7 +968,7 @@ enum class KmVersionRequirementLevel {
|
||||
/**
|
||||
* The kind of the version that is required by a version requirement.
|
||||
*/
|
||||
enum class KmVersionRequirementVersionKind {
|
||||
public enum class KmVersionRequirementVersionKind {
|
||||
/**
|
||||
* Indicates that certain language version is required.
|
||||
*/
|
||||
|
||||
@@ -39,9 +39,9 @@ public class BooleanFlagDelegate<Node>(private val flags: KMutableProperty1<Node
|
||||
mask = 1 shl flag.offset
|
||||
}
|
||||
|
||||
operator fun getValue(thisRef: Node, property: KProperty<*>): Boolean = flag(flags.get(thisRef))
|
||||
public operator fun getValue(thisRef: Node, property: KProperty<*>): Boolean = flag(flags.get(thisRef))
|
||||
|
||||
operator fun setValue(thisRef: Node, property: KProperty<*>, value: Boolean) {
|
||||
public operator fun setValue(thisRef: Node, property: KProperty<*>, value: Boolean) {
|
||||
val newValue = if (value) flags.get(thisRef) or mask else flags.get(thisRef) and mask.inv()
|
||||
flags.set(thisRef, newValue)
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ package kotlinx.metadata.internal
|
||||
|
||||
import org.jetbrains.kotlin.metadata.deserialization.Flags as F
|
||||
|
||||
class FlagImpl(internal val offset: Int, internal val bitWidth: Int, internal val value: Int) : @Suppress("DEPRECATION") kotlinx.metadata.Flag() {
|
||||
public class FlagImpl(internal val offset: Int, internal val bitWidth: Int, internal val value: Int) : @Suppress("DEPRECATION") kotlinx.metadata.Flag() {
|
||||
@IgnoreInApiDump
|
||||
internal constructor(field: F.FlagField<*>, value: Int) : this(field.offset, field.bitWidth, value)
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.metadata.ProtoBuf.Annotation.Argument.Value.Type.*
|
||||
import org.jetbrains.kotlin.metadata.deserialization.Flags
|
||||
import org.jetbrains.kotlin.metadata.deserialization.NameResolver
|
||||
|
||||
fun ProtoBuf.Annotation.readAnnotation(strings: NameResolver): KmAnnotation =
|
||||
public fun ProtoBuf.Annotation.readAnnotation(strings: NameResolver): KmAnnotation =
|
||||
KmAnnotation(
|
||||
strings.getClassName(id),
|
||||
argumentList.mapNotNull { argument ->
|
||||
@@ -23,7 +23,7 @@ fun ProtoBuf.Annotation.readAnnotation(strings: NameResolver): KmAnnotation =
|
||||
}.toMap()
|
||||
)
|
||||
|
||||
fun ProtoBuf.Annotation.Argument.Value.readAnnotationArgument(strings: NameResolver): KmAnnotationArgument? {
|
||||
public fun ProtoBuf.Annotation.Argument.Value.readAnnotationArgument(strings: NameResolver): KmAnnotationArgument? {
|
||||
if (Flags.IS_UNSIGNED[flags]) {
|
||||
return when (type) {
|
||||
BYTE -> KmAnnotationArgument.UByteValue(intValue.toByte().toUByte())
|
||||
|
||||
@@ -18,29 +18,29 @@ import org.jetbrains.kotlin.metadata.deserialization.Flags as F
|
||||
* Allows to populate [ReadContext] with additional data
|
||||
* that can be used when reading metadata in [MetadataExtensions].
|
||||
*/
|
||||
interface ReadContextExtension
|
||||
public interface ReadContextExtension
|
||||
|
||||
class ReadContext(
|
||||
val strings: NameResolver,
|
||||
val types: TypeTable,
|
||||
public class ReadContext(
|
||||
public val strings: NameResolver,
|
||||
public val types: TypeTable,
|
||||
@get:IgnoreInApiDump internal val versionRequirements: VersionRequirementTable,
|
||||
private val parent: ReadContext? = null,
|
||||
val contextExtensions: List<ReadContextExtension> = emptyList()
|
||||
internal val contextExtensions: List<ReadContextExtension> = emptyList()
|
||||
) {
|
||||
private val typeParameterNameToId = mutableMapOf<Int, Int>()
|
||||
|
||||
internal val extensions = MetadataExtensions.INSTANCES
|
||||
|
||||
operator fun get(index: Int): String =
|
||||
public operator fun get(index: Int): String =
|
||||
strings.getString(index)
|
||||
|
||||
fun className(index: Int): ClassName =
|
||||
internal fun className(index: Int): ClassName =
|
||||
strings.getClassName(index)
|
||||
|
||||
fun getTypeParameterId(name: Int): Int? =
|
||||
internal fun getTypeParameterId(name: Int): Int? =
|
||||
typeParameterNameToId[name] ?: parent?.getTypeParameterId(name)
|
||||
|
||||
fun withTypeParameters(typeParameters: List<ProtoBuf.TypeParameter>): ReadContext =
|
||||
internal fun withTypeParameters(typeParameters: List<ProtoBuf.TypeParameter>): ReadContext =
|
||||
ReadContext(strings, types, versionRequirements, this, contextExtensions).apply {
|
||||
for (typeParameter in typeParameters) {
|
||||
typeParameterNameToId[typeParameter.name] = typeParameter.id
|
||||
@@ -49,7 +49,7 @@ class ReadContext(
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalContextReceivers::class)
|
||||
fun ProtoBuf.Class.accept(
|
||||
public fun ProtoBuf.Class.accept(
|
||||
v: KmClassVisitor,
|
||||
strings: NameResolver,
|
||||
contextExtensions: List<ReadContextExtension> = emptyList()
|
||||
@@ -130,7 +130,7 @@ private fun ProtoBuf.Class.loadInlineClassUnderlyingType(c: ReadContext): ProtoB
|
||||
?.returnType(c.types)
|
||||
}
|
||||
|
||||
fun ProtoBuf.Package.accept(
|
||||
public fun ProtoBuf.Package.accept(
|
||||
v: KmPackageVisitor,
|
||||
strings: NameResolver,
|
||||
contextExtensions: List<ReadContextExtension> = emptyList()
|
||||
@@ -151,7 +151,7 @@ fun ProtoBuf.Package.accept(
|
||||
v.visitEnd()
|
||||
}
|
||||
|
||||
fun ProtoBuf.PackageFragment.accept(
|
||||
public fun ProtoBuf.PackageFragment.accept(
|
||||
v: KmModuleFragmentVisitor,
|
||||
strings: NameResolver,
|
||||
contextExtensions: List<ReadContextExtension> = emptyList()
|
||||
@@ -197,7 +197,7 @@ private fun KmDeclarationContainerVisitor.visitDeclarations(
|
||||
}
|
||||
}
|
||||
|
||||
fun ProtoBuf.Function.accept(v: KmLambdaVisitor, strings: NameResolver) {
|
||||
public fun ProtoBuf.Function.accept(v: KmLambdaVisitor, strings: NameResolver) {
|
||||
val c = ReadContext(strings, TypeTable(typeTable), VersionRequirementTable.EMPTY)
|
||||
|
||||
v.visitFunction(flags, c[name])?.let { accept(it, c) }
|
||||
@@ -261,7 +261,7 @@ private fun ProtoBuf.Function.accept(v: KmFunctionVisitor, outer: ReadContext) {
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalContextReceivers::class)
|
||||
fun ProtoBuf.Property.accept(v: KmPropertyVisitor, outer: ReadContext) {
|
||||
public fun ProtoBuf.Property.accept(v: KmPropertyVisitor, outer: ReadContext) {
|
||||
val c = outer.withTypeParameters(typeParameterList)
|
||||
|
||||
for (typeParameter in typeParameterList) {
|
||||
@@ -520,10 +520,10 @@ private val ProtoBuf.Type.typeFlags: Int
|
||||
private val ProtoBuf.TypeParameter.typeParameterFlags: Int
|
||||
get() = if (reified) 1 else 0
|
||||
|
||||
fun ProtoBuf.Property.getPropertyGetterFlags(): Int =
|
||||
public fun ProtoBuf.Property.getPropertyGetterFlags(): Int =
|
||||
if (hasGetterFlags()) getterFlags else getDefaultPropertyAccessorFlags(flags)
|
||||
|
||||
fun ProtoBuf.Property.getPropertySetterFlags(): Int =
|
||||
public fun ProtoBuf.Property.getPropertySetterFlags(): Int =
|
||||
if (hasSetterFlags()) setterFlags else getDefaultPropertyAccessorFlags(flags)
|
||||
|
||||
internal fun getDefaultPropertyAccessorFlags(flags: Int): Int =
|
||||
|
||||
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||
import org.jetbrains.kotlin.metadata.deserialization.Flags
|
||||
import org.jetbrains.kotlin.metadata.serialization.StringTable
|
||||
|
||||
fun KmAnnotation.writeAnnotation(strings: StringTable): ProtoBuf.Annotation.Builder =
|
||||
public fun KmAnnotation.writeAnnotation(strings: StringTable): ProtoBuf.Annotation.Builder =
|
||||
ProtoBuf.Annotation.newBuilder().apply {
|
||||
id = strings.getClassNameIndex(className)
|
||||
for ((name, argument) in arguments) {
|
||||
@@ -24,7 +24,7 @@ fun KmAnnotation.writeAnnotation(strings: StringTable): ProtoBuf.Annotation.Buil
|
||||
}
|
||||
}
|
||||
|
||||
fun KmAnnotationArgument.writeAnnotationArgument(strings: StringTable): ProtoBuf.Annotation.Argument.Value.Builder =
|
||||
public fun KmAnnotationArgument.writeAnnotationArgument(strings: StringTable): ProtoBuf.Annotation.Argument.Value.Builder =
|
||||
ProtoBuf.Annotation.Argument.Value.newBuilder().apply {
|
||||
when (this@writeAnnotationArgument) {
|
||||
is KmAnnotationArgument.ByteValue -> {
|
||||
|
||||
@@ -19,15 +19,15 @@ import kotlin.contracts.ExperimentalContracts
|
||||
* Allows to populate [WriteContext] with additional data
|
||||
* that can be used when writing metadata in [MetadataExtensions].
|
||||
*/
|
||||
interface WriteContextExtension
|
||||
public interface WriteContextExtension
|
||||
|
||||
open class WriteContext(val strings: StringTable, val contextExtensions: List<WriteContextExtension> = emptyList()) {
|
||||
val versionRequirements: MutableVersionRequirementTable = MutableVersionRequirementTable()
|
||||
public open class WriteContext(public val strings: StringTable, public val contextExtensions: List<WriteContextExtension> = emptyList()) {
|
||||
internal val versionRequirements: MutableVersionRequirementTable = MutableVersionRequirementTable()
|
||||
|
||||
operator fun get(string: String): Int =
|
||||
public operator fun get(string: String): Int =
|
||||
strings.getStringIndex(string)
|
||||
|
||||
fun getClassName(name: ClassName): Int =
|
||||
internal fun getClassName(name: ClassName): Int =
|
||||
strings.getClassNameIndex(name)
|
||||
}
|
||||
|
||||
@@ -191,7 +191,7 @@ private fun writeFunction(c: WriteContext, flags: Int, name: String, output: (Pr
|
||||
}
|
||||
}
|
||||
|
||||
fun writeProperty(
|
||||
public fun writeProperty(
|
||||
c: WriteContext, flags: Int, name: String, getterFlags: Int, setterFlags: Int, output: (ProtoBuf.Property.Builder) -> Unit
|
||||
): KmPropertyVisitor = object : KmPropertyVisitor() {
|
||||
val t = ProtoBuf.Property.newBuilder()
|
||||
@@ -424,8 +424,8 @@ private fun writeEffectExpression(c: WriteContext, output: (ProtoBuf.Expression.
|
||||
}
|
||||
}
|
||||
|
||||
open class ClassWriter(stringTable: StringTable, contextExtensions: List<WriteContextExtension> = emptyList()) : KmClassVisitor() {
|
||||
protected val t = ProtoBuf.Class.newBuilder()!!
|
||||
public open class ClassWriter(stringTable: StringTable, contextExtensions: List<WriteContextExtension> = emptyList()) : KmClassVisitor() {
|
||||
protected val t: ProtoBuf.Class.Builder = ProtoBuf.Class.newBuilder()!!
|
||||
protected val c: WriteContext = WriteContext(stringTable, contextExtensions)
|
||||
|
||||
override fun visit(flags: Int, name: ClassName) {
|
||||
@@ -497,8 +497,8 @@ open class ClassWriter(stringTable: StringTable, contextExtensions: List<WriteCo
|
||||
}
|
||||
}
|
||||
|
||||
open class PackageWriter(stringTable: StringTable, contextExtensions: List<WriteContextExtension> = emptyList()) : KmPackageVisitor() {
|
||||
protected val t = ProtoBuf.Package.newBuilder()!!
|
||||
public open class PackageWriter(stringTable: StringTable, contextExtensions: List<WriteContextExtension> = emptyList()) : KmPackageVisitor() {
|
||||
protected val t: ProtoBuf.Package.Builder = ProtoBuf.Package.newBuilder()!!
|
||||
protected val c: WriteContext = WriteContext(stringTable, contextExtensions)
|
||||
|
||||
override fun visitFunction(flags: Int, name: String): KmFunctionVisitor? =
|
||||
@@ -522,9 +522,9 @@ open class PackageWriter(stringTable: StringTable, contextExtensions: List<Write
|
||||
}
|
||||
}
|
||||
|
||||
open class ModuleFragmentWriter(stringTable: StringTable, contextExtensions: List<WriteContextExtension> = emptyList()) :
|
||||
public open class ModuleFragmentWriter(stringTable: StringTable, contextExtensions: List<WriteContextExtension> = emptyList()) :
|
||||
KmModuleFragmentVisitor() {
|
||||
protected val t = ProtoBuf.PackageFragment.newBuilder()!!
|
||||
protected val t: ProtoBuf.PackageFragment.Builder = ProtoBuf.PackageFragment.newBuilder()!!
|
||||
protected val c: WriteContext = WriteContext(stringTable, contextExtensions)
|
||||
|
||||
override fun visitPackage(): KmPackageVisitor? = object : PackageWriter(c.strings, c.contextExtensions) {
|
||||
@@ -547,9 +547,9 @@ open class ModuleFragmentWriter(stringTable: StringTable, contextExtensions: Lis
|
||||
}
|
||||
}
|
||||
|
||||
open class LambdaWriter(stringTable: StringTable) : KmLambdaVisitor() {
|
||||
public open class LambdaWriter(stringTable: StringTable) : KmLambdaVisitor() {
|
||||
protected var t: ProtoBuf.Function.Builder? = null
|
||||
protected val c = WriteContext(stringTable)
|
||||
protected val c: WriteContext = WriteContext(stringTable)
|
||||
|
||||
override fun visitFunction(flags: Int, name: String): KmFunctionVisitor? =
|
||||
writeFunction(c, flags, name) { t = it }
|
||||
|
||||
+17
-16
@@ -22,15 +22,16 @@ import java.io.ByteArrayInputStream
|
||||
* Usually such metadata comes from serialized klibs. However, special `kotlin_builtins` file from standard library
|
||||
* distribution can also be read with this reader.
|
||||
*/
|
||||
class KotlinCommonMetadata private constructor(private val proto: ProtoBuf.PackageFragment) {
|
||||
fun toKmModuleFragment(): KmModuleFragment =
|
||||
public class KotlinCommonMetadata private constructor(private val proto: ProtoBuf.PackageFragment) {
|
||||
public fun toKmModuleFragment(): KmModuleFragment =
|
||||
KmModuleFragment().apply(this::accept)
|
||||
|
||||
class Writer : KmModuleFragmentVisitor() {
|
||||
// private because there are no use-cases and it is not finished
|
||||
private class Writer : KmModuleFragmentVisitor() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
fun accept(v: KmModuleFragmentVisitor) {
|
||||
public fun accept(v: KmModuleFragmentVisitor) {
|
||||
val strings = NameResolverImpl(proto.strings, proto.qualifiedNames)
|
||||
if (proto.hasPackage()) {
|
||||
v.visitPackage()?.let { proto.`package`.accept(it, strings) }
|
||||
@@ -41,9 +42,9 @@ class KotlinCommonMetadata private constructor(private val proto: ProtoBuf.Packa
|
||||
v.visitEnd()
|
||||
}
|
||||
|
||||
companion object {
|
||||
public companion object {
|
||||
@JvmStatic
|
||||
fun read(bytes: ByteArray): KotlinCommonMetadata? {
|
||||
public fun read(bytes: ByteArray): KotlinCommonMetadata? {
|
||||
val (proto, _) = ByteArrayInputStream(bytes).readBuiltinsPackageFragment()
|
||||
if (proto == null) return null
|
||||
|
||||
@@ -62,17 +63,17 @@ class KotlinCommonMetadata private constructor(private val proto: ProtoBuf.Packa
|
||||
* Can be read with [KotlinCommonMetadata.read].
|
||||
*/
|
||||
@Suppress("DEPRECATION")
|
||||
class KmModuleFragment : KmModuleFragmentVisitor() {
|
||||
public class KmModuleFragment : KmModuleFragmentVisitor() {
|
||||
|
||||
/**
|
||||
* Top-level functions, type aliases and properties in the module fragment.
|
||||
*/
|
||||
var pkg: KmPackage? = null
|
||||
public var pkg: KmPackage? = null
|
||||
|
||||
/**
|
||||
* Classes in the module fragment.
|
||||
*/
|
||||
val classes: MutableList<KmClass> = ArrayList()
|
||||
public val classes: MutableList<KmClass> = ArrayList()
|
||||
|
||||
private val extensions: List<KmModuleFragmentExtension> =
|
||||
MetadataExtensions.INSTANCES.map(MetadataExtensions::createModuleFragmentExtensions)
|
||||
@@ -95,7 +96,7 @@ class KmModuleFragment : KmModuleFragmentVisitor() {
|
||||
* @param visitor the visitor which will visit data in the module fragment.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
fun accept(visitor: KmModuleFragmentVisitor) {
|
||||
public fun accept(visitor: KmModuleFragmentVisitor) {
|
||||
pkg?.let { visitor.visitPackage()?.let(it::accept) }
|
||||
classes.forEach { visitor.visitClass()?.let(it::accept) }
|
||||
extensions.forEach { visitor.visitExtensions(it.type)?.let(it::accept) }
|
||||
@@ -111,18 +112,18 @@ class KmModuleFragment : KmModuleFragmentVisitor() {
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
@Suppress("DEPRECATION")
|
||||
abstract class KmModuleFragmentVisitor @JvmOverloads constructor(private val delegate: KmModuleFragmentVisitor? = null) {
|
||||
public abstract class KmModuleFragmentVisitor @JvmOverloads constructor(private val delegate: KmModuleFragmentVisitor? = null) {
|
||||
|
||||
/**
|
||||
* Visits a package within the module fragment.
|
||||
*/
|
||||
open fun visitPackage(): KmPackageVisitor? =
|
||||
public open fun visitPackage(): KmPackageVisitor? =
|
||||
delegate?.visitPackage()
|
||||
|
||||
/**
|
||||
* Visits a class within the module fragment.
|
||||
*/
|
||||
open fun visitClass(): KmClassVisitor? =
|
||||
public open fun visitClass(): KmClassVisitor? =
|
||||
delegate?.visitClass()
|
||||
|
||||
/**
|
||||
@@ -130,13 +131,13 @@ abstract class KmModuleFragmentVisitor @JvmOverloads constructor(private val del
|
||||
*
|
||||
* @param type the type of extension visitor to be returned.
|
||||
*/
|
||||
open fun visitExtensions(type: KmExtensionType): KmModuleFragmentExtensionVisitor? =
|
||||
public open fun visitExtensions(type: KmExtensionType): KmModuleFragmentExtensionVisitor? =
|
||||
delegate?.visitExtensions(type)
|
||||
|
||||
/**
|
||||
* Visits the end of the module fragment.
|
||||
*/
|
||||
open fun visitEnd() {
|
||||
public open fun visitEnd() {
|
||||
delegate?.visitEnd()
|
||||
}
|
||||
}
|
||||
@@ -145,4 +146,4 @@ abstract class KmModuleFragmentVisitor @JvmOverloads constructor(private val del
|
||||
* A visitor to visit platform-specific extensions for a module fragment.
|
||||
*/
|
||||
@Deprecated(VISITOR_API_MESSAGE)
|
||||
interface KmModuleFragmentExtensionVisitor : KmExtensionVisitor
|
||||
public interface KmModuleFragmentExtensionVisitor : KmExtensionVisitor
|
||||
|
||||
+12
-12
@@ -9,26 +9,26 @@ package kotlinx.metadata.internal.extensions
|
||||
import kotlinx.metadata.*
|
||||
import kotlinx.metadata.internal.common.KmModuleFragmentExtensionVisitor
|
||||
|
||||
interface KmExtension<V : KmExtensionVisitor> : KmExtensionVisitor {
|
||||
fun accept(visitor: V)
|
||||
public interface KmExtension<V : KmExtensionVisitor> : KmExtensionVisitor {
|
||||
public fun accept(visitor: V)
|
||||
}
|
||||
|
||||
interface KmClassExtension : KmClassExtensionVisitor, KmExtension<KmClassExtensionVisitor>
|
||||
public interface KmClassExtension : KmClassExtensionVisitor, KmExtension<KmClassExtensionVisitor>
|
||||
|
||||
interface KmPackageExtension : KmPackageExtensionVisitor, KmExtension<KmPackageExtensionVisitor>
|
||||
public interface KmPackageExtension : KmPackageExtensionVisitor, KmExtension<KmPackageExtensionVisitor>
|
||||
|
||||
interface KmModuleFragmentExtension : KmModuleFragmentExtensionVisitor, KmExtension<KmModuleFragmentExtensionVisitor>
|
||||
public interface KmModuleFragmentExtension : KmModuleFragmentExtensionVisitor, KmExtension<KmModuleFragmentExtensionVisitor>
|
||||
|
||||
interface KmFunctionExtension : KmFunctionExtensionVisitor, KmExtension<KmFunctionExtensionVisitor>
|
||||
public interface KmFunctionExtension : KmFunctionExtensionVisitor, KmExtension<KmFunctionExtensionVisitor>
|
||||
|
||||
interface KmPropertyExtension : KmPropertyExtensionVisitor, KmExtension<KmPropertyExtensionVisitor>
|
||||
public interface KmPropertyExtension : KmPropertyExtensionVisitor, KmExtension<KmPropertyExtensionVisitor>
|
||||
|
||||
interface KmConstructorExtension : KmConstructorExtensionVisitor, KmExtension<KmConstructorExtensionVisitor>
|
||||
public interface KmConstructorExtension : KmConstructorExtensionVisitor, KmExtension<KmConstructorExtensionVisitor>
|
||||
|
||||
interface KmTypeParameterExtension : KmTypeParameterExtensionVisitor, KmExtension<KmTypeParameterExtensionVisitor>
|
||||
public interface KmTypeParameterExtension : KmTypeParameterExtensionVisitor, KmExtension<KmTypeParameterExtensionVisitor>
|
||||
|
||||
interface KmTypeExtension : KmTypeExtensionVisitor, KmExtension<KmTypeExtensionVisitor>
|
||||
public interface KmTypeExtension : KmTypeExtensionVisitor, KmExtension<KmTypeExtensionVisitor>
|
||||
|
||||
interface KmTypeAliasExtension : KmTypeAliasExtensionVisitor, KmExtension<KmTypeAliasExtensionVisitor>
|
||||
public interface KmTypeAliasExtension : KmTypeAliasExtensionVisitor, KmExtension<KmTypeAliasExtensionVisitor>
|
||||
|
||||
interface KmValueParameterExtension : KmValueParameterExtensionVisitor, KmExtension<KmValueParameterExtensionVisitor>
|
||||
public interface KmValueParameterExtension : KmValueParameterExtensionVisitor, KmExtension<KmValueParameterExtensionVisitor>
|
||||
|
||||
+34
-33
@@ -12,77 +12,78 @@ import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||
import java.util.*
|
||||
|
||||
@Suppress("DEPRECATION")
|
||||
interface MetadataExtensions {
|
||||
fun readClassExtensions(v: KmClassVisitor, proto: ProtoBuf.Class, c: ReadContext)
|
||||
public interface MetadataExtensions {
|
||||
public fun readClassExtensions(v: KmClassVisitor, proto: ProtoBuf.Class, c: ReadContext)
|
||||
|
||||
fun readPackageExtensions(v: KmPackageVisitor, proto: ProtoBuf.Package, c: ReadContext)
|
||||
public fun readPackageExtensions(v: KmPackageVisitor, proto: ProtoBuf.Package, c: ReadContext)
|
||||
|
||||
fun readModuleFragmentExtensions(v: KmModuleFragmentVisitor, proto: ProtoBuf.PackageFragment, c: ReadContext)
|
||||
public fun readModuleFragmentExtensions(v: KmModuleFragmentVisitor, proto: ProtoBuf.PackageFragment, c: ReadContext)
|
||||
|
||||
fun readFunctionExtensions(v: KmFunctionVisitor, proto: ProtoBuf.Function, c: ReadContext)
|
||||
public fun readFunctionExtensions(v: KmFunctionVisitor, proto: ProtoBuf.Function, c: ReadContext)
|
||||
|
||||
fun readPropertyExtensions(v: KmPropertyVisitor, proto: ProtoBuf.Property, c: ReadContext)
|
||||
public fun readPropertyExtensions(v: KmPropertyVisitor, proto: ProtoBuf.Property, c: ReadContext)
|
||||
|
||||
fun readConstructorExtensions(v: KmConstructorVisitor, proto: ProtoBuf.Constructor, c: ReadContext)
|
||||
public fun readConstructorExtensions(v: KmConstructorVisitor, proto: ProtoBuf.Constructor, c: ReadContext)
|
||||
|
||||
fun readTypeParameterExtensions(v: KmTypeParameterVisitor, proto: ProtoBuf.TypeParameter, c: ReadContext)
|
||||
public fun readTypeParameterExtensions(v: KmTypeParameterVisitor, proto: ProtoBuf.TypeParameter, c: ReadContext)
|
||||
|
||||
fun readTypeExtensions(v: KmTypeVisitor, proto: ProtoBuf.Type, c: ReadContext)
|
||||
public fun readTypeExtensions(v: KmTypeVisitor, proto: ProtoBuf.Type, c: ReadContext)
|
||||
|
||||
fun readTypeAliasExtensions(v: KmTypeAliasVisitor, proto: ProtoBuf.TypeAlias, c: ReadContext)
|
||||
public fun readTypeAliasExtensions(v: KmTypeAliasVisitor, proto: ProtoBuf.TypeAlias, c: ReadContext)
|
||||
|
||||
fun readValueParameterExtensions(v: KmValueParameterVisitor, proto: ProtoBuf.ValueParameter, c: ReadContext)
|
||||
public fun readValueParameterExtensions(v: KmValueParameterVisitor, proto: ProtoBuf.ValueParameter, c: ReadContext)
|
||||
|
||||
fun writeClassExtensions(type: KmExtensionType, proto: ProtoBuf.Class.Builder, c: WriteContext): KmClassExtensionVisitor?
|
||||
public fun writeClassExtensions(type: KmExtensionType, proto: ProtoBuf.Class.Builder, c: WriteContext): KmClassExtensionVisitor?
|
||||
|
||||
fun writePackageExtensions(type: KmExtensionType, proto: ProtoBuf.Package.Builder, c: WriteContext): KmPackageExtensionVisitor?
|
||||
public fun writePackageExtensions(type: KmExtensionType, proto: ProtoBuf.Package.Builder, c: WriteContext): KmPackageExtensionVisitor?
|
||||
|
||||
fun writeModuleFragmentExtensions(
|
||||
public fun writeModuleFragmentExtensions(
|
||||
type: KmExtensionType, proto: ProtoBuf.PackageFragment.Builder, c: WriteContext
|
||||
): KmModuleFragmentExtensionVisitor?
|
||||
|
||||
fun writeFunctionExtensions(type: KmExtensionType, proto: ProtoBuf.Function.Builder, c: WriteContext): KmFunctionExtensionVisitor?
|
||||
public fun writeFunctionExtensions(type: KmExtensionType, proto: ProtoBuf.Function.Builder, c: WriteContext): KmFunctionExtensionVisitor?
|
||||
|
||||
fun writePropertyExtensions(type: KmExtensionType, proto: ProtoBuf.Property.Builder, c: WriteContext): KmPropertyExtensionVisitor?
|
||||
public fun writePropertyExtensions(type: KmExtensionType, proto: ProtoBuf.Property.Builder, c: WriteContext): KmPropertyExtensionVisitor?
|
||||
|
||||
fun writeConstructorExtensions(
|
||||
public fun writeConstructorExtensions(
|
||||
type: KmExtensionType, proto: ProtoBuf.Constructor.Builder, c: WriteContext
|
||||
): KmConstructorExtensionVisitor?
|
||||
|
||||
fun writeTypeParameterExtensions(
|
||||
public fun writeTypeParameterExtensions(
|
||||
type: KmExtensionType, proto: ProtoBuf.TypeParameter.Builder, c: WriteContext
|
||||
): KmTypeParameterExtensionVisitor?
|
||||
|
||||
fun writeTypeExtensions(type: KmExtensionType, proto: ProtoBuf.Type.Builder, c: WriteContext): KmTypeExtensionVisitor?
|
||||
public fun writeTypeExtensions(type: KmExtensionType, proto: ProtoBuf.Type.Builder, c: WriteContext): KmTypeExtensionVisitor?
|
||||
|
||||
fun writeTypeAliasExtensions(type: KmExtensionType, proto: ProtoBuf.TypeAlias.Builder, c: WriteContext): KmTypeAliasExtensionVisitor?
|
||||
public fun writeTypeAliasExtensions(type: KmExtensionType, proto: ProtoBuf.TypeAlias.Builder, c: WriteContext): KmTypeAliasExtensionVisitor?
|
||||
|
||||
fun writeValueParameterExtensions(
|
||||
public fun writeValueParameterExtensions(
|
||||
type: KmExtensionType, proto: ProtoBuf.ValueParameter.Builder, c: WriteContext
|
||||
): KmValueParameterExtensionVisitor?
|
||||
|
||||
fun createClassExtension(): KmClassExtension
|
||||
public fun createClassExtension(): KmClassExtension
|
||||
|
||||
fun createPackageExtension(): KmPackageExtension
|
||||
public fun createPackageExtension(): KmPackageExtension
|
||||
|
||||
fun createModuleFragmentExtensions(): KmModuleFragmentExtension
|
||||
public fun createModuleFragmentExtensions(): KmModuleFragmentExtension
|
||||
|
||||
fun createFunctionExtension(): KmFunctionExtension
|
||||
public fun createFunctionExtension(): KmFunctionExtension
|
||||
|
||||
fun createPropertyExtension(): KmPropertyExtension
|
||||
public fun createPropertyExtension(): KmPropertyExtension
|
||||
|
||||
fun createConstructorExtension(): KmConstructorExtension
|
||||
public fun createConstructorExtension(): KmConstructorExtension
|
||||
|
||||
fun createTypeParameterExtension(): KmTypeParameterExtension
|
||||
public fun createTypeParameterExtension(): KmTypeParameterExtension
|
||||
|
||||
fun createTypeExtension(): KmTypeExtension
|
||||
public fun createTypeExtension(): KmTypeExtension
|
||||
|
||||
fun createTypeAliasExtension(): KmTypeAliasExtension?
|
||||
public fun createTypeAliasExtension(): KmTypeAliasExtension?
|
||||
|
||||
fun createValueParameterExtension(): KmValueParameterExtension?
|
||||
public fun createValueParameterExtension(): KmValueParameterExtension?
|
||||
|
||||
companion object {
|
||||
val INSTANCES: List<MetadataExtensions> by lazy {
|
||||
// 'internal' is not applicable inside an interface: KT-59796
|
||||
public companion object {
|
||||
internal val INSTANCES: List<MetadataExtensions> by lazy {
|
||||
ServiceLoader.load(MetadataExtensions::class.java, MetadataExtensions::class.java.classLoader).toList().also {
|
||||
if (it.isEmpty()) error(
|
||||
"No MetadataExtensions instances found in the classpath. Please ensure that the META-INF/services/ " +
|
||||
|
||||
Reference in New Issue
Block a user