From de50b2c191673a3a5f81f8f6ac52deb5b409cb5d Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Tue, 26 Apr 2011 11:18:51 +0400 Subject: [PATCH] Namespace properties can directly be accessed via backing field. --- idea/src/org/jetbrains/jet/codegen/PropertyCodegen.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/idea/src/org/jetbrains/jet/codegen/PropertyCodegen.java b/idea/src/org/jetbrains/jet/codegen/PropertyCodegen.java index f22d242d193..90b3eb05b76 100644 --- a/idea/src/org/jetbrains/jet/codegen/PropertyCodegen.java +++ b/idea/src/org/jetbrains/jet/codegen/PropertyCodegen.java @@ -85,9 +85,13 @@ public class PropertyCodegen { value = ((JetConstantExpression) initializer).getValue(); } } - int modifiers = Opcodes.ACC_PRIVATE; + final int modifiers; if (kind == OwnerKind.NAMESPACE) { - modifiers |= Opcodes.ACC_STATIC; + int access = isExternallyAccessible(p) ? Opcodes.ACC_PUBLIC : Opcodes.ACC_PRIVATE; + modifiers = access | Opcodes.ACC_STATIC; + } + else { + modifiers = Opcodes.ACC_PRIVATE; } v.visitField(modifiers, p.getName(), mapper.mapType(propertyDescriptor.getOutType()).getDescriptor(), null, value); }