KT-1727 Supported private namespace members in compiled Kotlin code.

This commit is contained in:
Evgeny Gerashchenko
2012-06-19 22:37:59 +04:00
parent 5ecfd71611
commit 8cc0d96430
3 changed files with 6 additions and 2 deletions
@@ -90,7 +90,7 @@ public class FunctionCodegen {
List<ValueParameterDescriptor> paramDescrs = functionDescriptor.getValueParameters();
List<TypeParameterDescriptor> typeParameters = (functionDescriptor instanceof PropertyAccessorDescriptor ? ((PropertyAccessorDescriptor)functionDescriptor).getCorrespondingProperty(): functionDescriptor).getTypeParameters();
int flags = ACC_PUBLIC; // TODO.
int flags = JetTypeMapper.getAccessModifiers(functionDescriptor, 0);
if (!functionDescriptor.getValueParameters().isEmpty()
&& functionDescriptor.getValueParameters().get(functionDescriptor.getValueParameters().size() - 1)
@@ -995,6 +995,9 @@ public class JetTypeMapper {
if (DescriptorUtils.isClassObject(declaration)) {
return defaultFlags;
}
if (p.getContainingDeclaration() instanceof NamespaceDescriptor) {
return ACC_PUBLIC;
}
return ACC_PRIVATE;
}
else if (p.getVisibility() == Visibilities.INTERNAL) {
@@ -126,7 +126,8 @@ public class PropertyCodegen {
}
private static boolean isExternallyAccessible(PropertyDescriptor p) {
return p.getVisibility() != Visibilities.PRIVATE || DescriptorUtils.isClassObject(p.getContainingDeclaration());
return p.getVisibility() != Visibilities.PRIVATE || DescriptorUtils.isClassObject(p.getContainingDeclaration())
|| p.getContainingDeclaration() instanceof NamespaceDescriptor;
}
private void generateSetter(JetProperty p, PropertyDescriptor propertyDescriptor) {