diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/api/core.api | 16 | ||||
-rw-r--r-- | core/src/main/kotlin/model/additionalExtras.kt | 2 | ||||
-rw-r--r-- | core/src/main/kotlin/model/ancestryNode.kt | 14 |
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() + } +} |