Rendering annotations and visibility for class object.

Don't render modality for any object kind.
This commit is contained in:
Evgeny Gerashchenko
2012-12-26 18:42:20 +04:00
parent 63b3e59a18
commit 778df8b1fd
7 changed files with 10 additions and 12 deletions
@@ -559,12 +559,10 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
private void renderClass(@NotNull ClassDescriptor klass, @NotNull StringBuilder builder) {
boolean classObject = klass.getKind() == ClassKind.CLASS_OBJECT;
if (!startFromName) {
if (!classObject) {
renderAnnotations(klass, builder);
renderVisibility(klass.getVisibility(), builder);
if (klass.getKind() != ClassKind.TRAIT && klass.getKind() != ClassKind.OBJECT) {
renderModality(klass.getModality(), builder);
}
renderAnnotations(klass, builder);
renderVisibility(klass.getVisibility(), builder);
if (klass.getKind() != ClassKind.TRAIT && !klass.getKind().isObject()) {
renderModality(klass.getModality(), builder);
}
builder.append(renderKeyword(getClassKindPrefix(klass)));
if (!classObject) {
@@ -4,5 +4,5 @@ trait TheTrait {
}
//internal trait TheTrait defined in root package
//class object defined in TheTrait
//internal class object defined in TheTrait
//private constructor <class-object-for-TheTrait>() defined in TheTrait.<class-object-for-TheTrait>
+1 -1
View File
@@ -44,7 +44,7 @@ public trait TwoUpperBounds<T> where T: Number, T: Any
//public constructor InternalClass() defined in rendererTest.InternalClass
//internal trait TheTrait defined in rendererTest
//internal abstract fun abstractFun() : Unit defined in rendererTest.TheTrait
//class object : rendererTest.TheClass<jet.Int, jet.Int> defined in rendererTest.TheTrait
//internal class object : rendererTest.TheClass<jet.Int, jet.Int> defined in rendererTest.TheTrait
//private constructor <class-object-for-TheTrait>() defined in rendererTest.TheTrait.<class-object-for-TheTrait>
//internal final fun classObjectFunction() : jet.Int defined in rendererTest.TheTrait.<class-object-for-TheTrait>
//public final class WithReified<reified A, reified out B> defined in rendererTest
+1 -1
View File
@@ -8,6 +8,6 @@ private enum class TheEnum(val rgb : Int) {
//private final enum class TheEnum : jet.Enum<rendererTest.TheEnum> defined in rendererTest
//private constructor TheEnum(rgb : jet.Int) defined in rendererTest.TheEnum
//value-parameter val rgb : jet.Int defined in rendererTest.TheEnum.<init>
//private final enum entry VAL1 : rendererTest.TheEnum defined in rendererTest.TheEnum.<class-object-for-TheEnum>
//private enum entry VAL1 : rendererTest.TheEnum defined in rendererTest.TheEnum.<class-object-for-TheEnum>
//private constructor VAL1() defined in rendererTest.TheEnum.<class-object-for-TheEnum>.VAL1
//public final val VAL1 : rendererTest.TheEnum defined in rendererTest.TheEnum.<class-object-for-TheEnum>
+1 -1
View File
@@ -4,7 +4,7 @@
package testData.libraries
[[public final enum class Color(rgb : jet.Int) : jet.Enum<testData.libraries.Color> {
class object {
public class object {
[public final val BLUE : testData.libraries.Color] /* compiled code */
[public final val GREEN : testData.libraries.Color] /* compiled code */
@@ -4,7 +4,7 @@
package testData.libraries
[[public final class WithInnerAndObject() {
class object {
public class object {
[internal final fun foo() : Unit { /* compiled code */ }]
}
@@ -4,6 +4,6 @@
package testData.libraries
[[public final class WithTraitClassObject() {
class object : testData.libraries.SimpleTrait {
public class object : testData.libraries.SimpleTrait {
}
}]]