Make inline class wrapper constructor synthetic
This commit is contained in:
@@ -255,13 +255,22 @@ public class AsmUtil {
|
||||
flags |= ACC_ABSTRACT;
|
||||
}
|
||||
|
||||
if (KotlinTypeMapper.isAccessor(functionDescriptor) || hasJvmSyntheticAnnotation(functionDescriptor)) {
|
||||
if (KotlinTypeMapper.isAccessor(functionDescriptor) ||
|
||||
hasJvmSyntheticAnnotation(functionDescriptor) ||
|
||||
isInlineClassWrapperConstructor(functionDescriptor, kind)
|
||||
) {
|
||||
flags |= ACC_SYNTHETIC;
|
||||
}
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
private static boolean isInlineClassWrapperConstructor(@NotNull FunctionDescriptor functionDescriptor, @NotNull OwnerKind kind) {
|
||||
if (!(functionDescriptor instanceof ConstructorDescriptor)) return false;
|
||||
ClassDescriptor classDescriptor = ((ConstructorDescriptor) functionDescriptor).getConstructedClass();
|
||||
return classDescriptor.isInline() && kind == OwnerKind.IMPLEMENTATION;
|
||||
}
|
||||
|
||||
public static int getCommonCallableFlags(FunctionDescriptor functionDescriptor, @NotNull GenerationState state) {
|
||||
int flags = getVisibilityAccessFlag(functionDescriptor);
|
||||
flags |= getVarargsFlag(functionDescriptor);
|
||||
|
||||
Reference in New Issue
Block a user