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 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.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.backend.jvm.descriptors.JvmDescriptorWithExtraFlags
import org.jetbrains.kotlin.builtins.KotlinBuiltIns.FQ_NAMES import org.jetbrains.kotlin.builtins.KotlinBuiltIns.FQ_NAMES
import org.jetbrains.kotlin.codegen.* 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 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 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 return visibility or
modalityFlag or modalityFlag or
staticFlag or staticFlag or
@@ -99,6 +100,7 @@ open class FunctionCodegen(private val irFunction: IrFunction, private val class
deprecation or deprecation or
nativeFlag or nativeFlag or
bridgeFlag or bridgeFlag or
syntheticFlag or
(if (descriptor is JvmDescriptorWithExtraFlags) descriptor.extraFlags else 0) (if (descriptor is JvmDescriptorWithExtraFlags) descriptor.extraFlags else 0)
} }