[FE] Return Name? instead of List<Name> from getBuiltinFunctionNamesByJvmName

This is much more correct, because we have one to one mapping for
  special java functions in this case, so using single nullable name
  instead of list of names makes code more readable
This commit is contained in:
Dmitriy Novozhilov
2021-12-13 11:57:44 +03:00
parent 09a7a1c09f
commit 17916d4a63
3 changed files with 25 additions and 29 deletions
@@ -205,17 +205,15 @@ class LazyJavaClassMemberScope(
}
private fun SimpleFunctionDescriptor.doesOverrideRenamedBuiltins(): Boolean {
return SpecialGenericSignatures.getBuiltinFunctionNamesByJvmName(name).any {
// e.g. 'removeAt' or 'toInt'
builtinName ->
val builtinSpecialFromSuperTypes =
getFunctionsFromSupertypes(builtinName).filter { it.doesOverrideBuiltinWithDifferentJvmName() }
if (builtinSpecialFromSuperTypes.isEmpty()) return@any false
// e.g. 'removeAt' or 'toInt'
val builtinName = SpecialGenericSignatures.getBuiltinFunctionNamesByJvmName(name) ?: return false
val builtinSpecialFromSuperTypes =
getFunctionsFromSupertypes(builtinName).filter { it.doesOverrideBuiltinWithDifferentJvmName() }
if (builtinSpecialFromSuperTypes.isEmpty()) return false
val methodDescriptor = this.createRenamedCopy(builtinName)
val methodDescriptor = this.createRenamedCopy(builtinName)
builtinSpecialFromSuperTypes.any { doesOverrideRenamedDescriptor(it, methodDescriptor) }
}
return builtinSpecialFromSuperTypes.any { doesOverrideRenamedDescriptor(it, methodDescriptor) }
}
private fun SimpleFunctionDescriptor.doesOverrideSuspendFunction(): Boolean {