Refactor: make JvmMemberSignature a sealed class

Use JvmMemberSignature.asString instead of toString
This commit is contained in:
Ilya Gorbunov
2018-05-29 06:50:26 +03:00
parent 2f58539200
commit 1a290d0c73
10 changed files with 65 additions and 59 deletions
@@ -53,13 +53,8 @@ import kotlin.reflect.jvm.internal.structure.*
internal sealed class JvmFunctionSignature {
abstract fun asString(): String
class KotlinFunction(val signature: JvmMemberSignature) : JvmFunctionSignature() {
private val _signature = signature.toString()
init {
require(signature.isMethod)
}
class KotlinFunction(val signature: JvmMemberSignature.Method) : JvmFunctionSignature() {
private val _signature = signature.asString()
val methodName: String get() = signature.name
val methodDesc: String get() = signature.desc
@@ -67,12 +62,8 @@ internal sealed class JvmFunctionSignature {
override fun asString(): String = _signature
}
class KotlinConstructor(val signature: JvmMemberSignature) : JvmFunctionSignature() {
private val _signature = signature.toString()
init {
require(signature.isMethod)
}
class KotlinConstructor(val signature: JvmMemberSignature.Method) : JvmFunctionSignature() {
private val _signature = signature.asString()
val constructorDesc: String get() = signature.desc