KT-1727 Supported private namespace members in compiled Kotlin code.
This commit is contained in:
@@ -90,7 +90,7 @@ public class FunctionCodegen {
|
|||||||
List<ValueParameterDescriptor> paramDescrs = functionDescriptor.getValueParameters();
|
List<ValueParameterDescriptor> paramDescrs = functionDescriptor.getValueParameters();
|
||||||
List<TypeParameterDescriptor> typeParameters = (functionDescriptor instanceof PropertyAccessorDescriptor ? ((PropertyAccessorDescriptor)functionDescriptor).getCorrespondingProperty(): functionDescriptor).getTypeParameters();
|
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()
|
if (!functionDescriptor.getValueParameters().isEmpty()
|
||||||
&& functionDescriptor.getValueParameters().get(functionDescriptor.getValueParameters().size() - 1)
|
&& functionDescriptor.getValueParameters().get(functionDescriptor.getValueParameters().size() - 1)
|
||||||
|
|||||||
@@ -995,6 +995,9 @@ public class JetTypeMapper {
|
|||||||
if (DescriptorUtils.isClassObject(declaration)) {
|
if (DescriptorUtils.isClassObject(declaration)) {
|
||||||
return defaultFlags;
|
return defaultFlags;
|
||||||
}
|
}
|
||||||
|
if (p.getContainingDeclaration() instanceof NamespaceDescriptor) {
|
||||||
|
return ACC_PUBLIC;
|
||||||
|
}
|
||||||
return ACC_PRIVATE;
|
return ACC_PRIVATE;
|
||||||
}
|
}
|
||||||
else if (p.getVisibility() == Visibilities.INTERNAL) {
|
else if (p.getVisibility() == Visibilities.INTERNAL) {
|
||||||
|
|||||||
@@ -126,7 +126,8 @@ public class PropertyCodegen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isExternallyAccessible(PropertyDescriptor p) {
|
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) {
|
private void generateSetter(JetProperty p, PropertyDescriptor propertyDescriptor) {
|
||||||
|
|||||||
Reference in New Issue
Block a user