From 95e3e32c181429df73cfbf03958dfe4e30d6001d Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 13 Feb 2015 18:05:16 +0100 Subject: distinguish Kotlin inner classes --- src/Kotlin/DocumentationBuilder.kt | 3 +++ test/data/classes/innerClass.kt | 5 +++++ test/src/model/ClassTest.kt | 9 +++++++++ 3 files changed, 17 insertions(+) create mode 100644 test/data/classes/innerClass.kt diff --git a/src/Kotlin/DocumentationBuilder.kt b/src/Kotlin/DocumentationBuilder.kt index 04b707af..1ad1e9e8 100644 --- a/src/Kotlin/DocumentationBuilder.kt +++ b/src/Kotlin/DocumentationBuilder.kt @@ -267,6 +267,9 @@ class DocumentationBuilder(val session: ResolveSession, val options: Documentati else -> Kind.Class } val node = DocumentationNode(this, kind) + if (isInner()) { + node.append(DocumentationNode("inner", Content.Empty, Kind.Modifier), DocumentationReference.Kind.Detail) + } node.appendSupertypes(this) if (getKind() != ClassKind.OBJECT && getKind() != ClassKind.ENUM_ENTRY) { node.appendChildren(getTypeConstructor().getParameters(), DocumentationReference.Kind.Detail) diff --git a/test/data/classes/innerClass.kt b/test/data/classes/innerClass.kt new file mode 100644 index 00000000..3c6e497d --- /dev/null +++ b/test/data/classes/innerClass.kt @@ -0,0 +1,5 @@ +class C { + inner class D { + + } +} \ No newline at end of file diff --git a/test/src/model/ClassTest.kt b/test/src/model/ClassTest.kt index 94a0fde0..d607b593 100644 --- a/test/src/model/ClassTest.kt +++ b/test/src/model/ClassTest.kt @@ -235,4 +235,13 @@ public class ClassTest { } } } + + Test fun innerClass() { + verifyPackageMember("test/data/classes/innerClass.kt") { cls -> + val innerClass = cls.members.single { it.name == "D" } + val modifiers = innerClass.details(DocumentationNode.Kind.Modifier) + assertEquals(3, modifiers.size()) + assertEquals("inner", modifiers[2].name) + } + } } -- cgit