aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Kryachko <vkryachko@google.com>2020-09-19 13:52:24 -0400
committerVladimir Kryachko <vkryachko@google.com>2020-09-19 13:57:53 -0400
commita5af8799cebd1fb57e92b998f858f3bc410f9c42 (patch)
treeb18347aad89210d70b58271602e7f8b19c4ff8d4
parent7623b47835aa703c45567dd443c96178a66e2c5e (diff)
downloaddokka-a5af8799cebd1fb57e92b998f858f3bc410f9c42.tar.gz
Fix constructor rendering from `<init>` to actual `TypeName`.
For example, class Foo will have a constructor named `Foo` in docs as opposed to `<init>`. Bug: 168972258 Change-Id: I1e70d6d15702e5d583054cb95a3a90c328e5f8f5
-rw-r--r--core/src/main/kotlin/Formats/DacHtmlFormat.kt2
-rw-r--r--core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormat.kt2
-rw-r--r--core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormatOutputBuilder.kt2
-rw-r--r--core/src/main/kotlin/Model/DocumentationNode.kt6
-rw-r--r--core/testdata/format/dac/deprecation/dac/Bar.html6
-rw-r--r--core/testdata/format/dac/deprecation/dac/DeprecatedBar.html6
-rw-r--r--core/testdata/format/dac/deprecation/dac/DeprecatedFoo.html6
-rw-r--r--core/testdata/format/dac/deprecation/dac/Foo.html6
-rw-r--r--core/testdata/format/dac/inheritedMethods/dac/Child.html6
-rw-r--r--core/testdata/format/dac/inheritedMethods/dac/Parent.html6
-rw-r--r--core/testdata/format/dac/javaClassLinks/dac/Bar.html6
-rw-r--r--core/testdata/format/dac/javaClassLinks/dac/Foo.html6
-rw-r--r--core/testdata/format/dac/javaConstructor/Foo.java2
-rw-r--r--core/testdata/format/dac/javaConstructor/dac-as-java/Foo.html11
-rw-r--r--core/testdata/format/dac/javaConstructor/dac/Foo.html17
-rw-r--r--core/testdata/format/dac/javaDefaultConstructor/dac/Foo.html6
-rw-r--r--core/testdata/format/dac/javaMethodVisibilities/dac/Foo.html6
-rw-r--r--core/testdata/format/dac/javaSeeTag/dac/Bar.html6
-rw-r--r--core/testdata/format/dac/javaSeeTag/dac/Foo.html6
19 files changed, 72 insertions, 42 deletions
diff --git a/core/src/main/kotlin/Formats/DacHtmlFormat.kt b/core/src/main/kotlin/Formats/DacHtmlFormat.kt
index d997f1ca2..bc6429bf5 100644
--- a/core/src/main/kotlin/Formats/DacHtmlFormat.kt
+++ b/core/src/main/kotlin/Formats/DacHtmlFormat.kt
@@ -75,7 +75,7 @@ class DevsiteLayoutHtmlFormatOutputBuilder(
attributes["data-version-added"] = node.apiLevel.name
h3(classes = "api-name") {
//id = node.signatureForAnchor(logger).urlEncoded()
- +node.name
+ +node.prettyName
}
apiAndDeprecatedVersions(node)
pre(classes = "api-signature no-pretty-print") { renderedSignature(node, LanguageService.RenderMode.FULL) }
diff --git a/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormat.kt b/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormat.kt
index 91808f8bf..b94886693 100644
--- a/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormat.kt
+++ b/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormat.kt
@@ -119,7 +119,7 @@ fun DocumentationNode.signatureForAnchor(logger: DokkaLogger): String {
append("Companion.")
}
appendReceiverIfSo()
- append(name)
+ append(prettyName)
details(NodeKind.Parameter).joinTo(this, prefix = "(", postfix = ")") { it.detail(NodeKind.Type).qualifiedNameFromType() }
}
NodeKind.Property, NodeKind.CompanionObjectProperty -> buildString {
diff --git a/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormatOutputBuilder.kt b/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormatOutputBuilder.kt
index a04a9187c..f12128f64 100644
--- a/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormatOutputBuilder.kt
+++ b/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormatOutputBuilder.kt
@@ -253,7 +253,7 @@ open class JavaLayoutHtmlFormatOutputBuilder(
renderedSignature(receiver.detail(NodeKind.Type), SUMMARY)
+"."
}
- a(href = node) { +node.name }
+ a(href = node) { +node.prettyName }
shortFunctionParametersList(node)
}
}
diff --git a/core/src/main/kotlin/Model/DocumentationNode.kt b/core/src/main/kotlin/Model/DocumentationNode.kt
index cf083ce54..c84d4169d 100644
--- a/core/src/main/kotlin/Model/DocumentationNode.kt
+++ b/core/src/main/kotlin/Model/DocumentationNode.kt
@@ -134,6 +134,12 @@ open class DocumentationNode(val name: String,
get() = details(NodeKind.Supertype)
val signatureName = detailOrNull(NodeKind.Signature)?.name
+ val prettyName : String
+ get() = when(kind) {
+ NodeKind.Constructor -> owner!!.name
+ else -> name
+ }
+
val superclassType: DocumentationNode?
get() = when (kind) {
NodeKind.Supertype -> {
diff --git a/core/testdata/format/dac/deprecation/dac/Bar.html b/core/testdata/format/dac/deprecation/dac/Bar.html
index 9dc323048..7ae5c5c46 100644
--- a/core/testdata/format/dac/deprecation/dac/Bar.html
+++ b/core/testdata/format/dac/deprecation/dac/Bar.html
@@ -21,7 +21,7 @@
</tr>
<tr>
<td>
- <div><code><a href="#%3Cinit%3E()">&lt;init&gt;</a>()</code></div>
+ <div><code><a href="#Bar()">Bar</a>()</code></div>
<p></p>
</td>
</tr>
@@ -56,9 +56,9 @@
</tbody>
</table>
<h2>Public constructors</h2>
-<a name="%3Cinit%3E()"></a>
+<a name="Bar()"></a>
<div class="api apilevel-" data-version-added="">
- <h3 class="api-name">&lt;init&gt;</h3>
+ <h3 class="api-name">Bar</h3>
<pre class="api-signature no-pretty-print"><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></pre>
</div>
<h2>Public methods</h2>
diff --git a/core/testdata/format/dac/deprecation/dac/DeprecatedBar.html b/core/testdata/format/dac/deprecation/dac/DeprecatedBar.html
index 34b8c9386..11a6a5667 100644
--- a/core/testdata/format/dac/deprecation/dac/DeprecatedBar.html
+++ b/core/testdata/format/dac/deprecation/dac/DeprecatedBar.html
@@ -22,16 +22,16 @@
</tr>
<tr>
<td>
- <div><code><a href="#%3Cinit%3E()">&lt;init&gt;</a>()</code></div>
+ <div><code><a href="#DeprecatedBar()">DeprecatedBar</a>()</code></div>
<p>This class has been deprecated in favor of Bar.</p>
</td>
</tr>
</tbody>
</table>
<h2>Public constructors</h2>
-<a name="%3Cinit%3E()"></a>
+<a name="DeprecatedBar()"></a>
<div class="api apilevel-" data-version-added="">
- <h3 class="api-name">&lt;init&gt;</h3>
+ <h3 class="api-name">DeprecatedBar</h3>
<pre class="api-signature no-pretty-print"><span class="identifier">DeprecatedBar</span><span class="symbol">(</span><span class="symbol">)</span></pre>
<p>This class has been deprecated in favor of Bar.</p>
</div>
diff --git a/core/testdata/format/dac/deprecation/dac/DeprecatedFoo.html b/core/testdata/format/dac/deprecation/dac/DeprecatedFoo.html
index 610c46b60..4dcf39c19 100644
--- a/core/testdata/format/dac/deprecation/dac/DeprecatedFoo.html
+++ b/core/testdata/format/dac/deprecation/dac/DeprecatedFoo.html
@@ -21,16 +21,16 @@
</tr>
<tr>
<td>
- <div><code><a href="#%3Cinit%3E()">&lt;init&gt;</a>()</code></div>
+ <div><code><a href="#DeprecatedFoo()">DeprecatedFoo</a>()</code></div>
<p></p>
</td>
</tr>
</tbody>
</table>
<h2>Public constructors</h2>
-<a name="%3Cinit%3E()"></a>
+<a name="DeprecatedFoo()"></a>
<div class="api apilevel-" data-version-added="">
- <h3 class="api-name">&lt;init&gt;</h3>
+ <h3 class="api-name">DeprecatedFoo</h3>
<pre class="api-signature no-pretty-print"><span class="identifier">DeprecatedFoo</span><span class="symbol">(</span><span class="symbol">)</span></pre>
</div>
</body>
diff --git a/core/testdata/format/dac/deprecation/dac/Foo.html b/core/testdata/format/dac/deprecation/dac/Foo.html
index 76c0760a0..9fe6ad2d2 100644
--- a/core/testdata/format/dac/deprecation/dac/Foo.html
+++ b/core/testdata/format/dac/deprecation/dac/Foo.html
@@ -21,7 +21,7 @@
</tr>
<tr>
<td>
- <div><code><a href="#%3Cinit%3E()">&lt;init&gt;</a>()</code></div>
+ <div><code><a href="#Foo()">Foo</a>()</code></div>
<p></p>
</td>
</tr>
@@ -56,9 +56,9 @@
</tbody>
</table>
<h2>Public constructors</h2>
-<a name="%3Cinit%3E()"></a>
+<a name="Foo()"></a>
<div class="api apilevel-" data-version-added="">
- <h3 class="api-name">&lt;init&gt;</h3>
+ <h3 class="api-name">Foo</h3>
<pre class="api-signature no-pretty-print"><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre>
</div>
<h2>Public methods</h2>
diff --git a/core/testdata/format/dac/inheritedMethods/dac/Child.html b/core/testdata/format/dac/inheritedMethods/dac/Child.html
index dff52afbe..c645a89e7 100644
--- a/core/testdata/format/dac/inheritedMethods/dac/Child.html
+++ b/core/testdata/format/dac/inheritedMethods/dac/Child.html
@@ -25,7 +25,7 @@
</tr>
<tr>
<td>
- <div><code><a href="#%3Cinit%3E()">&lt;init&gt;</a>()</code></div>
+ <div><code><a href="#Child()">Child</a>()</code></div>
<p></p>
</td>
</tr>
@@ -78,9 +78,9 @@
</tbody>
</table>
<h2>Public constructors</h2>
-<a name="%3Cinit%3E()"></a>
+<a name="Child()"></a>
<div class="api apilevel-" data-version-added="">
- <h3 class="api-name">&lt;init&gt;</h3>
+ <h3 class="api-name">Child</h3>
<pre class="api-signature no-pretty-print"><span class="identifier">Child</span><span class="symbol">(</span><span class="symbol">)</span></pre>
</div>
<h2>Public methods</h2>
diff --git a/core/testdata/format/dac/inheritedMethods/dac/Parent.html b/core/testdata/format/dac/inheritedMethods/dac/Parent.html
index ff9048b96..72b0b72a1 100644
--- a/core/testdata/format/dac/inheritedMethods/dac/Parent.html
+++ b/core/testdata/format/dac/inheritedMethods/dac/Parent.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td>
- <div><code><a href="#%3Cinit%3E()">&lt;init&gt;</a>()</code></div>
+ <div><code><a href="#Parent()">Parent</a>()</code></div>
<p></p>
</td>
</tr>
@@ -70,9 +70,9 @@
</tbody>
</table>
<h2>Public constructors</h2>
-<a name="%3Cinit%3E()"></a>
+<a name="Parent()"></a>
<div class="api apilevel-" data-version-added="">
- <h3 class="api-name">&lt;init&gt;</h3>
+ <h3 class="api-name">Parent</h3>
<pre class="api-signature no-pretty-print"><span class="identifier">Parent</span><span class="symbol">(</span><span class="symbol">)</span></pre>
</div>
<h2>Public methods</h2>
diff --git a/core/testdata/format/dac/javaClassLinks/dac/Bar.html b/core/testdata/format/dac/javaClassLinks/dac/Bar.html
index 87f2c3adf..c8961e07f 100644
--- a/core/testdata/format/dac/javaClassLinks/dac/Bar.html
+++ b/core/testdata/format/dac/javaClassLinks/dac/Bar.html
@@ -21,7 +21,7 @@
</tr>
<tr>
<td>
- <div><code><a href="#%3Cinit%3E()">&lt;init&gt;</a>()</code></div>
+ <div><code><a href="#Bar()">Bar</a>()</code></div>
<p></p>
</td>
</tr>
@@ -56,9 +56,9 @@
</tbody>
</table>
<h2>Public constructors</h2>
-<a name="%3Cinit%3E()"></a>
+<a name="Bar()"></a>
<div class="api apilevel-" data-version-added="">
- <h3 class="api-name">&lt;init&gt;</h3>
+ <h3 class="api-name">Bar</h3>
<pre class="api-signature no-pretty-print"><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></pre>
<table class="responsive">
<tbody>
diff --git a/core/testdata/format/dac/javaClassLinks/dac/Foo.html b/core/testdata/format/dac/javaClassLinks/dac/Foo.html
index 51ba0204c..b1ed934c3 100644
--- a/core/testdata/format/dac/javaClassLinks/dac/Foo.html
+++ b/core/testdata/format/dac/javaClassLinks/dac/Foo.html
@@ -21,16 +21,16 @@
</tr>
<tr>
<td>
- <div><code><a href="#%3Cinit%3E()">&lt;init&gt;</a>()</code></div>
+ <div><code><a href="#Foo()">Foo</a>()</code></div>
<p></p>
</td>
</tr>
</tbody>
</table>
<h2>Public constructors</h2>
-<a name="%3Cinit%3E()"></a>
+<a name="Foo()"></a>
<div class="api apilevel-" data-version-added="">
- <h3 class="api-name">&lt;init&gt;</h3>
+ <h3 class="api-name">Foo</h3>
<pre class="api-signature no-pretty-print"><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre>
</div>
</body>
diff --git a/core/testdata/format/dac/javaConstructor/Foo.java b/core/testdata/format/dac/javaConstructor/Foo.java
index 0a2b05268..4d70be4fb 100644
--- a/core/testdata/format/dac/javaConstructor/Foo.java
+++ b/core/testdata/format/dac/javaConstructor/Foo.java
@@ -1,2 +1,4 @@
public class Foo {
+ public Foo() {}
+ public Foo(String value) {}
} \ No newline at end of file
diff --git a/core/testdata/format/dac/javaConstructor/dac-as-java/Foo.html b/core/testdata/format/dac/javaConstructor/dac-as-java/Foo.html
index bddb7ff8a..01cb1bb19 100644
--- a/core/testdata/format/dac/javaConstructor/dac-as-java/Foo.html
+++ b/core/testdata/format/dac/javaConstructor/dac-as-java/Foo.html
@@ -25,6 +25,12 @@
<p></p>
</td>
</tr>
+ <tr>
+ <td>
+ <div><code><a href="#Foo(String)">Foo</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html"><span class="identifier">String</span></a> <span class="identifier">value</span>)</code></div>
+ <p></p>
+ </td>
+ </tr>
</tbody>
</table>
<h2>Public constructors</h2>
@@ -33,5 +39,10 @@
<h3 class="api-name">Foo</h3>
<pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre>
</div>
+<a name="Foo(String)"></a>
+ <div class="api apilevel-" data-version-added="">
+ <h3 class="api-name">Foo</h3>
+ <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">Foo</span><span class="symbol">(</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html"><span class="identifier">String</span></a> <span class="identifier">value</span><span class="symbol">)</span></pre>
+ </div>
</body>
</html>
diff --git a/core/testdata/format/dac/javaConstructor/dac/Foo.html b/core/testdata/format/dac/javaConstructor/dac/Foo.html
index 51ba0204c..948d024b8 100644
--- a/core/testdata/format/dac/javaConstructor/dac/Foo.html
+++ b/core/testdata/format/dac/javaConstructor/dac/Foo.html
@@ -21,17 +21,28 @@
</tr>
<tr>
<td>
- <div><code><a href="#%3Cinit%3E()">&lt;init&gt;</a>()</code></div>
+ <div><code><a href="#Foo()">Foo</a>()</code></div>
+ <p></p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <div><code><a href="#Foo(kotlin.String)">Foo</a>(<span class="identifier" id="Foo$&lt;init&gt;(kotlin.String)/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">!</span>)</code></div>
<p></p>
</td>
</tr>
</tbody>
</table>
<h2>Public constructors</h2>
-<a name="%3Cinit%3E()"></a>
+<a name="Foo()"></a>
<div class="api apilevel-" data-version-added="">
- <h3 class="api-name">&lt;init&gt;</h3>
+ <h3 class="api-name">Foo</h3>
<pre class="api-signature no-pretty-print"><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre>
</div>
+<a name="Foo(kotlin.String)"></a>
+ <div class="api apilevel-" data-version-added="">
+ <h3 class="api-name">Foo</h3>
+ <pre class="api-signature no-pretty-print"><span class="identifier">Foo</span><span class="symbol">(</span><span class="identifier" id="Foo$&lt;init&gt;(kotlin.String)/value">value</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">!</span><span class="symbol">)</span></pre>
+ </div>
</body>
</html>
diff --git a/core/testdata/format/dac/javaDefaultConstructor/dac/Foo.html b/core/testdata/format/dac/javaDefaultConstructor/dac/Foo.html
index 51ba0204c..b1ed934c3 100644
--- a/core/testdata/format/dac/javaDefaultConstructor/dac/Foo.html
+++ b/core/testdata/format/dac/javaDefaultConstructor/dac/Foo.html
@@ -21,16 +21,16 @@
</tr>
<tr>
<td>
- <div><code><a href="#%3Cinit%3E()">&lt;init&gt;</a>()</code></div>
+ <div><code><a href="#Foo()">Foo</a>()</code></div>
<p></p>
</td>
</tr>
</tbody>
</table>
<h2>Public constructors</h2>
-<a name="%3Cinit%3E()"></a>
+<a name="Foo()"></a>
<div class="api apilevel-" data-version-added="">
- <h3 class="api-name">&lt;init&gt;</h3>
+ <h3 class="api-name">Foo</h3>
<pre class="api-signature no-pretty-print"><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre>
</div>
</body>
diff --git a/core/testdata/format/dac/javaMethodVisibilities/dac/Foo.html b/core/testdata/format/dac/javaMethodVisibilities/dac/Foo.html
index 0bcdcae90..b4dddf185 100644
--- a/core/testdata/format/dac/javaMethodVisibilities/dac/Foo.html
+++ b/core/testdata/format/dac/javaMethodVisibilities/dac/Foo.html
@@ -21,7 +21,7 @@
</tr>
<tr>
<td>
- <div><code><a href="#%3Cinit%3E()">&lt;init&gt;</a>()</code></div>
+ <div><code><a href="#Foo()">Foo</a>()</code></div>
<p></p>
</td>
</tr>
@@ -70,9 +70,9 @@
</tbody>
</table>
<h2>Public constructors</h2>
-<a name="%3Cinit%3E()"></a>
+<a name="Foo()"></a>
<div class="api apilevel-" data-version-added="">
- <h3 class="api-name">&lt;init&gt;</h3>
+ <h3 class="api-name">Foo</h3>
<pre class="api-signature no-pretty-print"><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre>
</div>
<h2>Public methods</h2>
diff --git a/core/testdata/format/dac/javaSeeTag/dac/Bar.html b/core/testdata/format/dac/javaSeeTag/dac/Bar.html
index 10a5f59ed..c21dfb27b 100644
--- a/core/testdata/format/dac/javaSeeTag/dac/Bar.html
+++ b/core/testdata/format/dac/javaSeeTag/dac/Bar.html
@@ -21,16 +21,16 @@
</tr>
<tr>
<td>
- <div><code><a href="#%3Cinit%3E()">&lt;init&gt;</a>()</code></div>
+ <div><code><a href="#Bar()">Bar</a>()</code></div>
<p></p>
</td>
</tr>
</tbody>
</table>
<h2>Public constructors</h2>
-<a name="%3Cinit%3E()"></a>
+<a name="Bar()"></a>
<div class="api apilevel-" data-version-added="">
- <h3 class="api-name">&lt;init&gt;</h3>
+ <h3 class="api-name">Bar</h3>
<pre class="api-signature no-pretty-print"><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></pre>
<div>
<p><b>See Also</b></p>
diff --git a/core/testdata/format/dac/javaSeeTag/dac/Foo.html b/core/testdata/format/dac/javaSeeTag/dac/Foo.html
index 7ca410c06..7640805ff 100644
--- a/core/testdata/format/dac/javaSeeTag/dac/Foo.html
+++ b/core/testdata/format/dac/javaSeeTag/dac/Foo.html
@@ -21,7 +21,7 @@
</tr>
<tr>
<td>
- <div><code><a href="#%3Cinit%3E()">&lt;init&gt;</a>()</code></div>
+ <div><code><a href="#Foo()">Foo</a>()</code></div>
<p></p>
</td>
</tr>
@@ -42,9 +42,9 @@
</tbody>
</table>
<h2>Public constructors</h2>
-<a name="%3Cinit%3E()"></a>
+<a name="Foo()"></a>
<div class="api apilevel-" data-version-added="">
- <h3 class="api-name">&lt;init&gt;</h3>
+ <h3 class="api-name">Foo</h3>
<pre class="api-signature no-pretty-print"><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre>
<div>
<p><b>See Also</b></p>