diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java index d0f569bfc4f..8aee1f75b6e 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java @@ -140,18 +140,12 @@ public class FunctionCodegen { throw new IllegalStateException(); } JetMethodAnnotationWriter aw = JetMethodAnnotationWriter.visitAnnotation(mv); - BitSet kotlinFlags = new BitSet(); + BitSet kotlinFlags = CodegenUtil.getFlagsForVisibility(functionDescriptor.getVisibility()); if (CodegenUtil.isInterface(functionDescriptor.getContainingDeclaration()) && modality != Modality.ABSTRACT) { kotlinFlags.set(modality == Modality.FINAL ? JvmStdlibNames.FLAG_FORCE_FINAL_BIT : JvmStdlibNames.FLAG_FORCE_OPEN_BIT); } - if (functionDescriptor.getVisibility() == Visibilities.INTERNAL) { - kotlinFlags.set(JvmStdlibNames.FLAG_INTERNAL_BIT); - } - else if (functionDescriptor.getVisibility() == Visibilities.PRIVATE) { - kotlinFlags.set(JvmStdlibNames.FLAG_PRIVATE_BIT); - } aw.writeFlags(kotlinFlags); aw.writeNullableReturnType(functionDescriptor.getReturnType().isNullable()); aw.writeTypeParameters(jvmSignature.getKotlinTypeParameter()); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java index c94a4d9d51c..37914bf6d00 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java @@ -169,13 +169,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { if (signature.getKotlinGenericSignature() != null || descriptor.getVisibility() != Visibilities.PUBLIC) { AnnotationVisitor annotationVisitor = v.newAnnotation(myClass, JvmStdlibNames.JET_CLASS.getDescriptor(), true); annotationVisitor.visit(JvmStdlibNames.JET_CLASS_SIGNATURE, signature.getKotlinGenericSignature()); - BitSet flags = new BitSet(); - if (descriptor.getVisibility() == Visibilities.INTERNAL) { - flags.set(JvmStdlibNames.FLAG_INTERNAL_BIT); - } - else if (descriptor.getVisibility() == Visibilities.PRIVATE) { - flags.set(JvmStdlibNames.FLAG_PRIVATE_BIT); - } + BitSet flags = CodegenUtil.getFlagsForVisibility(descriptor.getVisibility()); int flagsValue = BitSetUtils.toInt(flags); if (JvmStdlibNames.FLAGS_DEFAULT_VALUE != flagsValue) { annotationVisitor.visit(JvmStdlibNames.JET_CLASS_FLAGS_FIELD, flagsValue); @@ -791,13 +785,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { JvmMethodSignature jvmSignature = typeMapper.mapToCallableMethod(inheritedFun, false, OwnerKind.IMPLEMENTATION).getSignature(); JetMethodAnnotationWriter aw = JetMethodAnnotationWriter.visitAnnotation(mv); - BitSet kotlinFlags = new BitSet(); - if (fun.getVisibility() == Visibilities.INTERNAL) { - kotlinFlags.set(JvmStdlibNames.FLAG_INTERNAL_BIT); - } - else if (fun.getVisibility() == Visibilities.PRIVATE) { - kotlinFlags.set(JvmStdlibNames.FLAG_PRIVATE_BIT); - } + BitSet kotlinFlags = CodegenUtil.getFlagsForVisibility(fun.getVisibility()); if (fun instanceof PropertyAccessorDescriptor) { kotlinFlags.set(JvmStdlibNames.FLAG_PROPERTY_BIT); aw.writeTypeParameters(jvmSignature.getKotlinTypeParameter()); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/PropertyCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/PropertyCodegen.java index d6755921cc8..031e9f3639f 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/PropertyCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/PropertyCodegen.java @@ -230,19 +230,13 @@ public class PropertyCodegen { @NotNull PropertyDescriptor propertyDescriptor, @NotNull Visibility visibility) { JetMethodAnnotationWriter aw = JetMethodAnnotationWriter.visitAnnotation(mv); Modality modality = propertyDescriptor.getModality(); - BitSet flags = new BitSet(); + BitSet flags = CodegenUtil.getFlagsForVisibility(visibility); flags.set(JvmStdlibNames.FLAG_PROPERTY_BIT); if (CodegenUtil.isInterface(propertyDescriptor.getContainingDeclaration()) && modality != Modality.ABSTRACT) { flags.set(modality == Modality.FINAL ? JvmStdlibNames.FLAG_FORCE_FINAL_BIT : JvmStdlibNames.FLAG_FORCE_OPEN_BIT); } - if (visibility == Visibilities.INTERNAL) { - flags.set(JvmStdlibNames.FLAG_INTERNAL_BIT); - } - else if (visibility == Visibilities.PRIVATE) { - flags.set(JvmStdlibNames.FLAG_PRIVATE_BIT); - } aw.writeFlags(flags); aw.writeTypeParameters(typeParameters); aw.writePropertyType(kotlinType);