[JS IR] Remove unnecessary overrides in IrNamer

This commit is contained in:
Ilya Goncharov
2021-05-17 17:40:48 +03:00
committed by TeamCityServer
parent 0921235637
commit b76f5547e4
@@ -9,12 +9,7 @@ import org.jetbrains.kotlin.ir.backend.js.JsIrBackendContext
import org.jetbrains.kotlin.ir.declarations.IrDeclarationWithName
import org.jetbrains.kotlin.ir.declarations.IrField
import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction
import org.jetbrains.kotlin.backend.common.ir.isTopLevel
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrLoop
import org.jetbrains.kotlin.ir.util.parentAsClass
import org.jetbrains.kotlin.js.backend.ast.JsName
import org.jetbrains.kotlin.js.backend.ast.JsNameRef
class IrNamerImpl(
private val newNameTables: NameTables,
@@ -33,50 +28,4 @@ class IrNamerImpl(
require(!field.isStatic)
return newNameTables.getNameForMemberField(field).toJsName()
}
override fun getNameForField(field: IrField): JsName {
return if (field.isStatic || field.parent is IrScript) {
getNameForStaticDeclaration(field)
} else {
getNameForMemberField(field)
}
}
override fun getNameForClass(klass: IrClass): JsName =
getNameForStaticDeclaration(klass)
override fun getNameForStaticFunction(function: IrSimpleFunction): JsName =
getNameForStaticDeclaration(function)
override fun getNameForProperty(property: IrProperty): JsName =
if (property.isTopLevel) getNameForStaticDeclaration(property) else property.getJsNameOrKotlinName().asString().toJsName()
override fun getRefForExternalClass(klass: IrClass): JsNameRef {
val parent = klass.parent
if (klass.isCompanion)
return getRefForExternalClass(parent as IrClass)
val currentClassName = if (klass.isTopLevel) getNameForStaticDeclaration(klass).ident else klass.getJsNameOrKotlinName().identifier
return when (parent) {
is IrClass ->
JsNameRef(currentClassName, getRefForExternalClass(parent))
is IrPackageFragment ->
JsNameRef(currentClassName)
else ->
error("Unsupported external class parent $parent")
}
}
private val associatedObjectKeyMap = mutableMapOf<IrClass, Int>()
override fun getAssociatedObjectKey(irClass: IrClass): Int? {
if (irClass.isAssociatedObjectAnnotatedAnnotation) {
return associatedObjectKeyMap.getOrPut(irClass) { associatedObjectKeyMap.size }
}
return null
}
}