Fix stdlib compilation after updated @JvmName check

Previously, extension receiver type was not taken into account when
checking for @JvmName annotation applicability to possibly mangled
functions (such functions, however, were mangled).
This bug was fixed, but, unfortunately, not before such functions were
added to stdlib ('sumOf' family).
diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.fir.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.fir.kt
index 5e90650..aaf1391 100644
--- a/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.fir.kt
+++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.fir.kt
@@ -24,4 +24,7 @@
 
     @JvmName("test")
     fun returnsKotlinResult(a: Result<Int>): Result<Int> = a
-}
\ No newline at end of file
+}
+
+@JvmName("extensionFun")
+fun Foo.extensionFun() {}
\ No newline at end of file
diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.kt
index d97155c..b58fac7 100644
--- a/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.kt
+++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.kt
@@ -24,4 +24,7 @@
 
     <!INAPPLICABLE_JVM_NAME!>@JvmName("test")<!>
     fun returnsKotlinResult(a: Result<Int>): Result<Int> = a
-}
\ No newline at end of file
+}
+
+<!INAPPLICABLE_JVM_NAME!>@JvmName("extensionFun")<!>
+fun Foo.extensionFun() {}
\ No newline at end of file
diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.txt b/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.txt
index 3de842e..ba26ad1 100644
--- a/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.txt
+++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.txt
@@ -4,6 +4,7 @@
 @kotlin.jvm.JvmName(name = "good") public fun baz(/*0*/ r: kotlin.Result<kotlin.Int>): kotlin.Unit
 @kotlin.jvm.JvmName(name = "test") public fun returnsInlineClass(): Foo
 @kotlin.jvm.JvmName(name = "test") public fun returnsKotlinResult(/*0*/ a: kotlin.Result<kotlin.Int>): kotlin.Result<kotlin.Int>
+@kotlin.jvm.JvmName(name = "extensionFun") public fun Foo.extensionFun(): kotlin.Unit
 
 public final class C {
     public constructor C()
diff --git a/js/js.translator/testData/api/stdlib-ir/kotlin-1.kt b/js/js.translator/testData/api/stdlib-ir/kotlin-1.kt
index 8759a62..f412785 100644
--- a/js/js.translator/testData/api/stdlib-ir/kotlin-1.kt
+++ b/js/js.translator/testData/api/stdlib-ir/kotlin-1.kt
@@ -40,8 +40,8 @@
     public open override /*1*/ fun toString(): kotlin.String
 
     public companion object Companion {
-        @kotlin.internal.InlineOnly public final inline fun </*0*/ T> failure(/*0*/ exception: kotlin.Throwable): kotlin.Result<T>
-        @kotlin.internal.InlineOnly public final inline fun </*0*/ T> success(/*0*/ value: T): kotlin.Result<T>
+        @kotlin.internal.InlineOnly @kotlin.jvm.JvmName(name = "failure") public final inline fun </*0*/ T> failure(/*0*/ exception: kotlin.Throwable): kotlin.Result<T>
+        @kotlin.internal.InlineOnly @kotlin.jvm.JvmName(name = "success") public final inline fun </*0*/ T> success(/*0*/ value: T): kotlin.Result<T>
     }
 }
 
diff --git a/js/js.translator/testData/api/stdlib-ir/kotlin.reflect.kt b/js/js.translator/testData/api/stdlib-ir/kotlin.reflect.kt
index 3ca1e4e..9383e3e 100644
--- a/js/js.translator/testData/api/stdlib-ir/kotlin.reflect.kt
+++ b/js/js.translator/testData/api/stdlib-ir/kotlin.reflect.kt
@@ -1,9 +1,9 @@
 package kotlin.reflect
 
 @kotlin.SinceKotlin(version = "1.3") @kotlin.ExperimentalStdlibApi public inline fun </*0*/ reified T> typeOf(): kotlin.reflect.KType
-@kotlin.SinceKotlin(version = "1.3") @kotlin.ExperimentalStdlibApi @kotlin.internal.LowPriorityInOverloadResolution public fun </*0*/ T : kotlin.Any> kotlin.reflect.KClass<T>.cast(/*0*/ value: kotlin.Any?): T
+@kotlin.SinceKotlin(version = "1.4") @kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.internal.LowPriorityInOverloadResolution public fun </*0*/ T : kotlin.Any> kotlin.reflect.KClass<T>.cast(/*0*/ value: kotlin.Any?): T
 @kotlin.reflect.ExperimentalAssociatedObjects public inline fun </*0*/ reified T : kotlin.Annotation> kotlin.reflect.KClass<*>.findAssociatedObject(): kotlin.Any?
-@kotlin.SinceKotlin(version = "1.3") @kotlin.ExperimentalStdlibApi @kotlin.internal.LowPriorityInOverloadResolution public fun </*0*/ T : kotlin.Any> kotlin.reflect.KClass<T>.safeCast(/*0*/ value: kotlin.Any?): T?
+@kotlin.SinceKotlin(version = "1.4") @kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.internal.LowPriorityInOverloadResolution public fun </*0*/ T : kotlin.Any> kotlin.reflect.KClass<T>.safeCast(/*0*/ value: kotlin.Any?): T?
 
 @kotlin.reflect.ExperimentalAssociatedObjects @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.ANNOTATION_CLASS}) public final annotation class AssociatedObjectKey : kotlin.Annotation {
     /*primary*/ public constructor AssociatedObjectKey()
diff --git a/js/js.translator/testData/api/stdlib/kotlin-1.kt b/js/js.translator/testData/api/stdlib/kotlin-1.kt
index 0a54662..c9717b4 100644
--- a/js/js.translator/testData/api/stdlib/kotlin-1.kt
+++ b/js/js.translator/testData/api/stdlib/kotlin-1.kt
@@ -41,8 +41,8 @@
     public open override /*1*/ fun toString(): kotlin.String
 
     public companion object Companion {
-        @kotlin.internal.InlineOnly public final inline fun </*0*/ T> failure(/*0*/ exception: kotlin.Throwable): kotlin.Result<T>
-        @kotlin.internal.InlineOnly public final inline fun </*0*/ T> success(/*0*/ value: T): kotlin.Result<T>
+        @kotlin.internal.InlineOnly @kotlin.jvm.JvmName(name = "failure") public final inline fun </*0*/ T> failure(/*0*/ exception: kotlin.Throwable): kotlin.Result<T>
+        @kotlin.internal.InlineOnly @kotlin.jvm.JvmName(name = "success") public final inline fun </*0*/ T> success(/*0*/ value: T): kotlin.Result<T>
     }
 }
 
diff --git a/js/js.translator/testData/api/stdlib/kotlin.reflect.kt b/js/js.translator/testData/api/stdlib/kotlin.reflect.kt
index d6e9f82..071ca03 100644
--- a/js/js.translator/testData/api/stdlib/kotlin.reflect.kt
+++ b/js/js.translator/testData/api/stdlib/kotlin.reflect.kt
@@ -1,9 +1,9 @@
 package kotlin.reflect
 
 @kotlin.SinceKotlin(version = "1.3") @kotlin.ExperimentalStdlibApi public inline fun </*0*/ reified T> typeOf(): kotlin.reflect.KType
-@kotlin.SinceKotlin(version = "1.3") @kotlin.ExperimentalStdlibApi @kotlin.internal.LowPriorityInOverloadResolution public fun </*0*/ T : kotlin.Any> kotlin.reflect.KClass<T>.cast(/*0*/ value: kotlin.Any?): T
+@kotlin.SinceKotlin(version = "1.4") @kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.internal.LowPriorityInOverloadResolution public fun </*0*/ T : kotlin.Any> kotlin.reflect.KClass<T>.cast(/*0*/ value: kotlin.Any?): T
 @kotlin.reflect.ExperimentalAssociatedObjects public inline fun </*0*/ reified T : kotlin.Annotation> kotlin.reflect.KClass<*>.findAssociatedObject(): kotlin.Any?
-@kotlin.SinceKotlin(version = "1.3") @kotlin.ExperimentalStdlibApi @kotlin.internal.LowPriorityInOverloadResolution public fun </*0*/ T : kotlin.Any> kotlin.reflect.KClass<T>.safeCast(/*0*/ value: kotlin.Any?): T?
+@kotlin.SinceKotlin(version = "1.4") @kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.internal.LowPriorityInOverloadResolution public fun </*0*/ T : kotlin.Any> kotlin.reflect.KClass<T>.safeCast(/*0*/ value: kotlin.Any?): T?
 
 @kotlin.reflect.ExperimentalAssociatedObjects @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.ANNOTATION_CLASS}) public final annotation class AssociatedObjectKey : kotlin.Annotation {
     /*primary*/ public constructor AssociatedObjectKey()
diff --git a/libraries/stdlib/common/src/generated/_UArrays.kt b/libraries/stdlib/common/src/generated/_UArrays.kt
index 38cf9a2..7e61ccd 100644
--- a/libraries/stdlib/common/src/generated/_UArrays.kt
+++ b/libraries/stdlib/common/src/generated/_UArrays.kt
@@ -9304,6 +9304,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfDouble")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9321,6 +9322,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfDouble")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9338,6 +9340,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfDouble")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9355,6 +9358,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfDouble")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9372,6 +9376,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfInt")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9389,6 +9394,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfInt")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9406,6 +9412,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfInt")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9423,6 +9430,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfInt")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9440,6 +9448,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfLong")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9457,6 +9466,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfLong")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9474,6 +9484,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfLong")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9491,6 +9502,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfLong")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9508,6 +9520,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfUInt")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9525,6 +9538,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfUInt")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9542,6 +9556,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfUInt")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9559,6 +9574,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfUInt")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9576,6 +9592,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfULong")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9593,6 +9610,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfULong")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9610,6 +9628,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfULong")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -9627,6 +9646,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfULong")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
diff --git a/libraries/stdlib/jvm/src/generated/_UArraysJvm.kt b/libraries/stdlib/jvm/src/generated/_UArraysJvm.kt
index f5d2f7a..18b289e 100644
--- a/libraries/stdlib/jvm/src/generated/_UArraysJvm.kt
+++ b/libraries/stdlib/jvm/src/generated/_UArraysJvm.kt
@@ -291,6 +291,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfBigDecimal")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -308,6 +309,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfBigDecimal")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -325,6 +327,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfBigDecimal")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -342,6 +345,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfBigDecimal")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -359,6 +363,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfBigInteger")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -376,6 +381,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfBigInteger")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -393,6 +399,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfBigInteger")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
@@ -410,6 +417,7 @@
 @SinceKotlin("1.4")
 @OptIn(kotlin.experimental.ExperimentalTypeInference::class)
 @OverloadResolutionByLambdaReturnType
+@Suppress("INAPPLICABLE_JVM_NAME")
 @kotlin.jvm.JvmName("sumOfBigInteger")
 @ExperimentalUnsignedTypes
 @kotlin.internal.InlineOnly
diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Aggregates.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Aggregates.kt
index 44f43c1..33840d0 100644
--- a/libraries/tools/kotlin-stdlib-gen/src/templates/Aggregates.kt
+++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Aggregates.kt
@@ -264,6 +264,9 @@
             }
             annotation("@OptIn(kotlin.experimental.ExperimentalTypeInference::class)")
             annotation("@OverloadResolutionByLambdaReturnType")
+            specialFor(ArraysOfUnsigned) {
+                annotation("""@Suppress("INAPPLICABLE_JVM_NAME")""")
+            }
             annotation("""@kotlin.jvm.JvmName("sumOf$typeShortName")""") // should not be needed if inline return type is mangled
             if (selectorType.startsWith("U"))
                 annotation("@ExperimentalUnsignedTypes")