Rename "desc" parameters in kotlinx-metadata-jvm to "signature"
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
## 0.0.6
|
||||
|
||||
- [`KT-31308`](https://youtrack.jetbrains.com/issue/KT-31308) Add module name extensions to kotlinx-metadata-jvm
|
||||
- Rename `desc` parameters to `signature` in JvmFunctionExtensionVisitor, JvmPropertyExtensionVisitor, JvmConstructorExtensionVisitor
|
||||
|
||||
## 0.0.5
|
||||
|
||||
|
||||
+22
-20
@@ -148,9 +148,9 @@ internal class JvmMetadataExtensions : MetadataExtensions {
|
||||
): KmFunctionExtensionVisitor? {
|
||||
if (type != JvmFunctionExtensionVisitor.TYPE) return null
|
||||
return object : JvmFunctionExtensionVisitor() {
|
||||
override fun visit(desc: JvmMethodSignature?) {
|
||||
if (desc != null) {
|
||||
proto.setExtension(JvmProtoBuf.methodSignature, desc.toJvmMethodSignature(c))
|
||||
override fun visit(signature: JvmMethodSignature?) {
|
||||
if (signature != null) {
|
||||
proto.setExtension(JvmProtoBuf.methodSignature, signature.toJvmMethodSignature(c))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,36 +167,38 @@ internal class JvmMetadataExtensions : MetadataExtensions {
|
||||
return object : JvmPropertyExtensionVisitor() {
|
||||
var signature: JvmProtoBuf.JvmPropertySignature.Builder? = null
|
||||
|
||||
override fun visit(fieldDesc: JvmFieldSignature?, getterDesc: JvmMethodSignature?, setterDesc: JvmMethodSignature?) {
|
||||
if (fieldDesc == null && getterDesc == null && setterDesc == null) return
|
||||
override fun visit(
|
||||
fieldSignature: JvmFieldSignature?, getterSignature: JvmMethodSignature?, setterSignature: JvmMethodSignature?
|
||||
) {
|
||||
if (fieldSignature == null && getterSignature == null && setterSignature == null) return
|
||||
|
||||
if (signature == null) {
|
||||
signature = JvmProtoBuf.JvmPropertySignature.newBuilder()
|
||||
}
|
||||
signature!!.apply {
|
||||
if (fieldDesc != null) {
|
||||
if (fieldSignature != null) {
|
||||
field = JvmProtoBuf.JvmFieldSignature.newBuilder().also { field ->
|
||||
field.name = c[fieldDesc.name]
|
||||
field.desc = c[fieldDesc.desc]
|
||||
field.name = c[fieldSignature.name]
|
||||
field.desc = c[fieldSignature.desc]
|
||||
}.build()
|
||||
}
|
||||
if (getterDesc != null) {
|
||||
getter = getterDesc.toJvmMethodSignature(c)
|
||||
if (getterSignature != null) {
|
||||
getter = getterSignature.toJvmMethodSignature(c)
|
||||
}
|
||||
if (setterDesc != null) {
|
||||
setter = setterDesc.toJvmMethodSignature(c)
|
||||
if (setterSignature != null) {
|
||||
setter = setterSignature.toJvmMethodSignature(c)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun visitSyntheticMethodForAnnotations(desc: JvmMethodSignature?) {
|
||||
if (desc == null) return
|
||||
override fun visitSyntheticMethodForAnnotations(signature: JvmMethodSignature?) {
|
||||
if (signature == null) return
|
||||
|
||||
if (signature == null) {
|
||||
signature = JvmProtoBuf.JvmPropertySignature.newBuilder()
|
||||
if (this.signature == null) {
|
||||
this.signature = JvmProtoBuf.JvmPropertySignature.newBuilder()
|
||||
}
|
||||
|
||||
signature!!.syntheticMethod = desc.toJvmMethodSignature(c)
|
||||
this.signature!!.syntheticMethod = signature.toJvmMethodSignature(c)
|
||||
}
|
||||
|
||||
override fun visitEnd() {
|
||||
@@ -212,9 +214,9 @@ internal class JvmMetadataExtensions : MetadataExtensions {
|
||||
): KmConstructorExtensionVisitor? {
|
||||
if (type != JvmConstructorExtensionVisitor.TYPE) return null
|
||||
return object : JvmConstructorExtensionVisitor() {
|
||||
override fun visit(desc: JvmMethodSignature?) {
|
||||
if (desc != null) {
|
||||
proto.setExtension(JvmProtoBuf.constructorSignature, desc.toJvmMethodSignature(c))
|
||||
override fun visit(signature: JvmMethodSignature?) {
|
||||
if (signature != null) {
|
||||
proto.setExtension(JvmProtoBuf.constructorSignature, signature.toJvmMethodSignature(c))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,10 +115,10 @@ open class JvmFunctionExtensionVisitor @JvmOverloads constructor(
|
||||
*
|
||||
* Example: `JvmMethodSignature("equals", "(Ljava/lang/Object;)Z")`
|
||||
*
|
||||
* @param desc the signature of the function
|
||||
* @param signature the signature of the function
|
||||
*/
|
||||
open fun visit(desc: JvmMethodSignature?) {
|
||||
delegate?.visit(desc)
|
||||
open fun visit(signature: JvmMethodSignature?) {
|
||||
delegate?.visit(signature)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -156,19 +156,17 @@ open class JvmPropertyExtensionVisitor @JvmOverloads constructor(
|
||||
/**
|
||||
* Visits JVM signatures of field and accessors generated for the property.
|
||||
*
|
||||
* @param fieldDesc the name and the type of the field in the JVM-based format, or `null` if this property has no field.
|
||||
* Example: `JvmFieldSignature("X", "Ljava/lang/Object;")`
|
||||
* @param fieldSignature the signature of the field, or `null` if this property has no field.
|
||||
* Example: `JvmFieldSignature("X", "Ljava/lang/Object;")`
|
||||
*
|
||||
* @param getterDesc the signature of the property getter in the JVM-based format,
|
||||
* or `null` if this property has no getter or its signature is unknown.
|
||||
* Example: `JvmMethodSignature("getX()", "Ljava/lang/Object;")`
|
||||
* @param getterSignature the signature of the property getter, or `null` if this property has no getter or its signature is unknown.
|
||||
* Example: `JvmMethodSignature("getX()", "Ljava/lang/Object;")`
|
||||
*
|
||||
* @param setterDesc the signature of the property setter in the JVM-based format,
|
||||
* or `null` if this property has no setter or its signature is unknown
|
||||
* Example: `JvmMethodSignature("setX", "(Ljava/lang/Object;)V")`,
|
||||
* @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(fieldDesc: JvmFieldSignature?, getterDesc: JvmMethodSignature?, setterDesc: JvmMethodSignature?) {
|
||||
delegate?.visit(fieldDesc, getterDesc, setterDesc)
|
||||
open fun visit(fieldSignature: JvmFieldSignature?, getterSignature: JvmMethodSignature?, setterSignature: JvmMethodSignature?) {
|
||||
delegate?.visit(fieldSignature, getterSignature, setterSignature)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -176,10 +174,10 @@ open class JvmPropertyExtensionVisitor @JvmOverloads constructor(
|
||||
*
|
||||
* Example: `JvmMethodSignature("getX$annotations", "()V")`
|
||||
*
|
||||
* @param desc the signature of the synthetic method
|
||||
* @param signature the signature of the synthetic method
|
||||
*/
|
||||
open fun visitSyntheticMethodForAnnotations(desc: JvmMethodSignature?) {
|
||||
delegate?.visitSyntheticMethodForAnnotations(desc)
|
||||
open fun visitSyntheticMethodForAnnotations(signature: JvmMethodSignature?) {
|
||||
delegate?.visitSyntheticMethodForAnnotations(signature)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -207,15 +205,14 @@ open class JvmConstructorExtensionVisitor @JvmOverloads constructor(
|
||||
private val delegate: JvmConstructorExtensionVisitor? = null
|
||||
) : KmConstructorExtensionVisitor {
|
||||
/**
|
||||
* Visits the JVM signature of the constructor in the JVM-based format,
|
||||
* or null if the JVM signature of this constructor is unknown.
|
||||
* Visits the JVM signature of the constructor, or null if the JVM signature of this constructor is unknown.
|
||||
*
|
||||
* Example: `JvmMethodSignature("<init>", "(Ljava/lang/Object;)V")`
|
||||
*
|
||||
* @param desc the signature of the constructor
|
||||
* @param signature the signature of the constructor
|
||||
*/
|
||||
open fun visit(desc: JvmMethodSignature?) {
|
||||
delegate?.visit(desc)
|
||||
open fun visit(signature: JvmMethodSignature?) {
|
||||
delegate?.visit(signature)
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -41,9 +41,9 @@ class MetadataSmokeTest {
|
||||
if (type != JvmFunctionExtensionVisitor.TYPE) return null
|
||||
|
||||
return object : JvmFunctionExtensionVisitor() {
|
||||
override fun visit(desc: JvmMethodSignature?) {
|
||||
if (Flag.Function.IS_INLINE(flags) && desc != null) {
|
||||
inlineFunctions += desc.asString()
|
||||
override fun visit(signature: JvmMethodSignature?) {
|
||||
if (Flag.Function.IS_INLINE(flags) && signature != null) {
|
||||
inlineFunctions += signature.asString()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+23
-19
@@ -48,18 +48,19 @@ private fun Flags.toVisibility() = VISIBILITY_FLAGS_MAP.entries.firstOrNull { (m
|
||||
|
||||
private fun visitFunction(flags: Flags, name: String, addMember: (MemberVisibility) -> Unit) =
|
||||
object : KmFunctionVisitor() {
|
||||
var jvmDesc: JvmMemberSignature? = null
|
||||
var desc: JvmMemberSignature? = null
|
||||
|
||||
override fun visitExtensions(type: KmExtensionType): KmFunctionExtensionVisitor? {
|
||||
if (type != JvmFunctionExtensionVisitor.TYPE) return null
|
||||
return object : JvmFunctionExtensionVisitor() {
|
||||
override fun visit(desc: JvmMethodSignature?) {
|
||||
jvmDesc = desc
|
||||
override fun visit(signature: JvmMethodSignature?) {
|
||||
desc = signature
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun visitEnd() {
|
||||
jvmDesc?.let { jvmDesc ->
|
||||
desc?.let { jvmDesc ->
|
||||
addMember(MemberVisibility(jvmDesc, flags))
|
||||
}
|
||||
}
|
||||
@@ -67,18 +68,19 @@ private fun visitFunction(flags: Flags, name: String, addMember: (MemberVisibili
|
||||
|
||||
private fun visitConstructor(flags: Flags, addMember: (MemberVisibility) -> Unit) =
|
||||
object : KmConstructorVisitor() {
|
||||
var jvmDesc: JvmMemberSignature? = null
|
||||
var desc: JvmMemberSignature? = null
|
||||
|
||||
override fun visitExtensions(type: KmExtensionType): KmConstructorExtensionVisitor? {
|
||||
if (type != JvmConstructorExtensionVisitor.TYPE) return null
|
||||
return object : JvmConstructorExtensionVisitor() {
|
||||
override fun visit(desc: JvmMethodSignature?) {
|
||||
jvmDesc = desc
|
||||
override fun visit(signature: JvmMethodSignature?) {
|
||||
desc = signature
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun visitEnd() {
|
||||
jvmDesc?.let { signature ->
|
||||
desc?.let { signature ->
|
||||
addMember(MemberVisibility(signature, flags))
|
||||
}
|
||||
}
|
||||
@@ -86,28 +88,30 @@ private fun visitConstructor(flags: Flags, addMember: (MemberVisibility) -> Unit
|
||||
|
||||
private fun visitProperty(flags: Flags, name: String, getterFlags: Flags, setterFlags: Flags, addMember: (MemberVisibility) -> Unit) =
|
||||
object : KmPropertyVisitor() {
|
||||
var _fieldDesc: JvmMemberSignature? = null
|
||||
var _getterDesc: JvmMemberSignature? = null
|
||||
var _setterDesc: JvmMemberSignature? = null
|
||||
var fieldDesc: JvmMemberSignature? = null
|
||||
var getterDesc: JvmMemberSignature? = null
|
||||
var setterDesc: JvmMemberSignature? = null
|
||||
|
||||
override fun visitExtensions(type: KmExtensionType): KmPropertyExtensionVisitor? {
|
||||
if (type != JvmPropertyExtensionVisitor.TYPE) return null
|
||||
return object : JvmPropertyExtensionVisitor() {
|
||||
override fun visit(fieldDesc: JvmFieldSignature?, getterDesc: JvmMethodSignature?, setterDesc: JvmMethodSignature?) {
|
||||
_fieldDesc = fieldDesc
|
||||
_getterDesc = getterDesc
|
||||
_setterDesc = setterDesc
|
||||
override fun visit(
|
||||
fieldSignature: JvmFieldSignature?, getterSignature: JvmMethodSignature?, setterSignature: JvmMethodSignature?
|
||||
) {
|
||||
fieldDesc = fieldSignature
|
||||
getterDesc = getterSignature
|
||||
setterDesc = setterSignature
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun visitEnd() {
|
||||
_getterDesc?.let { addMember(MemberVisibility(it, getterFlags)) }
|
||||
_setterDesc?.let { addMember(MemberVisibility(it, setterFlags)) }
|
||||
_fieldDesc?.let {
|
||||
getterDesc?.let { addMember(MemberVisibility(it, getterFlags)) }
|
||||
setterDesc?.let { addMember(MemberVisibility(it, setterFlags)) }
|
||||
fieldDesc?.let {
|
||||
val fieldVisibility = when {
|
||||
Flag.Property.IS_LATEINIT(flags) -> setterFlags
|
||||
_getterDesc == null && _setterDesc == null -> flags // JvmField or const case
|
||||
getterDesc == null && setterDesc == null -> flags // JvmField or const case
|
||||
else -> flagsOf(Flag.IS_PRIVATE)
|
||||
}
|
||||
addMember(MemberVisibility(it, fieldVisibility))
|
||||
|
||||
@@ -19,7 +19,7 @@ private fun visitFunction(settings: KotlinpSettings, sb: StringBuilder, flags: F
|
||||
var receiverParameterType: String? = null
|
||||
var returnType: String? = null
|
||||
val versionRequirements = mutableListOf<String>()
|
||||
var jvmDesc: JvmMemberSignature? = null
|
||||
var jvmSignature: JvmMemberSignature? = null
|
||||
var lambdaClassOriginName: String? = null
|
||||
|
||||
override fun visitReceiverParameterType(flags: Flags): KmTypeVisitor? =
|
||||
@@ -42,8 +42,8 @@ private fun visitFunction(settings: KotlinpSettings, sb: StringBuilder, flags: F
|
||||
override fun visitExtensions(type: KmExtensionType): KmFunctionExtensionVisitor? {
|
||||
if (type != JvmFunctionExtensionVisitor.TYPE) return null
|
||||
return object : JvmFunctionExtensionVisitor() {
|
||||
override fun visit(desc: JvmMethodSignature?) {
|
||||
jvmDesc = desc
|
||||
override fun visit(signature: JvmMethodSignature?) {
|
||||
jvmSignature = signature
|
||||
}
|
||||
|
||||
override fun visitLambdaClassOriginName(internalName: String) {
|
||||
@@ -60,8 +60,8 @@ private fun visitFunction(settings: KotlinpSettings, sb: StringBuilder, flags: F
|
||||
for (versionRequirement in versionRequirements) {
|
||||
sb.appendln(" // $versionRequirement")
|
||||
}
|
||||
if (jvmDesc != null) {
|
||||
sb.appendln(" // signature: $jvmDesc")
|
||||
if (jvmSignature != null) {
|
||||
sb.appendln(" // signature: $jvmSignature")
|
||||
}
|
||||
sb.append(" ")
|
||||
sb.appendFlags(flags, FUNCTION_FLAGS_MAP)
|
||||
@@ -91,10 +91,10 @@ private fun visitProperty(
|
||||
var returnType: String? = null
|
||||
var setterParameter: String? = null
|
||||
val versionRequirements = mutableListOf<String>()
|
||||
var jvmFieldDesc: JvmMemberSignature? = null
|
||||
var jvmGetterDesc: JvmMemberSignature? = null
|
||||
var jvmSetterDesc: JvmMemberSignature? = null
|
||||
var jvmSyntheticMethodForAnnotationsDesc: JvmMemberSignature? = null
|
||||
var jvmFieldSignature: JvmMemberSignature? = null
|
||||
var jvmGetterSignature: JvmMemberSignature? = null
|
||||
var jvmSetterSignature: JvmMemberSignature? = null
|
||||
var jvmSyntheticMethodForAnnotationsSignature: JvmMemberSignature? = null
|
||||
|
||||
override fun visitReceiverParameterType(flags: Flags): KmTypeVisitor? =
|
||||
printType(flags) { receiverParameterType = it }
|
||||
@@ -114,14 +114,16 @@ private fun visitProperty(
|
||||
override fun visitExtensions(type: KmExtensionType): KmPropertyExtensionVisitor? {
|
||||
if (type != JvmPropertyExtensionVisitor.TYPE) return null
|
||||
return object : JvmPropertyExtensionVisitor() {
|
||||
override fun visit(fieldDesc: JvmFieldSignature?, getterDesc: JvmMethodSignature?, setterDesc: JvmMethodSignature?) {
|
||||
jvmFieldDesc = fieldDesc
|
||||
jvmGetterDesc = getterDesc
|
||||
jvmSetterDesc = setterDesc
|
||||
override fun visit(
|
||||
fieldSignature: JvmFieldSignature?, getterSignature: JvmMethodSignature?, setterSignature: JvmMethodSignature?
|
||||
) {
|
||||
jvmFieldSignature = fieldSignature
|
||||
jvmGetterSignature = getterSignature
|
||||
jvmSetterSignature = setterSignature
|
||||
}
|
||||
|
||||
override fun visitSyntheticMethodForAnnotations(desc: JvmMethodSignature?) {
|
||||
jvmSyntheticMethodForAnnotationsDesc = desc
|
||||
override fun visitSyntheticMethodForAnnotations(signature: JvmMethodSignature?) {
|
||||
jvmSyntheticMethodForAnnotationsSignature = signature
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -131,17 +133,17 @@ private fun visitProperty(
|
||||
for (versionRequirement in versionRequirements) {
|
||||
sb.appendln(" // $versionRequirement")
|
||||
}
|
||||
if (jvmFieldDesc != null) {
|
||||
sb.appendln(" // field: $jvmFieldDesc")
|
||||
if (jvmFieldSignature != null) {
|
||||
sb.appendln(" // field: $jvmFieldSignature")
|
||||
}
|
||||
if (jvmGetterDesc != null) {
|
||||
sb.appendln(" // getter: $jvmGetterDesc")
|
||||
if (jvmGetterSignature != null) {
|
||||
sb.appendln(" // getter: $jvmGetterSignature")
|
||||
}
|
||||
if (jvmSetterDesc != null) {
|
||||
sb.appendln(" // setter: $jvmSetterDesc")
|
||||
if (jvmSetterSignature != null) {
|
||||
sb.appendln(" // setter: $jvmSetterSignature")
|
||||
}
|
||||
if (jvmSyntheticMethodForAnnotationsDesc != null) {
|
||||
sb.appendln(" // synthetic method for annotations: $jvmSyntheticMethodForAnnotationsDesc")
|
||||
if (jvmSyntheticMethodForAnnotationsSignature != null) {
|
||||
sb.appendln(" // synthetic method for annotations: $jvmSyntheticMethodForAnnotationsSignature")
|
||||
}
|
||||
sb.append(" ")
|
||||
sb.appendFlags(flags, PROPERTY_FLAGS_MAP)
|
||||
@@ -182,7 +184,7 @@ private fun visitConstructor(sb: StringBuilder, flags: Flags): KmConstructorVisi
|
||||
object : KmConstructorVisitor() {
|
||||
val params = mutableListOf<String>()
|
||||
val versionRequirements = mutableListOf<String>()
|
||||
var jvmDesc: JvmMemberSignature? = null
|
||||
var jvmSignature: JvmMemberSignature? = null
|
||||
|
||||
override fun visitValueParameter(flags: Flags, name: String): KmValueParameterVisitor? =
|
||||
printValueParameter(flags, name) { params.add(it) }
|
||||
@@ -193,8 +195,8 @@ private fun visitConstructor(sb: StringBuilder, flags: Flags): KmConstructorVisi
|
||||
override fun visitExtensions(type: KmExtensionType): KmConstructorExtensionVisitor? {
|
||||
if (type != JvmConstructorExtensionVisitor.TYPE) return null
|
||||
return object : JvmConstructorExtensionVisitor() {
|
||||
override fun visit(desc: JvmMethodSignature?) {
|
||||
jvmDesc = desc
|
||||
override fun visit(signature: JvmMethodSignature?) {
|
||||
jvmSignature = signature
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -204,8 +206,8 @@ private fun visitConstructor(sb: StringBuilder, flags: Flags): KmConstructorVisi
|
||||
for (versionRequirement in versionRequirements) {
|
||||
sb.appendln(" // $versionRequirement")
|
||||
}
|
||||
if (jvmDesc != null) {
|
||||
sb.appendln(" // signature: $jvmDesc")
|
||||
if (jvmSignature != null) {
|
||||
sb.appendln(" // signature: $jvmSignature")
|
||||
}
|
||||
sb.append(" ")
|
||||
sb.appendFlags(flags, CONSTRUCTOR_FLAGS_MAP)
|
||||
|
||||
Reference in New Issue
Block a user