blob: a118eb4da5a68b29775e0b86a810ea88a7aa72af (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
package org.jetbrains.dokka.model
import org.jetbrains.dokka.model.properties.ExtraProperty
import org.jetbrains.dokka.model.properties.MergeStrategy
class DefaultValue(val expression: SourceSetDependent<Expression>): ExtraProperty<Documentable> {
@Deprecated("Use `expression` property that depends on source set", ReplaceWith("this.expression.values.first()"))
val value: Expression
get() = expression.values.first()
companion object : ExtraProperty.Key<Documentable, DefaultValue> {
override fun mergeStrategyFor(left: DefaultValue, right: DefaultValue): MergeStrategy<Documentable> =
MergeStrategy.Replace(DefaultValue(left.expression + right.expression))
}
override val key: ExtraProperty.Key<Documentable, *>
get() = Companion
}
interface Expression
data class ComplexExpression(val value: String) : Expression
data class IntegerConstant(val value: Long) : Expression
data class StringConstant(val value: String) : Expression
data class DoubleConstant(val value: Double) : Expression
data class FloatConstant(val value: Float) : Expression
data class BooleanConstant(val value: Boolean) : Expression
|