aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/src/main/kotlin/Formats/StructuredFormatService.kt2
-rw-r--r--core/src/test/kotlin/format/MarkdownFormatTest.kt5
-rw-r--r--core/testdata/format/typeAliases.kt27
-rw-r--r--core/testdata/format/typeAliases.md63
-rw-r--r--core/testdata/format/typeAliases.package.md24
5 files changed, 120 insertions, 1 deletions
diff --git a/core/src/main/kotlin/Formats/StructuredFormatService.kt b/core/src/main/kotlin/Formats/StructuredFormatService.kt
index b7306486..a7a50f91 100644
--- a/core/src/main/kotlin/Formats/StructuredFormatService.kt
+++ b/core/src/main/kotlin/Formats/StructuredFormatService.kt
@@ -372,7 +372,7 @@ abstract class StructuredOutputBuilder(val to: StringBuilder,
appendSection("Types", node.members.filter { it.kind in NodeKind.classLike && it.kind != NodeKind.TypeAlias && it.kind != NodeKind.AnnotationClass && it.kind != NodeKind.Exception })
appendSection("Annotations", node.members(NodeKind.AnnotationClass))
appendSection("Exceptions", node.members(NodeKind.Exception))
- appendSection("Type aliases", node.members(NodeKind.TypeAlias))
+ appendSection("Type Aliases", node.members(NodeKind.TypeAlias))
appendSection("Extensions for External Classes", node.members(NodeKind.ExternalClass))
appendSection("Enum Values", node.members(NodeKind.EnumItem), sortMembers = false)
appendSection("Constructors", node.members(NodeKind.Constructor))
diff --git a/core/src/test/kotlin/format/MarkdownFormatTest.kt b/core/src/test/kotlin/format/MarkdownFormatTest.kt
index c9f86503..6e4c44c8 100644
--- a/core/src/test/kotlin/format/MarkdownFormatTest.kt
+++ b/core/src/test/kotlin/format/MarkdownFormatTest.kt
@@ -227,6 +227,11 @@ class MarkdownFormatTest {
verifyMarkdownNodeByName("qualifiedNameLink", "foo", withKotlinRuntime = true)
}
+ @Test fun typeAliases() {
+ verifyMarkdownNode("typeAliases")
+ verifyMarkdownPackage("typeAliases")
+ }
+
private fun verifyMarkdownPackage(fileName: String, withKotlinRuntime: Boolean = false) {
verifyOutput("testdata/format/$fileName.kt", ".package.md", withKotlinRuntime = withKotlinRuntime) { model, output ->
markdownService.createOutputBuilder(output, tempLocation).appendNodes(model.members)
diff --git a/core/testdata/format/typeAliases.kt b/core/testdata/format/typeAliases.kt
new file mode 100644
index 00000000..9657963e
--- /dev/null
+++ b/core/testdata/format/typeAliases.kt
@@ -0,0 +1,27 @@
+
+class A
+class B
+class C<T>
+
+typealias D = A
+typealias E = D
+
+typealias F = (A) -> B
+
+typealias G = C<A>
+typealias H<T> = C<T>
+
+typealias I<T> = H<T>
+typealias J = H<A>
+
+typealias K = H<J>
+
+typealias L = (K, B) -> J
+
+/**
+ * Documented
+ */
+typealias M = A
+
+@Deprecated("!!!")
+typealias N = A \ No newline at end of file
diff --git a/core/testdata/format/typeAliases.md b/core/testdata/format/typeAliases.md
new file mode 100644
index 00000000..55e9317e
--- /dev/null
+++ b/core/testdata/format/typeAliases.md
@@ -0,0 +1,63 @@
+[test](test/index) / [A](test/-a/index)
+
+# A
+
+`class A`[test](test/index) / [B](test/-b/index)
+
+# B
+
+`class B`[test](test/index) / [C](test/-c/index)
+
+# C
+
+`class C<T>`[test](test/index) / [D](test/-d)
+
+# D
+
+`typealias D = `[`A`](test/-a/index)[test](test/index) / [E](test/-e)
+
+# E
+
+`typealias E = `[`D`](test/-d)[test](test/index) / [F](test/-f)
+
+# F
+
+`typealias F = (`[`A`](test/-a/index)`) -> `[`B`](test/-b/index)[test](test/index) / [G](test/-g)
+
+# G
+
+`typealias G = `[`C`](test/-c/index)`<`[`A`](test/-a/index)`>`[test](test/index) / [H](test/-h)
+
+# H
+
+`typealias H<T> = `[`C`](test/-c/index)`<T>`[test](test/index) / [I](test/-i)
+
+# I
+
+`typealias I<T> = `[`H`](test/-h)`<T>`[test](test/index) / [J](test/-j)
+
+# J
+
+`typealias J = `[`H`](test/-h)`<`[`A`](test/-a/index)`>`[test](test/index) / [K](test/-k)
+
+# K
+
+`typealias K = `[`H`](test/-h)`<`[`J`](test/-j)`>`[test](test/index) / [L](test/-l)
+
+# L
+
+`typealias L = (`[`K`](test/-k)`, `[`B`](test/-b/index)`) -> `[`J`](test/-j)[test](test/index) / [M](test/-m)
+
+# M
+
+`typealias M = `[`A`](test/-a/index)
+
+Documented
+
+[test](test/index) / [N](test/-n)
+
+# N
+
+`typealias ~~N~~ = `[`A`](test/-a/index)
+**Deprecated:** !!!
+
diff --git a/core/testdata/format/typeAliases.package.md b/core/testdata/format/typeAliases.package.md
new file mode 100644
index 00000000..0eff1ed5
--- /dev/null
+++ b/core/testdata/format/typeAliases.package.md
@@ -0,0 +1,24 @@
+[test](test/index)
+
+## Package &lt;root&gt;
+
+### Types
+
+| [A](test/-a/index) | `class A` |
+| [B](test/-b/index) | `class B` |
+| [C](test/-c/index) | `class C<T>` |
+
+### Type Aliases
+
+| [D](test/-d) | `typealias D = `[`A`](test/-a/index) |
+| [E](test/-e) | `typealias E = `[`D`](test/-d) |
+| [F](test/-f) | `typealias F = (`[`A`](test/-a/index)`) -> `[`B`](test/-b/index) |
+| [G](test/-g) | `typealias G = `[`C`](test/-c/index)`<`[`A`](test/-a/index)`>` |
+| [H](test/-h) | `typealias H<T> = `[`C`](test/-c/index)`<T>` |
+| [I](test/-i) | `typealias I<T> = `[`H`](test/-h)`<T>` |
+| [J](test/-j) | `typealias J = `[`H`](test/-h)`<`[`A`](test/-a/index)`>` |
+| [K](test/-k) | `typealias K = `[`H`](test/-h)`<`[`J`](test/-j)`>` |
+| [L](test/-l) | `typealias L = (`[`K`](test/-k)`, `[`B`](test/-b/index)`) -> `[`J`](test/-j) |
+| [M](test/-m) | `typealias M = `[`A`](test/-a/index)<br>Documented |
+| [N](test/-n) | `typealias ~~N~~ = `[`A`](test/-a/index) |
+