Open martinbonnin opened 2 years ago
Note to self:
class ConstructorMarker constructor(unused: String = "")
and
class ConstructorMarker private constructor(unused: String, i: Int) {
class Builder {
fun build() = ConstructorMarker("", 42)
}
}
both produce public synthetic <init>(Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
, the trick is to properly distinguish them as former is part of the ABI, while latter is not
We decided this is a compiler issue: https://youtrack.jetbrains.com/issue/KT-51073
Alas there is not much we can do on BCV side to address it
BCV could at least filter out synthetic constructors with DefaultConstructorMarker
but without I
The following code:
dumps the following API:
I'm curious as to why
<init>
is listed in the dump. If I were to remove theid
parameter, would that be considered a breaking change even if it should be an implementation detail?I'm using
0.8.0-RC