aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/api/core.api16
-rw-r--r--core/src/main/kotlin/model/additionalExtras.kt2
-rw-r--r--core/src/main/kotlin/model/ancestryNode.kt14
3 files changed, 31 insertions, 1 deletions
diff --git a/core/api/core.api b/core/api/core.api
index 8b76c00e..d3b4817b 100644
--- a/core/api/core.api
+++ b/core/api/core.api
@@ -671,6 +671,22 @@ public final class org/jetbrains/dokka/model/AdditionalModifiers$Companion : org
public fun mergeStrategyFor (Lorg/jetbrains/dokka/model/AdditionalModifiers;Lorg/jetbrains/dokka/model/AdditionalModifiers;)Lorg/jetbrains/dokka/model/properties/MergeStrategy;
}
+public final class org/jetbrains/dokka/model/AncestryNode {
+ public fun <init> (Lorg/jetbrains/dokka/model/TypeConstructor;Lorg/jetbrains/dokka/model/AncestryNode;Ljava/util/List;)V
+ public final fun allImplementedInterfaces ()Ljava/util/List;
+ public final fun component1 ()Lorg/jetbrains/dokka/model/TypeConstructor;
+ public final fun component2 ()Lorg/jetbrains/dokka/model/AncestryNode;
+ public final fun component3 ()Ljava/util/List;
+ public final fun copy (Lorg/jetbrains/dokka/model/TypeConstructor;Lorg/jetbrains/dokka/model/AncestryNode;Ljava/util/List;)Lorg/jetbrains/dokka/model/AncestryNode;
+ public static synthetic fun copy$default (Lorg/jetbrains/dokka/model/AncestryNode;Lorg/jetbrains/dokka/model/TypeConstructor;Lorg/jetbrains/dokka/model/AncestryNode;Ljava/util/List;ILjava/lang/Object;)Lorg/jetbrains/dokka/model/AncestryNode;
+ public fun equals (Ljava/lang/Object;)Z
+ public final fun getInterfaces ()Ljava/util/List;
+ public final fun getSuperclass ()Lorg/jetbrains/dokka/model/AncestryNode;
+ public final fun getTypeConstructor ()Lorg/jetbrains/dokka/model/TypeConstructor;
+ public fun hashCode ()I
+ public fun toString ()Ljava/lang/String;
+}
+
public abstract class org/jetbrains/dokka/model/AnnotationParameterValue {
}
diff --git a/core/src/main/kotlin/model/additionalExtras.kt b/core/src/main/kotlin/model/additionalExtras.kt
index bc9135dd..d708d137 100644
--- a/core/src/main/kotlin/model/additionalExtras.kt
+++ b/core/src/main/kotlin/model/additionalExtras.kt
@@ -123,4 +123,4 @@ data class ConstructorValues(val values: SourceSetDependent<List<Expression>>) :
}
override val key: ExtraProperty.Key<DEnumEntry, ConstructorValues> = ConstructorValues
-} \ No newline at end of file
+}
diff --git a/core/src/main/kotlin/model/ancestryNode.kt b/core/src/main/kotlin/model/ancestryNode.kt
new file mode 100644
index 00000000..5c3c077b
--- /dev/null
+++ b/core/src/main/kotlin/model/ancestryNode.kt
@@ -0,0 +1,14 @@
+package org.jetbrains.dokka.model
+
+data class AncestryNode(
+ val typeConstructor: TypeConstructor,
+ val superclass: AncestryNode?,
+ val interfaces: List<AncestryNode>,
+) {
+ fun allImplementedInterfaces(): List<TypeConstructor> {
+ fun traverseInterfaces(ancestry: AncestryNode): List<TypeConstructor> =
+ ancestry.interfaces.flatMap { listOf(it.typeConstructor) + traverseInterfaces(it) } +
+ (ancestry.superclass?.let(::traverseInterfaces) ?: emptyList())
+ return traverseInterfaces(this).distinct()
+ }
+}