From eac1f5f8c82172dbc66af8c14b0863fa11b27c1c Mon Sep 17 00:00:00 2001 From: Roman Elizarov Date: Wed, 5 Sep 2018 01:50:52 +0300 Subject: [PATCH] Bootstrap change to rename SuccessOrFailure to Result --- .../jetbrains/kotlin/codegen/state/inlineClassManglingUtils.kt | 3 ++- .../src/org/jetbrains/kotlin/resolve/DescriptorUtils.java | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/inlineClassManglingUtils.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/inlineClassManglingUtils.kt index bb49a3d3889..63da88993bf 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/inlineClassManglingUtils.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/inlineClassManglingUtils.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.codegen.state import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.load.kotlin.getRepresentativeUpperBound +import org.jetbrains.kotlin.resolve.DescriptorUtils.RESULT_FQ_NAME import org.jetbrains.kotlin.resolve.DescriptorUtils.SUCCESS_OR_FAILURE_FQ_NAME import org.jetbrains.kotlin.resolve.InlineClassDescriptorResolver.BOX_METHOD_NAME import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe @@ -34,7 +35,7 @@ private fun KotlinType.isInlineClassThatRequiresMangling() = isInlineClassType() && !isDontMangleClass(this.constructor.declarationDescriptor as ClassDescriptor) private fun isDontMangleClass(classDescriptor: ClassDescriptor) = - classDescriptor.fqNameSafe == SUCCESS_OR_FAILURE_FQ_NAME + classDescriptor.fqNameSafe == SUCCESS_OR_FAILURE_FQ_NAME || classDescriptor.fqNameSafe == RESULT_FQ_NAME private fun KotlinType.isTypeParameterWithUpperBoundThatRequiresMangling(): Boolean { val descriptor = constructor.declarationDescriptor as? TypeParameterDescriptor ?: return false diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java index 14a6ac03d17..6eb2b169687 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java @@ -47,6 +47,7 @@ public class DescriptorUtils { public static final FqName CONTINUATION_INTERFACE_FQ_NAME_RELEASE = COROUTINES_PACKAGE_FQ_NAME_RELEASE.child(Name.identifier("Continuation")); public static final FqName SUCCESS_OR_FAILURE_FQ_NAME = new FqName("kotlin.SuccessOrFailure"); + public static final FqName RESULT_FQ_NAME = new FqName("kotlin.Result"); // This JVM-specific class FQ name is declared here only because it's used in MainFunctionDetector which is in frontend public static final FqName JVM_NAME = new FqName("kotlin.jvm.JvmName");