Change Signature: Drop light method filtering as old-style package facades are not supported anymore

This commit is contained in:
Alexey Sedunov
2015-10-28 11:26:19 +03:00
parent 7ce6f58c27
commit 6b346d9e77
3 changed files with 4 additions and 8 deletions
@@ -264,11 +264,7 @@ public open class JetChangeInfo(
javaChangeInfos = null
}
public fun getOrCreateJavaChangeInfos(multipleLightMethodsWithEqualNames: Boolean = false): List<JavaChangeInfo>? {
fun filterLightMethods(list: List<PsiMethod>): List<PsiMethod> {
return if (multipleLightMethodsWithEqualNames) list else list.groupBy { it.name }.values().map { it.firstOrNull() }.filterNotNull()
}
public fun getOrCreateJavaChangeInfos(): List<JavaChangeInfo>? {
/*
* When primaryMethodUpdated is false, changes to the primary Kotlin declaration are already confirmed, but not yet applied.
* It means that originalPsiMethod has already expired, but new one can't be created until Kotlin declaration is updated
@@ -368,7 +364,7 @@ public open class JetChangeInfo(
if (javaChangeInfos == null) {
val method = getMethod()
javaChangeInfos = (filterLightMethods(originalPsiMethods) zip filterLightMethods(method.toLightMethods())).map {
javaChangeInfos = (originalPsiMethods zip method.toLightMethods()).map {
val (originalPsiMethod, currentPsiMethod) = it
when (method) {
@@ -46,7 +46,7 @@ public class JetChangeSignatureProcessor(project: Project,
override fun findUsages(): Array<UsageInfo> {
val allUsages = ArrayList<UsageInfo>()
getChangeInfo().getOrCreateJavaChangeInfos(true)?.let { javaChangeInfos ->
getChangeInfo().getOrCreateJavaChangeInfos()?.let { javaChangeInfos ->
val javaProcessor = JavaChangeSignatureUsageProcessor()
javaChangeInfos.mapTo(allUsages) {
KotlinWrapperForJavaUsageInfos(it, javaProcessor.findUsages(it), getChangeInfo().getMethod())
@@ -797,7 +797,7 @@ class JetChangeSignatureUsageProcessor : ChangeSignatureUsageProcessor {
val isJavaMethodUsage = isJavaMethodUsage(usageInfo)
if (usageInfo is KotlinWrapperForJavaUsageInfos) {
val javaChangeInfos = (changeInfo as JetChangeInfo).getOrCreateJavaChangeInfos(false)
val javaChangeInfos = (changeInfo as JetChangeInfo).getOrCreateJavaChangeInfos()
assert(javaChangeInfos != null) { "JavaChangeInfo not found: " + method.text }
val javaUsageInfos = usageInfo.javaUsageInfos