svenjacobs
08/15/2022, 12:59 PMclass Derived(
factory: (dep: Dependency) -> Base,
) : SomeBaseClass(), Base by delegate {
private val delegate = factory(dependency)
}
val SomeBaseClass.dependency: Dependency
get() = ...
mkrussel
08/15/2022, 1:03 PMdelegate
and then have the secondary public constructor create it and pass it to the primary.svenjacobs
08/15/2022, 1:15 PMCannot access 'dependency' before superclass constructor has been called
class Derived(
delegate: Base
): SomeBaseClass(), Base by delegate {
constructor(
factory: (Dependency) -> Base
) : this(factory(dependency))
~~~~~~~~~~
}
mkrussel
08/15/2022, 1:24 PMsvenjacobs
08/15/2022, 1:26 PM