JVM_IR KT-47120 treat outer name as case-insensitive for local classes

This commit is contained in:
Dmitry Petrov
2021-06-29 12:58:50 +03:00
parent 1130344fb1
commit 37b05cd9c2
7 changed files with 90 additions and 2 deletions
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.ir.util.isAnonymousObject
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.NameUtils
import org.jetbrains.kotlin.util.capitalizeDecapitalize.toUpperCaseAsciiOnly
abstract class InventNamesForLocalClasses(private val allowTopLevelCallables: Boolean) : FileLoweringPass {
@@ -185,8 +186,8 @@ abstract class InventNamesForLocalClasses(private val allowTopLevelCallables: Bo
}
val simpleName = if (sourceName == null || sourceName.isSpecial) {
val count = (anonymousClassesCount[enclosingName] ?: 0) + 1
anonymousClassesCount[enclosingName] = count
val count = (anonymousClassesCount[enclosingName.toUpperCaseAsciiOnly()] ?: 0) + 1
anonymousClassesCount[enclosingName.toUpperCaseAsciiOnly()] = count
count.toString()
} else {
sourceName