Support synthetic flag

This commit is contained in:
Mikhael Bogdanov
2018-05-30 17:11:09 +02:00
parent 8767e0924b
commit aa8d71f6b9
@@ -17,6 +17,7 @@
package org.jetbrains.kotlin.backend.jvm.codegen
import org.jetbrains.kotlin.backend.common.lower.DECLARATION_ORIGIN_FUNCTION_FOR_DEFAULT_PARAMETER
import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
import org.jetbrains.kotlin.backend.jvm.descriptors.JvmDescriptorWithExtraFlags
import org.jetbrains.kotlin.builtins.KotlinBuiltIns.FQ_NAMES
import org.jetbrains.kotlin.codegen.*
@@ -91,7 +92,7 @@ open class FunctionCodegen(private val irFunction: IrFunction, private val class
else -> if (classCodegen.irClass.isJvmInterface && irFunction.body == null) Opcodes.ACC_ABSTRACT else 0 //TODO transform interface modality on lowering to DefaultImpls
}
val nativeFlag = if (irFunction.isExternal) Opcodes.ACC_NATIVE else 0
val syntheticFlag = if (irFunction.origin == JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR) Opcodes.ACC_SYNTHETIC else 0
return visibility or
modalityFlag or
staticFlag or
@@ -99,6 +100,7 @@ open class FunctionCodegen(private val irFunction: IrFunction, private val class
deprecation or
nativeFlag or
bridgeFlag or
syntheticFlag or
(if (descriptor is JvmDescriptorWithExtraFlags) descriptor.extraFlags else 0)
}