@JvmOverloads-generated overloads of final methods are also final; test to verify that overloads of deprecated methods are deprecated

This commit is contained in:
Dmitry Jemerov
2016-11-17 17:03:03 +01:00
parent b8525de726
commit a57748f4f4
6 changed files with 25 additions and 5 deletions
@@ -121,7 +121,10 @@ class DefaultParameterValueSubstitutor(val state: GenerationState) {
) {
val typeMapper = state.typeMapper
val isStatic = AsmUtil.isStaticMethod(contextKind, functionDescriptor)
val flags = AsmUtil.getCommonCallableFlags(functionDescriptor) or (if (isStatic) Opcodes.ACC_STATIC else 0)
val flags = AsmUtil.getCommonCallableFlags(functionDescriptor) or
(if (isStatic) Opcodes.ACC_STATIC else 0) or
(if (functionDescriptor.modality == Modality.FINAL && functionDescriptor !is ConstructorDescriptor) Opcodes.ACC_FINAL else 0)
val remainingParameters = getRemainingParameters(functionDescriptor.original, substituteCount)
val signature = typeMapper.mapSignature(functionDescriptor, contextKind, remainingParameters, false)
val mv = classBuilder.newMethod(OtherOrigin(methodElement, functionDescriptor), flags,