diff --git a/compiler/testData/diagnostics/testsWithJava8/targetedBuiltIns/unsupportedFeature.kt b/compiler/testData/diagnostics/testsWithJava8/targetedBuiltIns/unsupportedFeature.kt index 2d37d90c86c..34566c1aa42 100644 --- a/compiler/testData/diagnostics/testsWithJava8/targetedBuiltIns/unsupportedFeature.kt +++ b/compiler/testData/diagnostics/testsWithJava8/targetedBuiltIns/unsupportedFeature.kt @@ -20,6 +20,8 @@ fun foo(x: List, y: Throwable) { y.fillInStackTrace() checkType { _() } + HashMap().getOrDefault(Any(), null) + // Falls back to extension in stdlib y.printStackTrace() } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/JvmBuiltInsSettings.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/JvmBuiltInsSettings.kt index fa88fb743bc..dea92df9fa0 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/JvmBuiltInsSettings.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/JvmBuiltInsSettings.kt @@ -333,6 +333,8 @@ open class JvmBuiltInsSettings( override fun isFunctionAvailable(classDescriptor: DeserializedClassDescriptor, functionDescriptor: SimpleFunctionDescriptor): Boolean { if (!functionDescriptor.annotations.hasAnnotation(PLATFORM_DEPENDENT_ANNOTATION_FQ_NAME)) return true + if (!isAdditionalBuiltInsFeatureSupported) return false + val javaAnalogueClassDescriptor = classDescriptor.getJavaAnalogue() ?: return true val jvmDescriptor = functionDescriptor.computeJvmDescriptor()