Refactor: allow to distinguish whether JvmMemberSignature is for field or for method

Introduce a method to create org.jetbrains.kotlin.load.kotlin.MemberSignature directly from JvmMemberSignature.
Create JvmFunctionSignature from JvmMemberSignature.
This commit is contained in:
Ilya Gorbunov
2018-05-27 18:42:30 +03:00
parent 36c658fd8b
commit 2f58539200
7 changed files with 59 additions and 24 deletions
@@ -157,7 +157,7 @@ private object ByJvmSignatureIndexer : DecompiledTextIndexer<ClassNameAndSignatu
if (descriptor is DeserializedSimpleFunctionDescriptor) {
JvmProtoBufUtil.getJvmMethodSignature(descriptor.proto, descriptor.nameResolver, descriptor.typeTable)?.let { it ->
val signature = MemberSignature.fromMethodNameAndDesc(it.toString())
val signature = MemberSignature.fromJvmMemberSignature(it)
save((descriptor.containingDeclaration as? ClassDescriptor)?.relativeClassName().orEmpty(), signature)
}
}