Mark synthesized box/unbox methods in inline classes as ACC_SYNTHETIC

This commit is contained in:
Dmitry Petrov
2018-09-05 15:12:02 +03:00
parent c86ee90bec
commit d8a6db8774
8 changed files with 17 additions and 14 deletions
@@ -33,6 +33,7 @@ import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.protobuf.MessageLite;
import org.jetbrains.kotlin.renderer.DescriptorRenderer;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.InlineClassDescriptorResolver;
import org.jetbrains.kotlin.resolve.InlineClassesUtilsKt;
import org.jetbrains.kotlin.resolve.checkers.ExpectedActualDeclarationChecker;
import org.jetbrains.kotlin.resolve.inline.InlineUtil;
@@ -255,7 +256,9 @@ public class AsmUtil {
if (KotlinTypeMapper.isAccessor(functionDescriptor) ||
hasJvmSyntheticAnnotation(functionDescriptor) ||
isInlineClassWrapperConstructor(functionDescriptor, kind)
isInlineClassWrapperConstructor(functionDescriptor, kind) ||
InlineClassDescriptorResolver.isSynthesizedBoxMethod(functionDescriptor) ||
InlineClassDescriptorResolver.isSynthesizedUnboxMethod(functionDescriptor)
) {
flags |= ACC_SYNTHETIC;
}