Open
Description
apiValidation {
nonPublicMarkers += ["com.example.InternalApi"]
}
package com.example
@InternalApi
class Example {
class Nested {
fun foo() {}
}
}
produces following dump:
public final class com/example/Example$Nested {
public fun <init> ()V
public final fun foo ()V
}
In Kotlin, an opt-in annotations is propagated to an all class members, including a nested classes.
But binary-compatibility-validator filters only classes that are directly annotated with one of the annotations from nonPublicMarkers
.
I think this behaviour should be aligned with opt-in annotations as they are often used as nonPublicMarkers
.