From 376dc1cbaa4afe6e2ecbc8a5480273ded924206c Mon Sep 17 00:00:00 2001 From: James Strachan Date: Mon, 16 Apr 2012 11:00:20 +0100 Subject: [PATCH] added a hacky work around until KT-1524 is resolved so we don't have any bad wiki links in the api docs --- libraries/stdlib/src/kotlin/Ordering.kt | 2 +- .../jetbrains/kotlin/doc/model/KotlinModel.kt | 23 ++++++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/libraries/stdlib/src/kotlin/Ordering.kt b/libraries/stdlib/src/kotlin/Ordering.kt index 25e7fa95d32..cacbd2fdff7 100644 --- a/libraries/stdlib/src/kotlin/Ordering.kt +++ b/libraries/stdlib/src/kotlin/Ordering.kt @@ -3,7 +3,7 @@ package kotlin import java.util.Comparator /** -* Helper method for implementing [[Comparable]] methods using a list of functions +* Helper method for implementing [[Comparable]] methods using a list of functions * to calculate the values to compare */ inline fun compareBy(a: T?, b: T?, vararg functions: Function1): Int { diff --git a/libraries/tools/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/model/KotlinModel.kt b/libraries/tools/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/model/KotlinModel.kt index 6aee4f9da34..4c8833e2638 100644 --- a/libraries/tools/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/model/KotlinModel.kt +++ b/libraries/tools/kdoc/src/main/kotlin/org/jetbrains/kotlin/doc/model/KotlinModel.kt @@ -691,7 +691,11 @@ class TemplateLinkRenderer(val annotated: KAnnotated, val template: KDocTemplate // TODO really dirty hack alert!!! // until the resolver is working, lets try adding a few prefixes :) - for (prefix in arrayList("java.lang", "java.util", "java.util.regex", "java.io", "jet")) { + for (prefix in arrayList("java.lang", "java.util", "java.util.concurrent", "java.util.regex", "java.io", + "jet", "java.awt", "java.awt.event", "java.sql", "java.beans", + "javax.swing", "javax.swing.event", + "org.w3c.dom", + "kotlin.template")) { if (href == null) { href = resolveClassNameLink(prefix + "." + qualified) if (href != null) { @@ -700,9 +704,26 @@ class TemplateLinkRenderer(val annotated: KAnnotated, val template: KDocTemplate } } } + if (href == null) { + // TODO even hacker than the above hack! + val hackedLinks = HashMap() + hackedLinks.put("IllegalArgumentException", #("java.lang", "java/lang/IllegalArgumentException.html")) + hackedLinks.put("IllegalStateException", #("java.lang", "java/lang/IllegalStateException.html")) + hackedLinks.put("Map.Entry", #("java.util", "java/util/Map.Entry.html")) + hackedLinks.put("System.in", #("java.lang", "java/lang/System.html#in")) + hackedLinks.put("System.out", #("java.lang", "java/lang/System.html#in")) + hackedLinks.put("#equals()", #("java.lang", "java/lang/Object.html#equals(java.lang.Object)")) + hackedLinks.put("#hashCode()", #("java.lang", "java/lang/Object.html#hashCode()")) + + val link = hackedLinks.get(text) + if (link != null) { + href = annotated.model.config.resolveLink(link._1) + link._2 + } + } if (href != null) { answer.href = href } else { + answer.href = "#NotImplementedYet" warning("could not resolve expression: $qualified into a wiki link") } }