DescriptorRendererImpl now writes 'inner' for inner classes
#KT-1174 In Progress
This commit is contained in:
@@ -325,6 +325,13 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
||||
builder.append(renderKeyword(keyword)).append(" ");
|
||||
}
|
||||
|
||||
private void renderInner(boolean isInner, @NotNull StringBuilder builder) {
|
||||
if (!modifiers) return;
|
||||
if (isInner) {
|
||||
builder.append(renderKeyword("inner")).append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
private void renderModalityForCallable(@NotNull CallableMemberDescriptor callable, @NotNull StringBuilder builder) {
|
||||
if (!(callable.getContainingDeclaration() instanceof NamespaceDescriptor) || callable.getModality() != Modality.FINAL) {
|
||||
renderModality(callable.getModality(), builder);
|
||||
@@ -572,6 +579,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
||||
|| klass.getKind().isObject() && klass.getModality() == Modality.FINAL)) {
|
||||
renderModality(klass.getModality(), builder);
|
||||
}
|
||||
renderInner(klass.isInner(), builder);
|
||||
builder.append(renderKeyword(getClassKindPrefix(klass)));
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -3,15 +3,15 @@ package test
|
||||
public open class DeeplyInnerClass : java.lang.Object {
|
||||
public constructor DeeplyInnerClass()
|
||||
|
||||
public/*package*/ open class A : java.lang.Object {
|
||||
public/*package*/ open inner class A : java.lang.Object {
|
||||
public/*package*/ constructor A()
|
||||
public/*package*/ open fun a() : Unit
|
||||
|
||||
public/*package*/ open class B : java.lang.Object {
|
||||
public/*package*/ open inner class B : java.lang.Object {
|
||||
public/*package*/ constructor B()
|
||||
public/*package*/ open fun b() : Unit
|
||||
|
||||
public/*package*/ open class C : java.lang.Object {
|
||||
public/*package*/ open inner class C : java.lang.Object {
|
||||
public/*package*/ constructor C()
|
||||
public/*package*/ open fun c() : Unit
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ public final enum class Enum : jet.Enum<test.Enum> {
|
||||
}
|
||||
}
|
||||
|
||||
public open class Inner : java.lang.Object {
|
||||
public open inner class Inner : java.lang.Object {
|
||||
public constructor Inner()
|
||||
public/*package*/ open fun bar() : Unit
|
||||
}
|
||||
|
||||
@@ -3,8 +3,13 @@ package test
|
||||
public open class InnerClass : java.lang.Object {
|
||||
public constructor InnerClass()
|
||||
|
||||
public open class Inner : java.lang.Object {
|
||||
public open inner class Inner : java.lang.Object {
|
||||
public constructor Inner()
|
||||
public open fun foo() : Unit
|
||||
}
|
||||
|
||||
public open class Nested : java.lang.Object {
|
||||
public constructor Nested()
|
||||
public open fun bar() : Unit
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,2 @@
|
||||
package InnerClass
|
||||
|
||||
public open class Nested : java.lang.Object {
|
||||
public constructor Nested()
|
||||
public open fun bar() : Unit
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
package test
|
||||
|
||||
public open class InnerClass() : java.lang.Object() {
|
||||
public open class Inner() : java.lang.Object()
|
||||
public inner open class Inner() : java.lang.Object()
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package test
|
||||
public open class InnerClass : java.lang.Object {
|
||||
public constructor InnerClass()
|
||||
|
||||
public open class Inner : java.lang.Object {
|
||||
public open inner class Inner : java.lang.Object {
|
||||
public constructor Inner()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
package test
|
||||
|
||||
public open class InnerClassReferencesOuterTP<P>() : java.lang.Object() {
|
||||
public open class Inner<Q : P>() : java.lang.Object()
|
||||
public open inner class Inner<Q : P>() : java.lang.Object()
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package test
|
||||
public open class InnerClassReferencesOuterTP</*0*/ P> : java.lang.Object {
|
||||
public constructor InnerClassReferencesOuterTP</*0*/ P>()
|
||||
|
||||
public open class Inner</*0*/ Q : P> : java.lang.Object {
|
||||
public open inner class Inner</*0*/ Q : P> : java.lang.Object {
|
||||
public constructor Inner</*0*/ Q : P>()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package test
|
||||
|
||||
public open class InnerClassesInGeneric<P, Q>() : java.lang.Object() {
|
||||
public open class Inner() : java.lang.Object() {
|
||||
public open inner class Inner() : java.lang.Object() {
|
||||
}
|
||||
|
||||
public open class Inner2() : Inner() {
|
||||
public open inner class Inner2() : Inner() {
|
||||
public open fun iterator() : jet.MutableIterator<P>? {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
@@ -3,11 +3,11 @@ package test
|
||||
public open class InnerClassesInGeneric</*0*/ P, /*1*/ Q> : java.lang.Object {
|
||||
public constructor InnerClassesInGeneric</*0*/ P, /*1*/ Q>()
|
||||
|
||||
public open class Inner : java.lang.Object {
|
||||
public open inner class Inner : java.lang.Object {
|
||||
public constructor Inner()
|
||||
}
|
||||
|
||||
public open class Inner2 : test.InnerClassesInGeneric.Inner {
|
||||
public open inner class Inner2 : test.InnerClassesInGeneric.Inner {
|
||||
public constructor Inner2()
|
||||
public open fun iterator() : jet.MutableIterator<P>?
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package test
|
||||
|
||||
public class MethodReferencesOuterClassTP<P>() : java.lang.Object() {
|
||||
public class Inner() : java.lang.Object() {
|
||||
public inner class Inner() : java.lang.Object() {
|
||||
public fun f<Q : P>() {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package test
|
||||
public final class MethodReferencesOuterClassTP</*0*/ P> : java.lang.Object {
|
||||
public constructor MethodReferencesOuterClassTP</*0*/ P>()
|
||||
|
||||
public final class Inner : java.lang.Object {
|
||||
public final inner class Inner : java.lang.Object {
|
||||
public constructor Inner()
|
||||
public final fun </*0*/ Q : P> f() : Unit
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package test
|
||||
public open class RawSuperType : java.lang.Object {
|
||||
public constructor RawSuperType()
|
||||
|
||||
public open class Derived : test.RawSuperType.Super<jet.Any?> {
|
||||
public open inner class Derived : test.RawSuperType.Super<jet.Any?> {
|
||||
public constructor Derived()
|
||||
public open override /*1*/ fun foo(/*0*/ p0 : jet.Any?) : Unit
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package test
|
||||
|
||||
class Outer {
|
||||
class Inner {
|
||||
inner class Inner {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package test
|
||||
internal final class Outer {
|
||||
/*primary*/ public constructor Outer()
|
||||
|
||||
internal final class Inner {
|
||||
internal final inner class Inner {
|
||||
/*primary*/ public constructor Inner()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package test
|
||||
|
||||
class Outer() {
|
||||
open class Inner1()
|
||||
open inner class Inner1()
|
||||
|
||||
class Inner2() : Inner1()
|
||||
inner class Inner2() : Inner1()
|
||||
}
|
||||
|
||||
@@ -3,11 +3,11 @@ package test
|
||||
internal final class Outer {
|
||||
/*primary*/ public constructor Outer()
|
||||
|
||||
internal open class Inner1 {
|
||||
internal open inner class Inner1 {
|
||||
/*primary*/ public constructor Inner1()
|
||||
}
|
||||
|
||||
internal final class Inner2 : test.Outer.Inner1 {
|
||||
internal final inner class Inner2 : test.Outer.Inner1 {
|
||||
/*primary*/ public constructor Inner2()
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
package test
|
||||
|
||||
class Outer() {
|
||||
class Inner()
|
||||
class Nested()
|
||||
}
|
||||
+2
-2
@@ -3,7 +3,7 @@ package test
|
||||
internal final class Outer {
|
||||
/*primary*/ public constructor Outer()
|
||||
|
||||
internal final class Inner {
|
||||
/*primary*/ public constructor Inner()
|
||||
internal final class Nested {
|
||||
/*primary*/ public constructor Nested()
|
||||
}
|
||||
}
|
||||
@@ -130,11 +130,6 @@ public class LoadCompiledKotlinTestGenerated extends AbstractLoadCompiledKotlinT
|
||||
doTest("compiler/testData/loadKotlin/class/InheritTraitWithParam.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("InnerClass.kt")
|
||||
public void testInnerClass() throws Exception {
|
||||
doTest("compiler/testData/loadKotlin/class/InnerClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("InnerClassExtendInnerClass.kt")
|
||||
public void testInnerClassExtendInnerClass() throws Exception {
|
||||
doTest("compiler/testData/loadKotlin/class/InnerClassExtendInnerClass.kt");
|
||||
@@ -160,6 +155,11 @@ public class LoadCompiledKotlinTestGenerated extends AbstractLoadCompiledKotlinT
|
||||
doTest("compiler/testData/loadKotlin/class/NamedObjectWithAnotherTopLevelProperty.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("NestedClass.kt")
|
||||
public void testNestedClass() throws Exception {
|
||||
doTest("compiler/testData/loadKotlin/class/NestedClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("Trait.kt")
|
||||
public void testTrait() throws Exception {
|
||||
doTest("compiler/testData/loadKotlin/class/Trait.kt");
|
||||
|
||||
+5
-5
@@ -132,11 +132,6 @@ public class LazyResolveNamespaceComparingTestGenerated extends AbstractLazyReso
|
||||
doTestCheckingPrimaryConstructors("compiler/testData/loadKotlin/class/InheritTraitWithParam.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("InnerClass.kt")
|
||||
public void testInnerClass() throws Exception {
|
||||
doTestCheckingPrimaryConstructors("compiler/testData/loadKotlin/class/InnerClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("InnerClassExtendInnerClass.kt")
|
||||
public void testInnerClassExtendInnerClass() throws Exception {
|
||||
doTestCheckingPrimaryConstructors("compiler/testData/loadKotlin/class/InnerClassExtendInnerClass.kt");
|
||||
@@ -162,6 +157,11 @@ public class LazyResolveNamespaceComparingTestGenerated extends AbstractLazyReso
|
||||
doTestCheckingPrimaryConstructors("compiler/testData/loadKotlin/class/NamedObjectWithAnotherTopLevelProperty.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("NestedClass.kt")
|
||||
public void testNestedClass() throws Exception {
|
||||
doTestCheckingPrimaryConstructors("compiler/testData/loadKotlin/class/NestedClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("Trait.kt")
|
||||
public void testTrait() throws Exception {
|
||||
doTestCheckingPrimaryConstructors("compiler/testData/loadKotlin/class/Trait.kt");
|
||||
|
||||
Reference in New Issue
Block a user