diff --git a/compiler/frontend/src/org/jetbrains/jet/resolve/DescriptorRenderer.java b/compiler/frontend/src/org/jetbrains/jet/resolve/DescriptorRenderer.java index 0a79f89727d..3d21cefaf29 100644 --- a/compiler/frontend/src/org/jetbrains/jet/resolve/DescriptorRenderer.java +++ b/compiler/frontend/src/org/jetbrains/jet/resolve/DescriptorRenderer.java @@ -297,6 +297,7 @@ public class DescriptorRenderer implements Renderer { @Override public Void visitPropertyDescriptor(PropertyDescriptor descriptor, StringBuilder builder) { + renderVisibility(descriptor.getVisibility(), builder); renderModality(descriptor.getModality(), builder); String typeString = renderPropertyPrefixAndComputeTypeString( builder, @@ -309,6 +310,10 @@ public class DescriptorRenderer implements Renderer { return null; } + private void renderVisibility(Visibility visibility, StringBuilder builder) { + builder.append(visibility).append(" "); + } + private void renderModality(Modality modality, StringBuilder builder) { switch (modality) { case FINAL: @@ -326,6 +331,7 @@ public class DescriptorRenderer implements Renderer { @Override public Void visitFunctionDescriptor(FunctionDescriptor descriptor, StringBuilder builder) { + renderVisibility(descriptor.getVisibility(), builder); renderModality(descriptor.getModality(), builder); builder.append(renderKeyword("fun")).append(" "); if (renderTypeParameters(descriptor.getTypeParameters(), builder)) { @@ -420,7 +426,20 @@ public class DescriptorRenderer implements Renderer { return super.visitClassDescriptor(descriptor, builder); } + private boolean isClassObjectDescriptor(ClassDescriptor descriptor) { + if (descriptor.getKind() == ClassKind.OBJECT) { + DeclarationDescriptor containing = descriptor.getContainingDeclaration(); + if (containing instanceof ClassDescriptor) { + return ((ClassDescriptor)containing).getClassObjectDescriptor() == descriptor; + } + } + return false; + } + public void renderClassDescriptor(ClassDescriptor descriptor, StringBuilder builder, String keyword) { + if (!isClassObjectDescriptor(descriptor)) { + renderVisibility(descriptor.getVisibility(), builder); + } if (descriptor.getKind() != ClassKind.TRAIT && descriptor.getKind() != ClassKind.OBJECT) { renderModality(descriptor.getModality(), builder); } diff --git a/compiler/testData/renderer/GlobalFunctions.kt b/compiler/testData/renderer/GlobalFunctions.kt index 435d8a4836a..dba7b740213 100644 --- a/compiler/testData/renderer/GlobalFunctions.kt +++ b/compiler/testData/renderer/GlobalFunctions.kt @@ -4,15 +4,15 @@ public fun pub() {} internal fun int : String {} -val int2 : Int = 5 +fun int2() : Int = 5 private fun prv() = 5 public fun Int.ext() : Int {} //package rendererTest defined in . -//final fun pub() : Unit defined in ..rendererTest -//final fun int() : jet.String defined in ..rendererTest -//final val int2 : jet.Int defined in ..rendererTest -//final fun prv() : jet.Int defined in ..rendererTest -//final fun jet.Int.ext() : jet.Int defined in ..rendererTest \ No newline at end of file +//public final fun pub() : Unit defined in ..rendererTest +//internal final fun int() : jet.String defined in ..rendererTest +//internal final fun int2() : jet.Int defined in ..rendererTest +//private final fun prv() : jet.Int defined in ..rendererTest +//public final fun jet.Int.ext() : jet.Int defined in ..rendererTest \ No newline at end of file diff --git a/compiler/testData/renderer/GlobalProperties.kt b/compiler/testData/renderer/GlobalProperties.kt index 1cc9103465c..943674128cd 100644 --- a/compiler/testData/renderer/GlobalProperties.kt +++ b/compiler/testData/renderer/GlobalProperties.kt @@ -12,9 +12,9 @@ public val Int.ext : Int get() {} //package rendererTest defined in . -//final val pub : jet.String defined in ..rendererTest -//final var int : jet.String defined in ..rendererTest -//final val int2 : jet.Int defined in ..rendererTest -//final var private : jet.Int defined in ..rendererTest -//final val jet.Int.ext : jet.Int defined in ..rendererTest -//final fun jet.Int.get-ext() : jet.Int defined in ..rendererTest \ No newline at end of file +//public final val pub : jet.String defined in ..rendererTest +//internal final var int : jet.String defined in ..rendererTest +//internal final val int2 : jet.Int defined in ..rendererTest +//private final var private : jet.Int defined in ..rendererTest +//public final val jet.Int.ext : jet.Int defined in ..rendererTest +//public final fun jet.Int.get-ext() : jet.Int defined in ..rendererTest \ No newline at end of file diff --git a/idea/testData/libraries/decompiled/AbstractClass.kt b/idea/testData/libraries/decompiled/AbstractClass.kt index 33cbc85ca07..1bbcdc62a2d 100644 --- a/idea/testData/libraries/decompiled/AbstractClass.kt +++ b/idea/testData/libraries/decompiled/AbstractClass.kt @@ -3,5 +3,5 @@ package testData.libraries -[abstract class AbstractClass { +[public abstract class AbstractClass { }] \ No newline at end of file diff --git a/idea/testData/libraries/decompiled/ClassWithAbstractAndOpenMembers.kt b/idea/testData/libraries/decompiled/ClassWithAbstractAndOpenMembers.kt index fb0ac929790..10a9b0e9a1a 100644 --- a/idea/testData/libraries/decompiled/ClassWithAbstractAndOpenMembers.kt +++ b/idea/testData/libraries/decompiled/ClassWithAbstractAndOpenMembers.kt @@ -3,20 +3,20 @@ package testData.libraries -[abstract class ClassWithAbstractAndOpenMembers { - [abstract val abstractVal : jet.String] +[public abstract class ClassWithAbstractAndOpenMembers { + [public abstract val abstractVal : jet.String] - [abstract var abstractVar : jet.String] + [public abstract var abstractVar : jet.String] - [open val openVal : jet.String] /* compiled code */ + [public open val openVal : jet.String] /* compiled code */ - [open val openValWithGetter : jet.String] /* compiled code */ + [public open val openValWithGetter : jet.String] /* compiled code */ - [open var openVar : jet.String] /* compiled code */ + [public open var openVar : jet.String] /* compiled code */ - [open var openVarWithGetter : jet.String] /* compiled code */ + [public open var openVarWithGetter : jet.String] /* compiled code */ - [abstract fun abstractFun() : Unit] + [public abstract fun abstractFun() : Unit] - [open fun openFun() : Unit { /* compiled code */ }] + [public open fun openFun() : Unit { /* compiled code */ }] }] diff --git a/idea/testData/libraries/decompiled/Color.kt b/idea/testData/libraries/decompiled/Color.kt index a23bb9d367d..465e08e5c2c 100644 --- a/idea/testData/libraries/decompiled/Color.kt +++ b/idea/testData/libraries/decompiled/Color.kt @@ -3,6 +3,6 @@ package testData.libraries -[final class Color { - [final val rgb : jet.Int] /* compiled code */ +[public final class Color { + [public final val rgb : jet.Int] /* compiled code */ }] diff --git a/idea/testData/libraries/decompiled/SimpleClass.kt b/idea/testData/libraries/decompiled/SimpleClass.kt index 7f9387af5d4..2dde8866afb 100644 --- a/idea/testData/libraries/decompiled/SimpleClass.kt +++ b/idea/testData/libraries/decompiled/SimpleClass.kt @@ -3,5 +3,5 @@ package testData.libraries -[final class SimpleClass { +[public final class SimpleClass { }] diff --git a/idea/testData/libraries/decompiled/SimpleTrait.kt b/idea/testData/libraries/decompiled/SimpleTrait.kt index d25fc5a61ec..7d9bf553e53 100644 --- a/idea/testData/libraries/decompiled/SimpleTrait.kt +++ b/idea/testData/libraries/decompiled/SimpleTrait.kt @@ -3,5 +3,5 @@ package testData.libraries -[trait SimpleTrait { +[public trait SimpleTrait { }] diff --git a/idea/testData/libraries/decompiled/SimpleTraitImpl.kt b/idea/testData/libraries/decompiled/SimpleTraitImpl.kt index 5c964d00853..d091a04d296 100644 --- a/idea/testData/libraries/decompiled/SimpleTraitImpl.kt +++ b/idea/testData/libraries/decompiled/SimpleTraitImpl.kt @@ -3,5 +3,5 @@ package testData.libraries -[final class SimpleTraitImpl : testData.libraries.SimpleTrait { +[public final class SimpleTraitImpl : testData.libraries.SimpleTrait { }] diff --git a/idea/testData/libraries/decompiled/WithInnerAndObject.kt b/idea/testData/libraries/decompiled/WithInnerAndObject.kt index 846cc2fc097..42e13a18117 100644 --- a/idea/testData/libraries/decompiled/WithInnerAndObject.kt +++ b/idea/testData/libraries/decompiled/WithInnerAndObject.kt @@ -3,14 +3,14 @@ package testData.libraries -[final class WithInnerAndObject { +[public final class WithInnerAndObject { class object { - [final fun foo() : Unit { /* compiled code */ }] + [public final fun foo() : Unit { /* compiled code */ }] } - [final class MyInner { - [trait MyInnerInner { - [abstract fun innerInnerMethod() : Unit] + [public final class MyInner { + [public trait MyInnerInner { + [public abstract fun innerInnerMethod() : Unit] }] }] }] diff --git a/idea/testData/libraries/decompiled/WithTraitClassObject.kt b/idea/testData/libraries/decompiled/WithTraitClassObject.kt index d9189c8dce2..ebdbde424a2 100644 --- a/idea/testData/libraries/decompiled/WithTraitClassObject.kt +++ b/idea/testData/libraries/decompiled/WithTraitClassObject.kt @@ -3,7 +3,7 @@ package testData.libraries -[final class WithTraitClassObject { +[public final class WithTraitClassObject { class object : testData.libraries.SimpleTrait { } }] diff --git a/idea/testData/libraries/decompiled/namespace.kt b/idea/testData/libraries/decompiled/namespace.kt index 99c56eb99d8..0b9274c42a1 100644 --- a/idea/testData/libraries/decompiled/namespace.kt +++ b/idea/testData/libraries/decompiled/namespace.kt @@ -3,24 +3,24 @@ package testData.libraries -[final val #(T, T).exProp : jet.String] /* compiled code */ +[public final val #(T, T).exProp : jet.String] /* compiled code */ -[final val jet.Int.exProp : jet.Int] /* compiled code */ +[public final val jet.Int.exProp : jet.Int] /* compiled code */ -[final val jet.String.exProp : jet.String] /* compiled code */ +[public final val jet.String.exProp : jet.String] /* compiled code */ -[final val globalVal : #(jet.Int, jet.String)] /* compiled code */ +[public final val globalVal : #(jet.Int, jet.String)] /* compiled code */ -[final val globalValWithGetter : jet.Long] /* compiled code */ +[public final val globalValWithGetter : jet.Long] /* compiled code */ -[final fun func() : Unit { /* compiled code */ }] +[public final fun func() : Unit { /* compiled code */ }] -[final fun func(val a : jet.Int, val b : jet.Int) : Unit { /* compiled code */ }] +[public final fun func(val a : jet.Int, val b : jet.Int) : Unit { /* compiled code */ }] -[final fun func(val a : jet.Int, val b : jet.String) : Unit { /* compiled code */ }] +[public final fun func(val a : jet.Int, val b : jet.String) : Unit { /* compiled code */ }] -[final fun func(val str : jet.String) : Unit { /* compiled code */ }] +[public final fun func(val str : jet.String) : Unit { /* compiled code */ }] -[final fun main(val args : jet.Array) : Unit { /* compiled code */ }] +[public final fun main(val args : jet.Array) : Unit { /* compiled code */ }] -[final fun T.filter(val predicate : (T) -> jet.Boolean) : T? { /* compiled code */ }] +[public final fun T.filter(val predicate : (T) -> jet.Boolean) : T? { /* compiled code */ }]