JVM_IR KT-43401 KT-43518 fix ACC_STRICT and ACC_SYNCHRONIZED flags

This commit is contained in:
Dmitry Petrov
2020-12-16 14:10:36 +03:00
parent 7ed3860c70
commit 8999fd88b1
7 changed files with 190 additions and 2 deletions
@@ -169,8 +169,8 @@ class FunctionCodegen(
isReifiable() ||
isDeprecatedHidden()
val isStrict = hasAnnotation(STRICTFP_ANNOTATION_FQ_NAME)
val isSynchronized = hasAnnotation(SYNCHRONIZED_ANNOTATION_FQ_NAME)
val isStrict = hasAnnotation(STRICTFP_ANNOTATION_FQ_NAME) && origin != JvmLoweredDeclarationOrigin.JVM_OVERLOADS_WRAPPER
val isSynchronized = hasAnnotation(SYNCHRONIZED_ANNOTATION_FQ_NAME) && origin != JvmLoweredDeclarationOrigin.JVM_OVERLOADS_WRAPPER
return getVisibilityAccessFlag() or modalityFlag or
(if (isDeprecatedFunction(context)) Opcodes.ACC_DEPRECATED else 0) or