FILE: RedundantModalityModifierChecker.kt public final object O : R|kotlin/Any| { private constructor(): R|O| { super() } public final fun foo(): R|kotlin/Unit| { } } public abstract interface Interface : R|kotlin/Any| { public open val gav: R|kotlin/Int| public get(): R|kotlin/Int| { ^ Int(42) } public abstract fun foo(): R|kotlin/Unit| private final fun bar(): R|kotlin/Unit| public abstract fun loo(): R|kotlin/Unit| public open fun goo(): R|kotlin/Unit| { } public abstract fun tar(): R|kotlin/Unit| public abstract fun too(): R|kotlin/Unit| { } } public abstract interface B : R|kotlin/Any| { public abstract var bar: R|kotlin/Unit| public get(): R|kotlin/Unit| public set(value: R|kotlin/Unit|): R|kotlin/Unit| public abstract fun foo(): R|kotlin/Unit| } public abstract interface Foo : R|kotlin/Any| { } public abstract expect class AbstractClass : R|Foo| { public abstract expect override fun foo(): R|kotlin/Unit| public abstract expect fun bar(): R|kotlin/Unit| public abstract expect val baz: R|kotlin/Int| public get(): R|kotlin/Int| } public abstract class Base : R|kotlin/Any| { public constructor(): R|Base| { super() } public final fun foo(): R|kotlin/Unit| { } public abstract fun bar(): R|kotlin/Unit| public open val gav: R|kotlin/Int| = Int(42) public get(): R|kotlin/Int| } public final class FinalDerived : R|Base| { public constructor(): R|FinalDerived| { super() } public final override fun bar(): R|kotlin/Unit| { } public open override val gav: R|kotlin/Int| = Int(13) public get(): R|kotlin/Int| } public open class OpenDerived : R|Base| { public constructor(): R|OpenDerived| { super() } public final override fun bar(): R|kotlin/Unit| { } public open override val gav: R|kotlin/Int| = Int(13) public get(): R|kotlin/Int| private final fun fan(): R|kotlin/Unit| { } } public final class Final : R|kotlin/Any| { public constructor(): R|Final| { super() } } public abstract interface Derived : R|Interface| { public open override fun foo(): R|kotlin/Unit| { } public final class Nested : R|kotlin/Any| { public constructor(): R|Derived.Nested| { super() } } } public abstract class AbstractDerived1 : R|Interface| { public constructor(gav: R|kotlin/Int|): R|AbstractDerived1| { super() } public final override val gav: R|kotlin/Int| = R|/gav| public get(): R|kotlin/Int| public open override fun foo(): R|kotlin/Unit| { } } public abstract class AbstractDerived2 : R|Interface| { public constructor(): R|AbstractDerived2| { super() } public final override fun foo(): R|kotlin/Unit| { } public open override val gav: R|kotlin/Int| = Int(13) public get(): R|kotlin/Int| } public abstract interface AbstractInterface : R|kotlin/Any| { } public final object FinalObject : R|kotlin/Any| { private constructor(): R|FinalObject| { super() } } public open interface OpenInterface : R|kotlin/Any| { } public final class FinalDerived2 : R|Base| { public constructor(gav: R|kotlin/Int|): R|FinalDerived2| { super() } public final override val gav: R|kotlin/Int| = R|/gav| public get(): R|kotlin/Int| public open override fun bar(): R|kotlin/Unit| { } }