aboutsummaryrefslogtreecommitdiff
path: root/core/testdata/format
diff options
context:
space:
mode:
authorDmitry Jemerov <yole@jetbrains.com>2015-12-03 16:22:11 +0100
committerDmitry Jemerov <yole@jetbrains.com>2015-12-03 16:22:49 +0100
commit39631054c58df5841ea268b7002b820ec55f6e0a (patch)
treecefedd8411c859243bd181568e16fcdd372a38c8 /core/testdata/format
parent797cb4732c53bf1e3b2091add8cf731fc436607f (diff)
downloaddokka-39631054c58df5841ea268b7002b820ec55f6e0a.tar.gz
dokka-39631054c58df5841ea268b7002b820ec55f6e0a.tar.bz2
dokka-39631054c58df5841ea268b7002b820ec55f6e0a.zip
restructure Dokka build to use Gradle for everything except for the Maven plugin
Diffstat (limited to 'core/testdata/format')
-rw-r--r--core/testdata/format/accessor.kt5
-rw-r--r--core/testdata/format/accessor.md18
-rw-r--r--core/testdata/format/annotatedTypeParameter.kt2
-rw-r--r--core/testdata/format/annotatedTypeParameter.md8
-rw-r--r--core/testdata/format/annotationClass.kt1
-rw-r--r--core/testdata/format/annotationClass.md14
-rw-r--r--core/testdata/format/annotationParams.kt1
-rw-r--r--core/testdata/format/annotationParams.md8
-rw-r--r--core/testdata/format/annotations.kt6
-rw-r--r--core/testdata/format/annotations.md26
-rw-r--r--core/testdata/format/bracket.html14
-rw-r--r--core/testdata/format/bracket.kt4
-rw-r--r--core/testdata/format/brokenLink.html14
-rw-r--r--core/testdata/format/brokenLink.kt4
-rw-r--r--core/testdata/format/classWithCompanionObject.html46
-rw-r--r--core/testdata/format/classWithCompanionObject.kt7
-rw-r--r--core/testdata/format/classWithCompanionObject.md26
-rw-r--r--core/testdata/format/codeSpan.html14
-rw-r--r--core/testdata/format/codeSpan.kt4
-rw-r--r--core/testdata/format/companionObjectExtension.kt10
-rw-r--r--core/testdata/format/companionObjectExtension.md23
-rw-r--r--core/testdata/format/crossLanguage/kotlinExtendsJava/Bar.html37
-rw-r--r--core/testdata/format/crossLanguage/kotlinExtendsJava/Bar.kt6
-rw-r--r--core/testdata/format/crossLanguage/kotlinExtendsJava/test/Foo.java6
-rw-r--r--core/testdata/format/deprecated.class.html41
-rw-r--r--core/testdata/format/deprecated.kt5
-rw-r--r--core/testdata/format/deprecated.package.html43
-rw-r--r--core/testdata/format/emptyDescription.kt5
-rw-r--r--core/testdata/format/emptyDescription.md11
-rw-r--r--core/testdata/format/entity.html26
-rw-r--r--core/testdata/format/entity.kt4
-rw-r--r--core/testdata/format/enumClass.kt4
-rw-r--r--core/testdata/format/enumClass.md15
-rw-r--r--core/testdata/format/enumClass.value.md8
-rw-r--r--core/testdata/format/extensionFunctionParameter.kt1
-rw-r--r--core/testdata/format/extensionFunctionParameter.md8
-rw-r--r--core/testdata/format/extensions.class.md16
-rw-r--r--core/testdata/format/extensions.kt19
-rw-r--r--core/testdata/format/extensions.package.md11
-rw-r--r--core/testdata/format/functionWithDefaultParameter.kt1
-rw-r--r--core/testdata/format/functionWithDefaultParameter.md8
-rw-r--r--core/testdata/format/htmlEscaping.html14
-rw-r--r--core/testdata/format/htmlEscaping.kt4
-rw-r--r--core/testdata/format/inheritedExtensions.kt11
-rw-r--r--core/testdata/format/inheritedExtensions.md21
-rw-r--r--core/testdata/format/inheritedMembers.kt12
-rw-r--r--core/testdata/format/inheritedMembers.md38
-rw-r--r--core/testdata/format/javaCodeInParam.java5
-rw-r--r--core/testdata/format/javaCodeInParam.md21
-rw-r--r--core/testdata/format/javaCodeLiteralTags.java6
-rw-r--r--core/testdata/format/javaCodeLiteralTags.md23
-rw-r--r--core/testdata/format/javaDeprecated.html14
-rw-r--r--core/testdata/format/javaDeprecated.java5
-rw-r--r--core/testdata/format/javaLinkTag.html36
-rw-r--r--core/testdata/format/javaLinkTag.java6
-rw-r--r--core/testdata/format/javaLinkTagWithLabel.html36
-rw-r--r--core/testdata/format/javaLinkTagWithLabel.java6
-rw-r--r--core/testdata/format/javaSeeTag.html38
-rw-r--r--core/testdata/format/javaSeeTag.java6
-rw-r--r--core/testdata/format/javaSpaceInAuthor.java5
-rw-r--r--core/testdata/format/javaSpaceInAuthor.md19
-rw-r--r--core/testdata/format/javaSupertype.html35
-rw-r--r--core/testdata/format/javaSupertype.java8
-rw-r--r--core/testdata/format/javadocHtml.java14
-rw-r--r--core/testdata/format/javadocHtml.md27
-rw-r--r--core/testdata/format/javadocOrderedList.java8
-rw-r--r--core/testdata/format/javadocOrderedList.md20
-rw-r--r--core/testdata/format/linkWithLabel.html37
-rw-r--r--core/testdata/format/linkWithLabel.kt6
-rw-r--r--core/testdata/format/nullability.kt5
-rw-r--r--core/testdata/format/nullability.md20
-rw-r--r--core/testdata/format/operatorOverloading.kt3
-rw-r--r--core/testdata/format/operatorOverloading.md8
-rw-r--r--core/testdata/format/orderedList.html30
-rw-r--r--core/testdata/format/orderedList.kt8
-rw-r--r--core/testdata/format/overloads.html23
-rw-r--r--core/testdata/format/overloads.kt5
-rw-r--r--core/testdata/format/overloadsWithDescription.html21
-rw-r--r--core/testdata/format/overloadsWithDescription.kt15
-rw-r--r--core/testdata/format/overloadsWithDifferentDescriptions.html30
-rw-r--r--core/testdata/format/overloadsWithDifferentDescriptions.kt15
-rw-r--r--core/testdata/format/overridingFunction.kt7
-rw-r--r--core/testdata/format/overridingFunction.md9
-rw-r--r--core/testdata/format/paramTag.kt6
-rw-r--r--core/testdata/format/paramTag.md14
-rw-r--r--core/testdata/format/parameterAnchor.html17
-rw-r--r--core/testdata/format/parameterAnchor.kt6
-rw-r--r--core/testdata/format/parenthesis.html14
-rw-r--r--core/testdata/format/parenthesis.kt4
-rw-r--r--core/testdata/format/propertyVar.kt1
-rw-r--r--core/testdata/format/propertyVar.md8
-rw-r--r--core/testdata/format/reifiedTypeParameter.kt3
-rw-r--r--core/testdata/format/reifiedTypeParameter.md8
-rw-r--r--core/testdata/format/see.html28
-rw-r--r--core/testdata/format/see.kt12
-rw-r--r--core/testdata/format/starProjection.kt3
-rw-r--r--core/testdata/format/starProjection.md8
-rw-r--r--core/testdata/format/summarizeSignatures.kt20
-rw-r--r--core/testdata/format/summarizeSignatures.md23
-rw-r--r--core/testdata/format/summarizeSignaturesProperty.kt20
-rw-r--r--core/testdata/format/summarizeSignaturesProperty.md23
-rw-r--r--core/testdata/format/throwsTag.kt5
-rw-r--r--core/testdata/format/throwsTag.md13
-rw-r--r--core/testdata/format/tripleBackticks.html16
-rw-r--r--core/testdata/format/tripleBackticks.kt7
-rw-r--r--core/testdata/format/typeLink.html24
-rw-r--r--core/testdata/format/typeLink.kt5
-rw-r--r--core/testdata/format/typeParameterBounds.kt6
-rw-r--r--core/testdata/format/typeParameterBounds.md11
-rw-r--r--core/testdata/format/typeParameterVariance.kt2
-rw-r--r--core/testdata/format/typeParameterVariance.md14
-rw-r--r--core/testdata/format/typeProjectionVariance.kt1
-rw-r--r--core/testdata/format/typeProjectionVariance.md8
-rw-r--r--core/testdata/format/varargsFunction.kt1
-rw-r--r--core/testdata/format/varargsFunction.md8
115 files changed, 1549 insertions, 0 deletions
diff --git a/core/testdata/format/accessor.kt b/core/testdata/format/accessor.kt
new file mode 100644
index 00000000..5a4d1742
--- /dev/null
+++ b/core/testdata/format/accessor.kt
@@ -0,0 +1,5 @@
+class C() {
+ var x: String
+ /** The getter returns an empty string. */ get() = ""
+ /** The setter does nothing. */ set(value) { }
+}
diff --git a/core/testdata/format/accessor.md b/core/testdata/format/accessor.md
new file mode 100644
index 00000000..8279f452
--- /dev/null
+++ b/core/testdata/format/accessor.md
@@ -0,0 +1,18 @@
+[test](test/index) / [C](test/-c/index) / [x](test/-c/x)
+
+
+# x
+
+`var x: String`
+**Getter**
+
+The getter returns an empty string.
+
+
+**Setter**
+
+The setter does nothing.
+
+
+
+
diff --git a/core/testdata/format/annotatedTypeParameter.kt b/core/testdata/format/annotatedTypeParameter.kt
new file mode 100644
index 00000000..cc3bfc1a
--- /dev/null
+++ b/core/testdata/format/annotatedTypeParameter.kt
@@ -0,0 +1,2 @@
+public fun <E> containsAll(elements: Collection<@UnsafeVariance E>): @UnsafeVariance E {
+}
diff --git a/core/testdata/format/annotatedTypeParameter.md b/core/testdata/format/annotatedTypeParameter.md
new file mode 100644
index 00000000..7d26a162
--- /dev/null
+++ b/core/testdata/format/annotatedTypeParameter.md
@@ -0,0 +1,8 @@
+[test](test/index) / [containsAll](test/contains-all)
+
+
+# containsAll
+
+`fun &lt;E&gt; containsAll(elements:&nbsp;Collection&lt;@UnsafeVariance E&gt;): @UnsafeVariance E`
+
+
diff --git a/core/testdata/format/annotationClass.kt b/core/testdata/format/annotationClass.kt
new file mode 100644
index 00000000..89d494fb
--- /dev/null
+++ b/core/testdata/format/annotationClass.kt
@@ -0,0 +1 @@
+annotation class fancy
diff --git a/core/testdata/format/annotationClass.md b/core/testdata/format/annotationClass.md
new file mode 100644
index 00000000..03548aa3
--- /dev/null
+++ b/core/testdata/format/annotationClass.md
@@ -0,0 +1,14 @@
+[test](test/index) / [fancy](test/fancy/index)
+
+
+# fancy
+
+`annotation class fancy`
+
+
+
+### Constructors
+
+
+| [&lt;init&gt;](test/fancy/-init-) | `fancy()` |
+
diff --git a/core/testdata/format/annotationParams.kt b/core/testdata/format/annotationParams.kt
new file mode 100644
index 00000000..f259a740
--- /dev/null
+++ b/core/testdata/format/annotationParams.kt
@@ -0,0 +1 @@
+@JvmName("FFF") fun f() {}
diff --git a/core/testdata/format/annotationParams.md b/core/testdata/format/annotationParams.md
new file mode 100644
index 00000000..8cdd6e96
--- /dev/null
+++ b/core/testdata/format/annotationParams.md
@@ -0,0 +1,8 @@
+[test](test/index) / [f](test/f)
+
+
+# f
+
+`@JvmName("FFF") fun f(): Unit`
+
+
diff --git a/core/testdata/format/annotations.kt b/core/testdata/format/annotations.kt
new file mode 100644
index 00000000..57f76249
--- /dev/null
+++ b/core/testdata/format/annotations.kt
@@ -0,0 +1,6 @@
+data class Foo {
+ inline fun bar(noinline notInlined: () -> Unit) {
+ }
+
+ inline val x: Int
+}
diff --git a/core/testdata/format/annotations.md b/core/testdata/format/annotations.md
new file mode 100644
index 00000000..b898d55c
--- /dev/null
+++ b/core/testdata/format/annotations.md
@@ -0,0 +1,26 @@
+[test](test/index) / [Foo](test/-foo/index)
+
+
+# Foo
+
+`data class Foo`
+
+
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-foo/-init-) | `Foo()` |
+
+
+### Properties
+
+
+| [x](test/-foo/x) | `val x: Int` |
+
+
+### Functions
+
+
+| [bar](test/-foo/bar) | `fun bar(notInlined:&nbsp;()&nbsp;-&gt;&nbsp;Unit): Unit` |
+
diff --git a/core/testdata/format/bracket.html b/core/testdata/format/bracket.html
new file mode 100644
index 00000000..5630073d
--- /dev/null
+++ b/core/testdata/format/bracket.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<title>test / foo</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/foo">foo</a><br/>
+<br/>
+<h1>foo</h1>
+<code><span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
+<p>bar[]</p>
+<br/>
+<br/>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/bracket.kt b/core/testdata/format/bracket.kt
new file mode 100644
index 00000000..d41b0073
--- /dev/null
+++ b/core/testdata/format/bracket.kt
@@ -0,0 +1,4 @@
+/**
+ * bar[]
+ */
+fun foo() {}
diff --git a/core/testdata/format/brokenLink.html b/core/testdata/format/brokenLink.html
new file mode 100644
index 00000000..32135787
--- /dev/null
+++ b/core/testdata/format/brokenLink.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<title>test / f</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/f">f</a><br/>
+<br/>
+<h1>f</h1>
+<code><span class="keyword">fun </span><span class="identifier">f</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
+<p>This references <a href="#">noSuchIdentifier</a>.</p>
+<br/>
+<br/>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/brokenLink.kt b/core/testdata/format/brokenLink.kt
new file mode 100644
index 00000000..268a986e
--- /dev/null
+++ b/core/testdata/format/brokenLink.kt
@@ -0,0 +1,4 @@
+/**
+ * This references [noSuchIdentifier].
+ */
+fun f() { }
diff --git a/core/testdata/format/classWithCompanionObject.html b/core/testdata/format/classWithCompanionObject.html
new file mode 100644
index 00000000..be9247ea
--- /dev/null
+++ b/core/testdata/format/classWithCompanionObject.html
@@ -0,0 +1,46 @@
+<HTML>
+<HEAD>
+<title>test / Klass</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/-klass/index">Klass</a><br/>
+<br/>
+<h1>Klass</h1>
+<code><span class="keyword">class </span><span class="identifier">Klass</span></code><br/>
+<br/>
+<br/>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-klass/-init-">&lt;init&gt;</a></td>
+<td>
+<code><span class="identifier">Klass</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-klass/x">x</a></td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">x</span><span class="symbol">: </span><span class="identifier">Int</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-klass/foo">foo</a></td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/classWithCompanionObject.kt b/core/testdata/format/classWithCompanionObject.kt
new file mode 100644
index 00000000..fdbd915d
--- /dev/null
+++ b/core/testdata/format/classWithCompanionObject.kt
@@ -0,0 +1,7 @@
+class Klass() {
+ companion object {
+ val x = 1
+
+ fun foo() {}
+ }
+}
diff --git a/core/testdata/format/classWithCompanionObject.md b/core/testdata/format/classWithCompanionObject.md
new file mode 100644
index 00000000..9398c3d3
--- /dev/null
+++ b/core/testdata/format/classWithCompanionObject.md
@@ -0,0 +1,26 @@
+[test](test/index) / [Klass](test/-klass/index)
+
+
+# Klass
+
+`class Klass`
+
+
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-klass/-init-) | `Klass()` |
+
+
+### Companion Object Properties
+
+
+| [x](test/-klass/x) | `val x: Int` |
+
+
+### Companion Object Functions
+
+
+| [foo](test/-klass/foo) | `fun foo(): Unit` |
+
diff --git a/core/testdata/format/codeSpan.html b/core/testdata/format/codeSpan.html
new file mode 100644
index 00000000..cc553043
--- /dev/null
+++ b/core/testdata/format/codeSpan.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<title>test / foo</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/foo">foo</a><br/>
+<br/>
+<h1>foo</h1>
+<code><span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
+<p>This is a <code>code span</code>.</p>
+<br/>
+<br/>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/codeSpan.kt b/core/testdata/format/codeSpan.kt
new file mode 100644
index 00000000..645f454a
--- /dev/null
+++ b/core/testdata/format/codeSpan.kt
@@ -0,0 +1,4 @@
+/**
+ * This is a `code span`.
+ */
+fun foo() {} \ No newline at end of file
diff --git a/core/testdata/format/companionObjectExtension.kt b/core/testdata/format/companionObjectExtension.kt
new file mode 100644
index 00000000..f452de2c
--- /dev/null
+++ b/core/testdata/format/companionObjectExtension.kt
@@ -0,0 +1,10 @@
+class Foo {
+ companion object Default {
+ }
+}
+
+
+/**
+ * The default object property.
+ */
+val Foo.Default.x: Int get() = 1
diff --git a/core/testdata/format/companionObjectExtension.md b/core/testdata/format/companionObjectExtension.md
new file mode 100644
index 00000000..271da5b0
--- /dev/null
+++ b/core/testdata/format/companionObjectExtension.md
@@ -0,0 +1,23 @@
+[test](test/index) / [Foo](test/-foo/index)
+
+
+# Foo
+
+`class Foo`
+
+
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-foo/-init-) | `Foo()` |
+
+
+### Companion Object Extension Properties
+
+
+| [x](test/x) | `val Foo.Default.x: Int`
+The default object property.
+
+ |
+
diff --git a/core/testdata/format/crossLanguage/kotlinExtendsJava/Bar.html b/core/testdata/format/crossLanguage/kotlinExtendsJava/Bar.html
new file mode 100644
index 00000000..e7b139d8
--- /dev/null
+++ b/core/testdata/format/crossLanguage/kotlinExtendsJava/Bar.html
@@ -0,0 +1,37 @@
+<HTML>
+<HEAD>
+<title>test / test.Bar</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/test/index">test</a>&nbsp;/&nbsp;<a href="test/test/-bar/index">Bar</a><br/>
+<br/>
+<h1>Bar</h1>
+<code><span class="keyword">class </span><span class="identifier">Bar</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="test/test/-foo/index"><span class="identifier">Foo</span></a></code><br/>
+<p>See <a href="test/test/-foo/xyzzy">xyzzy</a></p>
+<br/>
+<br/>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/test/-bar/-init-">&lt;init&gt;</a></td>
+<td>
+<code><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></code><p>See <a href="test/test/-foo/xyzzy">xyzzy</a></p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/test/-foo/xyzzy">xyzzy</a></td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">xyzzy</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/crossLanguage/kotlinExtendsJava/Bar.kt b/core/testdata/format/crossLanguage/kotlinExtendsJava/Bar.kt
new file mode 100644
index 00000000..102782f9
--- /dev/null
+++ b/core/testdata/format/crossLanguage/kotlinExtendsJava/Bar.kt
@@ -0,0 +1,6 @@
+package test
+
+/**
+ * See [xyzzy]
+ */
+class Bar(): Foo()
diff --git a/core/testdata/format/crossLanguage/kotlinExtendsJava/test/Foo.java b/core/testdata/format/crossLanguage/kotlinExtendsJava/test/Foo.java
new file mode 100644
index 00000000..7c143030
--- /dev/null
+++ b/core/testdata/format/crossLanguage/kotlinExtendsJava/test/Foo.java
@@ -0,0 +1,6 @@
+package test;
+
+public class Foo {
+ public void xyzzy() {
+ }
+}
diff --git a/core/testdata/format/deprecated.class.html b/core/testdata/format/deprecated.class.html
new file mode 100644
index 00000000..69da63a1
--- /dev/null
+++ b/core/testdata/format/deprecated.class.html
@@ -0,0 +1,41 @@
+<HTML>
+<HEAD>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/-c/index">C</a><br/>
+<br/>
+<h1>C</h1>
+<code><span class="keyword">class </span><s><span class="identifier">C</span></s></code><br/>
+<strong>Deprecated:</strong> This class sucks<br/>
+<br/>
+<br/>
+<br/>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/f">f</a><br/>
+<br/>
+<h1>f</h1>
+<code><span class="keyword">fun </span><s><span class="identifier">f</span></s><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
+<strong>Deprecated:</strong> This function sucks<br/>
+<br/>
+<br/>
+<br/>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/p">p</a><br/>
+<br/>
+<h1>p</h1>
+<code><span class="keyword">val </span><s><span class="identifier">p</span></s><span class="symbol">: </span><span class="identifier">Int</span></code><br/>
+<strong>Deprecated:</strong> This property sucks<br/>
+<br/>
+<br/>
+<br/>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-c/-init-">&lt;init&gt;</a></td>
+<td>
+<code><span class="identifier">C</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/deprecated.kt b/core/testdata/format/deprecated.kt
new file mode 100644
index 00000000..4fc568c2
--- /dev/null
+++ b/core/testdata/format/deprecated.kt
@@ -0,0 +1,5 @@
+@Deprecated("This class sucks") class C() { }
+
+@Deprecated("This function sucks") fun f() { }
+
+@Deprecated("This property sucks") val p: Int get() = 0
diff --git a/core/testdata/format/deprecated.package.html b/core/testdata/format/deprecated.package.html
new file mode 100644
index 00000000..dd80471c
--- /dev/null
+++ b/core/testdata/format/deprecated.package.html
@@ -0,0 +1,43 @@
+<HTML>
+<HEAD>
+<title>test / root package</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a><br/>
+<br/>
+<h2>Package </h2>
+<h3>Types</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-c/index">C</a></td>
+<td>
+<code><span class="keyword">class </span><s><span class="identifier">C</span></s></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/p">p</a></td>
+<td>
+<code><span class="keyword">val </span><s><span class="identifier">p</span></s><span class="symbol">: </span><span class="identifier">Int</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/f">f</a></td>
+<td>
+<code><span class="keyword">fun </span><s><span class="identifier">f</span></s><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/emptyDescription.kt b/core/testdata/format/emptyDescription.kt
new file mode 100644
index 00000000..3ed81dfa
--- /dev/null
+++ b/core/testdata/format/emptyDescription.kt
@@ -0,0 +1,5 @@
+/**
+ * Function fn
+ */
+fun fn() {
+} \ No newline at end of file
diff --git a/core/testdata/format/emptyDescription.md b/core/testdata/format/emptyDescription.md
new file mode 100644
index 00000000..e82e7228
--- /dev/null
+++ b/core/testdata/format/emptyDescription.md
@@ -0,0 +1,11 @@
+[test](test/index) / [fn](test/fn)
+
+
+# fn
+
+`fun fn(): Unit`
+
+Function fn
+
+
+
diff --git a/core/testdata/format/entity.html b/core/testdata/format/entity.html
new file mode 100644
index 00000000..a939faad
--- /dev/null
+++ b/core/testdata/format/entity.html
@@ -0,0 +1,26 @@
+<HTML>
+<HEAD>
+<title>test / Bar</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/-bar/index">Bar</a><br/>
+<br/>
+<h1>Bar</h1>
+<code><span class="keyword">class </span><span class="identifier">Bar</span></code><br/>
+<p>Copyright &copy; JetBrains 2015 &#x22;</p>
+<br/>
+<br/>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-bar/-init-">&lt;init&gt;</a></td>
+<td>
+<code><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></code><p>Copyright &copy; JetBrains 2015 &#x22;</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/entity.kt b/core/testdata/format/entity.kt
new file mode 100644
index 00000000..163d2ee6
--- /dev/null
+++ b/core/testdata/format/entity.kt
@@ -0,0 +1,4 @@
+/**
+ * Copyright &copy; JetBrains 2015 &#x22;
+ */
+class Bar {}
diff --git a/core/testdata/format/enumClass.kt b/core/testdata/format/enumClass.kt
new file mode 100644
index 00000000..c1af69d8
--- /dev/null
+++ b/core/testdata/format/enumClass.kt
@@ -0,0 +1,4 @@
+public enum class InlineOption {
+ LOCAL_CONTINUE_AND_BREAK,
+ ONLY_LOCAL_RETURN
+}
diff --git a/core/testdata/format/enumClass.md b/core/testdata/format/enumClass.md
new file mode 100644
index 00000000..7a0e03ff
--- /dev/null
+++ b/core/testdata/format/enumClass.md
@@ -0,0 +1,15 @@
+[test](test/index) / [InlineOption](test/-inline-option/index)
+
+
+# InlineOption
+
+`enum class InlineOption`
+
+
+
+### Enum Values
+
+
+| [LOCAL_CONTINUE_AND_BREAK](test/-inline-option/-l-o-c-a-l_-c-o-n-t-i-n-u-e_-a-n-d_-b-r-e-a-k) | |
+| [ONLY_LOCAL_RETURN](test/-inline-option/-o-n-l-y_-l-o-c-a-l_-r-e-t-u-r-n) | |
+
diff --git a/core/testdata/format/enumClass.value.md b/core/testdata/format/enumClass.value.md
new file mode 100644
index 00000000..bcb685d1
--- /dev/null
+++ b/core/testdata/format/enumClass.value.md
@@ -0,0 +1,8 @@
+[test](test/index) / [InlineOption](test/-inline-option/index) / [LOCAL_CONTINUE_AND_BREAK](test/-inline-option/-l-o-c-a-l_-c-o-n-t-i-n-u-e_-a-n-d_-b-r-e-a-k)
+
+
+# LOCAL_CONTINUE_AND_BREAK
+
+`LOCAL_CONTINUE_AND_BREAK`
+
+
diff --git a/core/testdata/format/extensionFunctionParameter.kt b/core/testdata/format/extensionFunctionParameter.kt
new file mode 100644
index 00000000..bfb344b9
--- /dev/null
+++ b/core/testdata/format/extensionFunctionParameter.kt
@@ -0,0 +1 @@
+public inline fun <T> T.apply(f: T.() -> Unit): T { f(); return this }
diff --git a/core/testdata/format/extensionFunctionParameter.md b/core/testdata/format/extensionFunctionParameter.md
new file mode 100644
index 00000000..6980912d
--- /dev/null
+++ b/core/testdata/format/extensionFunctionParameter.md
@@ -0,0 +1,8 @@
+[test](test/index) / [apply](test/apply)
+
+
+# apply
+
+`inline fun &lt;T&gt; T.apply(f:&nbsp;T.()&nbsp;-&gt;&nbsp;Unit): T`
+
+
diff --git a/core/testdata/format/extensions.class.md b/core/testdata/format/extensions.class.md
new file mode 100644
index 00000000..c66cdb01
--- /dev/null
+++ b/core/testdata/format/extensions.class.md
@@ -0,0 +1,16 @@
+[test](test/index) / [foo](test/foo/index) / [kotlin.String](test/foo/kotlin.-string/index)
+
+
+### Extensions for kotlin.String
+
+
+| [fn](test/foo/kotlin.-string/fn) | `fun String.fn(): Unit`
+`fun String.fn(x:&nbsp;Int): Unit`
+Function with receiver
+
+ |
+| [foobar](test/foo/kotlin.-string/foobar) | `val String.foobar: Int`
+Property with receiver.
+
+ |
+
diff --git a/core/testdata/format/extensions.kt b/core/testdata/format/extensions.kt
new file mode 100644
index 00000000..6f2eff9d
--- /dev/null
+++ b/core/testdata/format/extensions.kt
@@ -0,0 +1,19 @@
+package foo
+
+/**
+ * Function with receiver
+ */
+fun String.fn() {
+}
+
+/**
+ * Function with receiver
+ */
+fun String.fn(x: Int) {
+}
+
+/**
+ * Property with receiver.
+ */
+val String.foobar: Int
+ get() = size() * 2
diff --git a/core/testdata/format/extensions.package.md b/core/testdata/format/extensions.package.md
new file mode 100644
index 00000000..76ff3676
--- /dev/null
+++ b/core/testdata/format/extensions.package.md
@@ -0,0 +1,11 @@
+[test](test/index) / [foo](test/foo/index)
+
+
+## Package foo
+
+
+### Extensions for External Classes
+
+
+| [kotlin.String](test/foo/kotlin.-string/index) | |
+
diff --git a/core/testdata/format/functionWithDefaultParameter.kt b/core/testdata/format/functionWithDefaultParameter.kt
new file mode 100644
index 00000000..3a3a102f
--- /dev/null
+++ b/core/testdata/format/functionWithDefaultParameter.kt
@@ -0,0 +1 @@
+fun f(x: String = "") {}
diff --git a/core/testdata/format/functionWithDefaultParameter.md b/core/testdata/format/functionWithDefaultParameter.md
new file mode 100644
index 00000000..21e9eff7
--- /dev/null
+++ b/core/testdata/format/functionWithDefaultParameter.md
@@ -0,0 +1,8 @@
+[test](test/index) / [f](test/f)
+
+
+# f
+
+`fun f(x:&nbsp;String&nbsp;=&nbsp;""): Unit`
+
+
diff --git a/core/testdata/format/htmlEscaping.html b/core/testdata/format/htmlEscaping.html
new file mode 100644
index 00000000..a485c08f
--- /dev/null
+++ b/core/testdata/format/htmlEscaping.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<title>test / x</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/x">x</a><br/>
+<br/>
+<h1>x</h1>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">x</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">T</span><span class="symbol">?</span></code><br/>
+<p>Special characters: &lt; is "less than", &gt; is "greater than", &amp; is "ampersand"</p>
+<br/>
+<br/>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/htmlEscaping.kt b/core/testdata/format/htmlEscaping.kt
new file mode 100644
index 00000000..8778d8a5
--- /dev/null
+++ b/core/testdata/format/htmlEscaping.kt
@@ -0,0 +1,4 @@
+/**
+ * Special characters: < is "less than", > is "greater than", & is "ampersand"
+ */
+fun x<T>(): T? = null
diff --git a/core/testdata/format/inheritedExtensions.kt b/core/testdata/format/inheritedExtensions.kt
new file mode 100644
index 00000000..e38fe00d
--- /dev/null
+++ b/core/testdata/format/inheritedExtensions.kt
@@ -0,0 +1,11 @@
+open class Foo
+
+class Bar : Foo()
+
+fun Foo.first() {
+
+}
+
+fun Bar.second() {
+
+}
diff --git a/core/testdata/format/inheritedExtensions.md b/core/testdata/format/inheritedExtensions.md
new file mode 100644
index 00000000..79137eac
--- /dev/null
+++ b/core/testdata/format/inheritedExtensions.md
@@ -0,0 +1,21 @@
+[test](test/index) / [Bar](test/-bar/index)
+
+
+# Bar
+
+`class Bar&nbsp;:&nbsp;[Foo](test/-foo/index)`
+
+
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-bar/-init-) | `Bar()` |
+
+
+### Extension Functions
+
+
+| [first](test/first) | `fun [Foo](test/-foo/index).first(): Unit` |
+| [second](test/second) | `fun [Bar](test/-bar/index).second(): Unit` |
+
diff --git a/core/testdata/format/inheritedMembers.kt b/core/testdata/format/inheritedMembers.kt
new file mode 100644
index 00000000..2d0c4ca1
--- /dev/null
+++ b/core/testdata/format/inheritedMembers.kt
@@ -0,0 +1,12 @@
+open class Foo {
+ fun first() {
+ }
+
+ val firstProp: Int = 0
+}
+
+class Bar : Foo() {
+ fun second()
+
+ val secondProp: Int = 1
+}
diff --git a/core/testdata/format/inheritedMembers.md b/core/testdata/format/inheritedMembers.md
new file mode 100644
index 00000000..d58d3974
--- /dev/null
+++ b/core/testdata/format/inheritedMembers.md
@@ -0,0 +1,38 @@
+[test](test/index) / [Bar](test/-bar/index)
+
+
+# Bar
+
+`class Bar&nbsp;:&nbsp;[Foo](test/-foo/index)`
+
+
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-bar/-init-) | `Bar()` |
+
+
+### Properties
+
+
+| [secondProp](test/-bar/second-prop) | `val secondProp: Int` |
+
+
+### Inherited Properties
+
+
+| [firstProp](test/-foo/first-prop) | `val firstProp: Int` |
+
+
+### Functions
+
+
+| [second](test/-bar/second) | `fun second(): Unit` |
+
+
+### Inherited Functions
+
+
+| [first](test/-foo/first) | `fun first(): Unit` |
+
diff --git a/core/testdata/format/javaCodeInParam.java b/core/testdata/format/javaCodeInParam.java
new file mode 100644
index 00000000..73025fcc
--- /dev/null
+++ b/core/testdata/format/javaCodeInParam.java
@@ -0,0 +1,5 @@
+/**
+ * @param T this is {@code some code} and other text
+ */
+class C<T> {
+}
diff --git a/core/testdata/format/javaCodeInParam.md b/core/testdata/format/javaCodeInParam.md
new file mode 100644
index 00000000..b1d2d871
--- /dev/null
+++ b/core/testdata/format/javaCodeInParam.md
@@ -0,0 +1,21 @@
+[test](test/index) / [C](test/-c/index)
+
+
+# C
+
+`protected open class C&lt;T&nbsp;:&nbsp;Any&gt;`
+
+
+
+
+### Parameters
+
+`T` - this is `some code` and other text
+
+
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-c/-init-) | `C()` |
+
diff --git a/core/testdata/format/javaCodeLiteralTags.java b/core/testdata/format/javaCodeLiteralTags.java
new file mode 100644
index 00000000..e71ddaa7
--- /dev/null
+++ b/core/testdata/format/javaCodeLiteralTags.java
@@ -0,0 +1,6 @@
+/**
+ * <p>{@code A<B>C}</p>
+ * <p>{@literal A<B>C}</p>
+ */
+class C {
+}
diff --git a/core/testdata/format/javaCodeLiteralTags.md b/core/testdata/format/javaCodeLiteralTags.md
new file mode 100644
index 00000000..83c9cc33
--- /dev/null
+++ b/core/testdata/format/javaCodeLiteralTags.md
@@ -0,0 +1,23 @@
+[test](test/index) / [C](test/-c/index)
+
+
+# C
+
+`protected open class C`
+
+
+`A&lt;B&gt;C`
+
+
+A&lt;B&gt;C
+
+
+
+
+
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-c/-init-) | `C()` |
+
diff --git a/core/testdata/format/javaDeprecated.html b/core/testdata/format/javaDeprecated.html
new file mode 100644
index 00000000..236c6490
--- /dev/null
+++ b/core/testdata/format/javaDeprecated.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<title>test / Foo.foo</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/-foo/index">Foo</a>&nbsp;/&nbsp;<a href="test/-foo/foo">foo</a><br/>
+<br/>
+<h1>foo</h1>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><s><span class="identifier">foo</span></s><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
+<strong>Deprecated:</strong> use <code><a href="test/-foo/bar">#bar</a></code> instead <p></p>
+<br/>
+<br/>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/javaDeprecated.java b/core/testdata/format/javaDeprecated.java
new file mode 100644
index 00000000..9694a444
--- /dev/null
+++ b/core/testdata/format/javaDeprecated.java
@@ -0,0 +1,5 @@
+class Foo {
+ /** @deprecated use {@link #bar} instead */
+ public void foo() {}
+ public void bar() {}
+}
diff --git a/core/testdata/format/javaLinkTag.html b/core/testdata/format/javaLinkTag.html
new file mode 100644
index 00000000..1b6921ab
--- /dev/null
+++ b/core/testdata/format/javaLinkTag.html
@@ -0,0 +1,36 @@
+<HTML>
+<HEAD>
+<title>test / Foo</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/-foo/index">Foo</a><br/>
+<br/>
+<h1>Foo</h1>
+<code><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Foo</span></code><br/>
+<p>Call <code><a href="test/-foo/bar">#bar()</a></code> to do the job. </p>
+<br/>
+<br/>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-foo/-init-">&lt;init&gt;</a></td>
+<td>
+<code><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-foo/bar">bar</a></td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">bar</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/javaLinkTag.java b/core/testdata/format/javaLinkTag.java
new file mode 100644
index 00000000..84f761c6
--- /dev/null
+++ b/core/testdata/format/javaLinkTag.java
@@ -0,0 +1,6 @@
+/**
+ * Call {@link #bar()} to do the job.
+ */
+class Foo {
+ public void bar()
+}
diff --git a/core/testdata/format/javaLinkTagWithLabel.html b/core/testdata/format/javaLinkTagWithLabel.html
new file mode 100644
index 00000000..aabfbc58
--- /dev/null
+++ b/core/testdata/format/javaLinkTagWithLabel.html
@@ -0,0 +1,36 @@
+<HTML>
+<HEAD>
+<title>test / Foo</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/-foo/index">Foo</a><br/>
+<br/>
+<h1>Foo</h1>
+<code><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Foo</span></code><br/>
+<p>Call <code><a href="test/-foo/bar">this wonderful method</a></code> to do the job. </p>
+<br/>
+<br/>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-foo/-init-">&lt;init&gt;</a></td>
+<td>
+<code><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-foo/bar">bar</a></td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">bar</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/javaLinkTagWithLabel.java b/core/testdata/format/javaLinkTagWithLabel.java
new file mode 100644
index 00000000..1db5ad70
--- /dev/null
+++ b/core/testdata/format/javaLinkTagWithLabel.java
@@ -0,0 +1,6 @@
+/**
+ * Call {@link #bar() this wonderful method} to do the job.
+ */
+class Foo {
+ public void bar()
+}
diff --git a/core/testdata/format/javaSeeTag.html b/core/testdata/format/javaSeeTag.html
new file mode 100644
index 00000000..a6813df3
--- /dev/null
+++ b/core/testdata/format/javaSeeTag.html
@@ -0,0 +1,38 @@
+<HTML>
+<HEAD>
+<title>test / Foo</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/-foo/index">Foo</a><br/>
+<br/>
+<h1>Foo</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Foo</span></code><br/>
+<p></p>
+<strong>See Also</strong><br/>
+<a href="test/-foo/bar">#bar</a><br/>
+<br/>
+<br/>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-foo/-init-">&lt;init&gt;</a></td>
+<td>
+<code><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-foo/bar">bar</a></td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">bar</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/javaSeeTag.java b/core/testdata/format/javaSeeTag.java
new file mode 100644
index 00000000..94a24606
--- /dev/null
+++ b/core/testdata/format/javaSeeTag.java
@@ -0,0 +1,6 @@
+/**
+ * @see #bar
+ */
+public class Foo {
+ public void bar() {}
+} \ No newline at end of file
diff --git a/core/testdata/format/javaSpaceInAuthor.java b/core/testdata/format/javaSpaceInAuthor.java
new file mode 100644
index 00000000..f980ae07
--- /dev/null
+++ b/core/testdata/format/javaSpaceInAuthor.java
@@ -0,0 +1,5 @@
+/**
+ * @author Dmitry Jemerov
+ */
+class C {
+} \ No newline at end of file
diff --git a/core/testdata/format/javaSpaceInAuthor.md b/core/testdata/format/javaSpaceInAuthor.md
new file mode 100644
index 00000000..4d19ed01
--- /dev/null
+++ b/core/testdata/format/javaSpaceInAuthor.md
@@ -0,0 +1,19 @@
+[test](test/index) / [C](test/-c/index)
+
+
+# C
+
+`protected open class C`
+
+
+
+**Author**
+Dmitry Jemerov
+
+
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-c/-init-) | `C()` |
+
diff --git a/core/testdata/format/javaSupertype.html b/core/testdata/format/javaSupertype.html
new file mode 100644
index 00000000..4c847281
--- /dev/null
+++ b/core/testdata/format/javaSupertype.html
@@ -0,0 +1,35 @@
+<HTML>
+<HEAD>
+<title>test / C.Bar</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/-c/index">C</a>&nbsp;/&nbsp;<a href="test/-c/-bar/index">Bar</a><br/>
+<br/>
+<h1>Bar</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Bar</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="test/-c/-foo/index"><span class="identifier">Foo</span></a></code><br/>
+<br/>
+<br/>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-c/-bar/-init-">&lt;init&gt;</a></td>
+<td>
+<code><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-c/-bar/return-foo">returnFoo</a></td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">returnFoo</span><span class="symbol">(</span><span class="identifier">foo</span><span class="symbol">:</span>&nbsp;<a href="test/-c/-foo/index"><span class="identifier">Foo</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="test/-c/-foo/index"><span class="identifier">Foo</span></a></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/javaSupertype.java b/core/testdata/format/javaSupertype.java
new file mode 100644
index 00000000..b3142ff6
--- /dev/null
+++ b/core/testdata/format/javaSupertype.java
@@ -0,0 +1,8 @@
+class C {
+ public static class Foo {
+ }
+
+ public static class Bar extends Foo {
+ public Foo returnFoo(Foo foo) { return foo; }
+ }
+}
diff --git a/core/testdata/format/javadocHtml.java b/core/testdata/format/javadocHtml.java
new file mode 100644
index 00000000..622116b2
--- /dev/null
+++ b/core/testdata/format/javadocHtml.java
@@ -0,0 +1,14 @@
+/**
+ * <b>Bold</b>
+ * <strong>Strong</strong>
+ * <i>Italic</i>
+ * <em>Emphasized</em>
+ * <p>Paragraph</p>
+ * <s>Strikethrough</s>
+ * <del>Deleted</del>
+ * <code>Code</code>
+ * <pre>Block code</pre>
+ * <ul><li>List Item</li></ul>
+ */
+public class C {
+}
diff --git a/core/testdata/format/javadocHtml.md b/core/testdata/format/javadocHtml.md
new file mode 100644
index 00000000..db71cc3b
--- /dev/null
+++ b/core/testdata/format/javadocHtml.md
@@ -0,0 +1,27 @@
+[test](test/index) / [C](test/-c/index)
+
+
+# C
+
+`open class C`
+
+**Bold** **Strong** *Italic* *Emphasized*
+Paragraph
+
+ ~~Strikethrough~~ ~~Deleted~~ `Code`
+```
+Block code
+```
+
+ * List Item
+
+
+
+
+
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-c/-init-) | `C()` |
+
diff --git a/core/testdata/format/javadocOrderedList.java b/core/testdata/format/javadocOrderedList.java
new file mode 100644
index 00000000..c32d9032
--- /dev/null
+++ b/core/testdata/format/javadocOrderedList.java
@@ -0,0 +1,8 @@
+/**
+ * <ol>
+ * <li>Rinse</li>
+ * <li>Repeat</li>
+ * </ol>
+ */
+public class Bar {
+}
diff --git a/core/testdata/format/javadocOrderedList.md b/core/testdata/format/javadocOrderedList.md
new file mode 100644
index 00000000..02a3c095
--- /dev/null
+++ b/core/testdata/format/javadocOrderedList.md
@@ -0,0 +1,20 @@
+[test](test/index) / [Bar](test/-bar/index)
+
+
+# Bar
+
+`open class Bar`
+
+ 1. Rinse
+ 1. Repeat
+
+
+
+
+
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-bar/-init-) | `Bar()` |
+
diff --git a/core/testdata/format/linkWithLabel.html b/core/testdata/format/linkWithLabel.html
new file mode 100644
index 00000000..75769ffd
--- /dev/null
+++ b/core/testdata/format/linkWithLabel.html
@@ -0,0 +1,37 @@
+<HTML>
+<HEAD>
+<title>test / Bar</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/-bar/index">Bar</a><br/>
+<br/>
+<h1>Bar</h1>
+<code><span class="keyword">class </span><span class="identifier">Bar</span></code><br/>
+<p>Use <a href="test/-bar/foo">this method</a> for best results.</p>
+<br/>
+<br/>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-bar/-init-">&lt;init&gt;</a></td>
+<td>
+<code><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></code><p>Use <a href="test/-bar/foo">this method</a> for best results.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-bar/foo">foo</a></td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/linkWithLabel.kt b/core/testdata/format/linkWithLabel.kt
new file mode 100644
index 00000000..4a85c505
--- /dev/null
+++ b/core/testdata/format/linkWithLabel.kt
@@ -0,0 +1,6 @@
+/**
+ * Use [this method][Bar.foo] for best results.
+ */
+class Bar {
+ fun foo() {}
+}
diff --git a/core/testdata/format/nullability.kt b/core/testdata/format/nullability.kt
new file mode 100644
index 00000000..d1d4545b
--- /dev/null
+++ b/core/testdata/format/nullability.kt
@@ -0,0 +1,5 @@
+class C<T> {
+ fun foo(): Comparable<T>? {
+ return null
+ }
+}
diff --git a/core/testdata/format/nullability.md b/core/testdata/format/nullability.md
new file mode 100644
index 00000000..ee50a0a5
--- /dev/null
+++ b/core/testdata/format/nullability.md
@@ -0,0 +1,20 @@
+[test](test/index) / [C](test/-c/index)
+
+
+# C
+
+`class C&lt;T&gt;`
+
+
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-c/-init-) | `C()` |
+
+
+### Functions
+
+
+| [foo](test/-c/foo) | `fun foo(): Comparable&lt;T&gt;?` |
+
diff --git a/core/testdata/format/operatorOverloading.kt b/core/testdata/format/operatorOverloading.kt
new file mode 100644
index 00000000..6fe78e45
--- /dev/null
+++ b/core/testdata/format/operatorOverloading.kt
@@ -0,0 +1,3 @@
+class C {
+ fun plus(other: C): C
+}
diff --git a/core/testdata/format/operatorOverloading.md b/core/testdata/format/operatorOverloading.md
new file mode 100644
index 00000000..05fe3206
--- /dev/null
+++ b/core/testdata/format/operatorOverloading.md
@@ -0,0 +1,8 @@
+[test](test/index) / [C](test/-c/index) / [plus](test/-c/plus)
+
+
+# plus
+
+`fun plus(other:&nbsp;[C](test/-c/index)): [C](test/-c/index)`
+
+
diff --git a/core/testdata/format/orderedList.html b/core/testdata/format/orderedList.html
new file mode 100644
index 00000000..9917568f
--- /dev/null
+++ b/core/testdata/format/orderedList.html
@@ -0,0 +1,30 @@
+<HTML>
+<HEAD>
+<title>test / Bar</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/-bar/index">Bar</a><br/>
+<br/>
+<h1>Bar</h1>
+<code><span class="keyword">class </span><span class="identifier">Bar</span></code><br/>
+<p>Usage instructions:</p>
+<ol><li><p>Rinse</p>
+</li><li><p>Repeat</p>
+</li></ol><br/>
+<br/>
+<br/>
+<br/>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-bar/-init-">&lt;init&gt;</a></td>
+<td>
+<code><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></code><p>Usage instructions:</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/orderedList.kt b/core/testdata/format/orderedList.kt
new file mode 100644
index 00000000..03681c7a
--- /dev/null
+++ b/core/testdata/format/orderedList.kt
@@ -0,0 +1,8 @@
+/**
+ * Usage instructions:
+ *
+ * 1. Rinse
+ * 1. Repeat
+ */
+class Bar {
+}
diff --git a/core/testdata/format/overloads.html b/core/testdata/format/overloads.html
new file mode 100644
index 00000000..752f3989
--- /dev/null
+++ b/core/testdata/format/overloads.html
@@ -0,0 +1,23 @@
+<HTML>
+<HEAD>
+<title>test / root package</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a><br/>
+<br/>
+<h2>Package </h2>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/f">f</a></td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">f</span><span class="symbol">(</span><span class="identifier">x</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
+<code><span class="keyword">fun </span><span class="identifier">f</span><span class="symbol">(</span><span class="identifier">x</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Performs an action on x.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/overloads.kt b/core/testdata/format/overloads.kt
new file mode 100644
index 00000000..dcd2d097
--- /dev/null
+++ b/core/testdata/format/overloads.kt
@@ -0,0 +1,5 @@
+/** Performs an action on x. */
+fun f(x: Int) { }
+
+/** Performs an action on x. */
+fun f(x: String) { }
diff --git a/core/testdata/format/overloadsWithDescription.html b/core/testdata/format/overloadsWithDescription.html
new file mode 100644
index 00000000..a0efb472
--- /dev/null
+++ b/core/testdata/format/overloadsWithDescription.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<title>test / f</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/f">f</a><br/>
+<br/>
+<h1>f</h1>
+<code><span class="keyword">fun </span><span class="identifier">f</span><span class="symbol">(</span><span class="identifier">x</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
+<code><span class="keyword">fun </span><span class="identifier">f</span><span class="symbol">(</span><span class="identifier">x</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
+<p>Performs an action on <a href="test/f#x">x</a>.</p>
+<p>This is a long description.</p>
+<br/>
+<br/>
+<h3>Parameters</h3>
+<a name="x"></a>
+<code>x</code> - the value to perform the action on.<br/>
+<br/>
+<br/>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/overloadsWithDescription.kt b/core/testdata/format/overloadsWithDescription.kt
new file mode 100644
index 00000000..740e642f
--- /dev/null
+++ b/core/testdata/format/overloadsWithDescription.kt
@@ -0,0 +1,15 @@
+/**
+ * Performs an action on [x].
+ *
+ * This is a long description.
+ * @param x the value to perform the action on.
+ */
+fun f(x: Int) { }
+
+/**
+ * Performs an action on [x].
+ *
+ * This is a long description.
+ * @param x the value to perform the action on.
+ */
+fun f(x: String) { }
diff --git a/core/testdata/format/overloadsWithDifferentDescriptions.html b/core/testdata/format/overloadsWithDifferentDescriptions.html
new file mode 100644
index 00000000..30a37e75
--- /dev/null
+++ b/core/testdata/format/overloadsWithDifferentDescriptions.html
@@ -0,0 +1,30 @@
+<HTML>
+<HEAD>
+<title>test / f</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/f">f</a><br/>
+<br/>
+<h1>f</h1>
+<code><span class="keyword">fun </span><span class="identifier">f</span><span class="symbol">(</span><span class="identifier">x</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
+<p>Performs an action on x.</p>
+<p>This is a long description.</p>
+<br/>
+<br/>
+<h3>Parameters</h3>
+<a name="x"></a>
+<code>x</code> - the int value to perform the action on.<br/>
+<br/>
+<br/>
+<code><span class="keyword">fun </span><span class="identifier">f</span><span class="symbol">(</span><span class="identifier">x</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
+<p>Performs an action on x.</p>
+<p>This is a long description.</p>
+<br/>
+<br/>
+<h3>Parameters</h3>
+<a name="x"></a>
+<code>x</code> - the string value to perform the action on.<br/>
+<br/>
+<br/>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/overloadsWithDifferentDescriptions.kt b/core/testdata/format/overloadsWithDifferentDescriptions.kt
new file mode 100644
index 00000000..ad3169b0
--- /dev/null
+++ b/core/testdata/format/overloadsWithDifferentDescriptions.kt
@@ -0,0 +1,15 @@
+/**
+ * Performs an action on x.
+ *
+ * This is a long description.
+ * @param x the int value to perform the action on.
+ */
+fun f(x: Int) { }
+
+/**
+ * Performs an action on x.
+ *
+ * This is a long description.
+ * @param x the string value to perform the action on.
+ */
+fun f(x: String) { }
diff --git a/core/testdata/format/overridingFunction.kt b/core/testdata/format/overridingFunction.kt
new file mode 100644
index 00000000..d7329489
--- /dev/null
+++ b/core/testdata/format/overridingFunction.kt
@@ -0,0 +1,7 @@
+open class C() {
+ open fun f() {}
+}
+
+class D(): C() {
+ override fun f() {}
+}
diff --git a/core/testdata/format/overridingFunction.md b/core/testdata/format/overridingFunction.md
new file mode 100644
index 00000000..2c898b9c
--- /dev/null
+++ b/core/testdata/format/overridingFunction.md
@@ -0,0 +1,9 @@
+[test](test/index) / [D](test/-d/index) / [f](test/-d/f)
+
+
+# f
+
+`fun f(): Unit`
+Overrides [C.f](test/-c/f)
+
+
diff --git a/core/testdata/format/paramTag.kt b/core/testdata/format/paramTag.kt
new file mode 100644
index 00000000..47e471f5
--- /dev/null
+++ b/core/testdata/format/paramTag.kt
@@ -0,0 +1,6 @@
+/**
+ * @param x A string
+ * @param y A number with a really long description that spans multiple lines and goes
+ * on and on and is very interesting to read
+ */
+fun f(x: String, y: Int) {}
diff --git a/core/testdata/format/paramTag.md b/core/testdata/format/paramTag.md
new file mode 100644
index 00000000..882083fe
--- /dev/null
+++ b/core/testdata/format/paramTag.md
@@ -0,0 +1,14 @@
+[test](test/index) / [f](test/f)
+
+
+# f
+
+`fun f(x:&nbsp;String, y:&nbsp;Int): Unit`
+
+### Parameters
+
+`x` - A string
+`y` - A number with a really long description that spans multiple lines and goes
+on and on and is very interesting to read
+
+
diff --git a/core/testdata/format/parameterAnchor.html b/core/testdata/format/parameterAnchor.html
new file mode 100644
index 00000000..c5920fb7
--- /dev/null
+++ b/core/testdata/format/parameterAnchor.html
@@ -0,0 +1,17 @@
+<HTML>
+<HEAD>
+<title>test / processFiles</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/process-files">processFiles</a><br/>
+<br/>
+<h1>processFiles</h1>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">processFiles</span><span class="symbol">(</span><span class="identifier">processor</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code><br/>
+<p>Runs <a href="test/process-files#processor">processor</a> for each file and collects its results into single list</p>
+<h3>Parameters</h3>
+<a name="processor"></a>
+<code>processor</code> - function to receive context for symbol resolution and file for processing<br/>
+<br/>
+<br/>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/parameterAnchor.kt b/core/testdata/format/parameterAnchor.kt
new file mode 100644
index 00000000..ae36ee4c
--- /dev/null
+++ b/core/testdata/format/parameterAnchor.kt
@@ -0,0 +1,6 @@
+/**
+ * Runs [processor] for each file and collects its results into single list
+ * @param processor function to receive context for symbol resolution and file for processing
+ */
+public fun processFiles<T>(processor: () -> T): List<T> {
+}
diff --git a/core/testdata/format/parenthesis.html b/core/testdata/format/parenthesis.html
new file mode 100644
index 00000000..c36b311b
--- /dev/null
+++ b/core/testdata/format/parenthesis.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<title>test / foo</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/foo">foo</a><br/>
+<br/>
+<h1>foo</h1>
+<code><span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
+<p>foo (bar)</p>
+<br/>
+<br/>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/parenthesis.kt b/core/testdata/format/parenthesis.kt
new file mode 100644
index 00000000..b906f64a
--- /dev/null
+++ b/core/testdata/format/parenthesis.kt
@@ -0,0 +1,4 @@
+/**
+ * foo (bar)
+ */
+fun foo() {}
diff --git a/core/testdata/format/propertyVar.kt b/core/testdata/format/propertyVar.kt
new file mode 100644
index 00000000..88be1a7a
--- /dev/null
+++ b/core/testdata/format/propertyVar.kt
@@ -0,0 +1 @@
+var x = 1 \ No newline at end of file
diff --git a/core/testdata/format/propertyVar.md b/core/testdata/format/propertyVar.md
new file mode 100644
index 00000000..f2110992
--- /dev/null
+++ b/core/testdata/format/propertyVar.md
@@ -0,0 +1,8 @@
+[test](test/index) / [x](test/x)
+
+
+# x
+
+`var x: Int`
+
+
diff --git a/core/testdata/format/reifiedTypeParameter.kt b/core/testdata/format/reifiedTypeParameter.kt
new file mode 100644
index 00000000..00fa1dc9
--- /dev/null
+++ b/core/testdata/format/reifiedTypeParameter.kt
@@ -0,0 +1,3 @@
+inline fun f<reified T>() {
+
+}
diff --git a/core/testdata/format/reifiedTypeParameter.md b/core/testdata/format/reifiedTypeParameter.md
new file mode 100644
index 00000000..2e96018e
--- /dev/null
+++ b/core/testdata/format/reifiedTypeParameter.md
@@ -0,0 +1,8 @@
+[test](test/index) / [f](test/f)
+
+
+# f
+
+`inline fun &lt;reified&nbsp;T&gt; f(): Unit`
+
+
diff --git a/core/testdata/format/see.html b/core/testdata/format/see.html
new file mode 100644
index 00000000..b3ffb74b
--- /dev/null
+++ b/core/testdata/format/see.html
@@ -0,0 +1,28 @@
+<HTML>
+<HEAD>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/quux">quux</a><br/>
+<br/>
+<h1>quux</h1>
+<code><span class="keyword">fun </span><span class="identifier">quux</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
+<strong>See Also</strong><br/>
+<p><a href="test/foo">foo</a></p>
+<p><a href="test/bar">bar</a></p>
+<br/>
+<br/>
+<br/>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/foo">foo</a><br/>
+<br/>
+<h1>foo</h1>
+<code><span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
+<br/>
+<br/>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/bar">bar</a><br/>
+<br/>
+<h1>bar</h1>
+<code><span class="keyword">fun </span><span class="identifier">bar</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
+<br/>
+<br/>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/see.kt b/core/testdata/format/see.kt
new file mode 100644
index 00000000..a0b153b0
--- /dev/null
+++ b/core/testdata/format/see.kt
@@ -0,0 +1,12 @@
+/**
+ * @see foo
+ * @see bar
+ */
+fun quux() {
+}
+
+fun foo() {
+}
+
+fun bar() {
+} \ No newline at end of file
diff --git a/core/testdata/format/starProjection.kt b/core/testdata/format/starProjection.kt
new file mode 100644
index 00000000..48d53e47
--- /dev/null
+++ b/core/testdata/format/starProjection.kt
@@ -0,0 +1,3 @@
+public fun Iterable<*>.containsFoo(element: Any?): Boolean {
+ return false
+}
diff --git a/core/testdata/format/starProjection.md b/core/testdata/format/starProjection.md
new file mode 100644
index 00000000..c9be2f58
--- /dev/null
+++ b/core/testdata/format/starProjection.md
@@ -0,0 +1,8 @@
+[test](test/index) / [kotlin.Iterable](test/kotlin.-iterable/index)
+
+
+### Extensions for kotlin.Iterable
+
+
+| [containsFoo](test/kotlin.-iterable/contains-foo) | `fun Iterable&lt;*&gt;.containsFoo(element:&nbsp;Any?): Boolean` |
+
diff --git a/core/testdata/format/summarizeSignatures.kt b/core/testdata/format/summarizeSignatures.kt
new file mode 100644
index 00000000..1d875a50
--- /dev/null
+++ b/core/testdata/format/summarizeSignatures.kt
@@ -0,0 +1,20 @@
+package kotlin
+
+class Array<T>
+class IntArray
+class CharArray
+
+/**
+ * Returns true if foo.
+ */
+fun IntArray.foo(predicate: (Int) -> Boolean): Boolean = false
+
+/**
+ * Returns true if foo.
+ */
+fun CharArray.foo(predicate: (Char) -> Boolean): Boolean = false
+
+/**
+ * Returns true if foo.
+ */
+fun <T> Array<T>.foo(predicate: (T) -> Boolean): Boolean = false
diff --git a/core/testdata/format/summarizeSignatures.md b/core/testdata/format/summarizeSignatures.md
new file mode 100644
index 00000000..b1707f40
--- /dev/null
+++ b/core/testdata/format/summarizeSignatures.md
@@ -0,0 +1,23 @@
+[test](test/index) / [kotlin](test/kotlin/index)
+
+
+## Package kotlin
+
+
+### Types
+
+
+| [Array](test/kotlin/-array/index) | `class Array&lt;T&gt;` |
+| [CharArray](test/kotlin/-char-array/index) | `class CharArray` |
+| [IntArray](test/kotlin/-int-array/index) | `class IntArray` |
+
+
+### Functions
+
+
+| [foo](test/kotlin/foo) | `fun &lt;T&gt; any_array&lt;T&gt;.foo(predicate:&nbsp;(T)&nbsp;-&gt;&nbsp;Boolean): Boolean`
+
+Returns true if foo.
+
+ |
+
diff --git a/core/testdata/format/summarizeSignaturesProperty.kt b/core/testdata/format/summarizeSignaturesProperty.kt
new file mode 100644
index 00000000..fbbdd328
--- /dev/null
+++ b/core/testdata/format/summarizeSignaturesProperty.kt
@@ -0,0 +1,20 @@
+package kotlin
+
+class Array<T>
+class IntArray
+class CharArray
+
+/**
+ * Returns true if foo.
+ */
+val IntArray.foo: Int = 0
+
+/**
+ * Returns true if foo.
+ */
+val CharArray.foo: Int = 0
+
+/**
+ * Returns true if foo.
+ */
+val <T> Array<T>.foo: Int = 0
diff --git a/core/testdata/format/summarizeSignaturesProperty.md b/core/testdata/format/summarizeSignaturesProperty.md
new file mode 100644
index 00000000..9646b0f1
--- /dev/null
+++ b/core/testdata/format/summarizeSignaturesProperty.md
@@ -0,0 +1,23 @@
+[test](test/index) / [kotlin](test/kotlin/index)
+
+
+## Package kotlin
+
+
+### Types
+
+
+| [Array](test/kotlin/-array/index) | `class Array&lt;T&gt;` |
+| [CharArray](test/kotlin/-char-array/index) | `class CharArray` |
+| [IntArray](test/kotlin/-int-array/index) | `class IntArray` |
+
+
+### Properties
+
+
+| [foo](test/kotlin/foo) | `val &lt;T&gt; any_array&lt;T&gt;.foo: Int`
+
+Returns true if foo.
+
+ |
+
diff --git a/core/testdata/format/throwsTag.kt b/core/testdata/format/throwsTag.kt
new file mode 100644
index 00000000..29a9c3f7
--- /dev/null
+++ b/core/testdata/format/throwsTag.kt
@@ -0,0 +1,5 @@
+/**
+ * @throws IllegalArgumentException on Mondays
+ * @exception NullPointerException on Tuesdays
+ */
+fun f() {}
diff --git a/core/testdata/format/throwsTag.md b/core/testdata/format/throwsTag.md
new file mode 100644
index 00000000..d0a4e610
--- /dev/null
+++ b/core/testdata/format/throwsTag.md
@@ -0,0 +1,13 @@
+[test](test/index) / [f](test/f)
+
+
+# f
+
+`fun f(): Unit`
+
+### Exceptions
+
+`IllegalArgumentException` - on Mondays
+`NullPointerException` - on Tuesdays
+
+
diff --git a/core/testdata/format/tripleBackticks.html b/core/testdata/format/tripleBackticks.html
new file mode 100644
index 00000000..13954985
--- /dev/null
+++ b/core/testdata/format/tripleBackticks.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<title>test / f</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/f">f</a><br/>
+<br/>
+<h1>f</h1>
+<code><span class="keyword">fun </span><span class="identifier">f</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
+<p>Description</p>
+<pre><code>code sample</code></pre><br/>
+<br/>
+<br/>
+<br/>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/tripleBackticks.kt b/core/testdata/format/tripleBackticks.kt
new file mode 100644
index 00000000..54dfa6d5
--- /dev/null
+++ b/core/testdata/format/tripleBackticks.kt
@@ -0,0 +1,7 @@
+/**
+ * Description
+ * ```
+ * code sample
+ * ```
+ */
+fun f() {}
diff --git a/core/testdata/format/typeLink.html b/core/testdata/format/typeLink.html
new file mode 100644
index 00000000..ff99090a
--- /dev/null
+++ b/core/testdata/format/typeLink.html
@@ -0,0 +1,24 @@
+<HTML>
+<HEAD>
+<title>test / Bar</title>
+</HEAD>
+<BODY>
+<a href="test/index">test</a>&nbsp;/&nbsp;<a href="test/-bar/index">Bar</a><br/>
+<br/>
+<h1>Bar</h1>
+<code><span class="keyword">class </span><span class="identifier">Bar</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="test/-foo/index"><span class="identifier">Foo</span></a></code><br/>
+<br/>
+<br/>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<a href="test/-bar/-init-">&lt;init&gt;</a></td>
+<td>
+<code><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/core/testdata/format/typeLink.kt b/core/testdata/format/typeLink.kt
new file mode 100644
index 00000000..966e020e
--- /dev/null
+++ b/core/testdata/format/typeLink.kt
@@ -0,0 +1,5 @@
+class Foo() {
+}
+
+class Bar(): Foo {
+}
diff --git a/core/testdata/format/typeParameterBounds.kt b/core/testdata/format/typeParameterBounds.kt
new file mode 100644
index 00000000..5f22f8c5
--- /dev/null
+++ b/core/testdata/format/typeParameterBounds.kt
@@ -0,0 +1,6 @@
+
+/**
+ * generic function
+ */
+public fun <T : R, R> generic() {
+} \ No newline at end of file
diff --git a/core/testdata/format/typeParameterBounds.md b/core/testdata/format/typeParameterBounds.md
new file mode 100644
index 00000000..fe597878
--- /dev/null
+++ b/core/testdata/format/typeParameterBounds.md
@@ -0,0 +1,11 @@
+[test](test/index) / [generic](test/generic)
+
+
+# generic
+
+`fun &lt;T&nbsp;:&nbsp;R, R&gt; generic(): Unit`
+
+generic function
+
+
+
diff --git a/core/testdata/format/typeParameterVariance.kt b/core/testdata/format/typeParameterVariance.kt
new file mode 100644
index 00000000..28b29f4b
--- /dev/null
+++ b/core/testdata/format/typeParameterVariance.kt
@@ -0,0 +1,2 @@
+class Foo<out T> {
+}
diff --git a/core/testdata/format/typeParameterVariance.md b/core/testdata/format/typeParameterVariance.md
new file mode 100644
index 00000000..c0bfa6de
--- /dev/null
+++ b/core/testdata/format/typeParameterVariance.md
@@ -0,0 +1,14 @@
+[test](test/index) / [Foo](test/-foo/index)
+
+
+# Foo
+
+`class Foo&lt;out&nbsp;T&gt;`
+
+
+
+### Constructors
+
+
+| [&lt;init&gt;](test/-foo/-init-) | `Foo()` |
+
diff --git a/core/testdata/format/typeProjectionVariance.kt b/core/testdata/format/typeProjectionVariance.kt
new file mode 100644
index 00000000..85ee344d
--- /dev/null
+++ b/core/testdata/format/typeProjectionVariance.kt
@@ -0,0 +1 @@
+fun <T> Array<out T>.foo() {}
diff --git a/core/testdata/format/typeProjectionVariance.md b/core/testdata/format/typeProjectionVariance.md
new file mode 100644
index 00000000..7aa34593
--- /dev/null
+++ b/core/testdata/format/typeProjectionVariance.md
@@ -0,0 +1,8 @@
+[test](test/index) / [kotlin.Array](test/kotlin.-array/index)
+
+
+### Extensions for kotlin.Array
+
+
+| [foo](test/kotlin.-array/foo) | `fun &lt;T&gt; Array&lt;out&nbsp;T&gt;.foo(): Unit` |
+
diff --git a/core/testdata/format/varargsFunction.kt b/core/testdata/format/varargsFunction.kt
new file mode 100644
index 00000000..deea127b
--- /dev/null
+++ b/core/testdata/format/varargsFunction.kt
@@ -0,0 +1 @@
+fun f(vararg s: String) {}
diff --git a/core/testdata/format/varargsFunction.md b/core/testdata/format/varargsFunction.md
new file mode 100644
index 00000000..723437aa
--- /dev/null
+++ b/core/testdata/format/varargsFunction.md
@@ -0,0 +1,8 @@
+[test](test/index) / [f](test/f)
+
+
+# f
+
+`fun f(vararg s:&nbsp;String): Unit`
+
+