public abstract interface I {
    public abstract fun foo() : int = UastEmptyExpression
}

public abstract class Base {
    public fun Base() = UastEmptyExpression
    public final fun foo() : int {
        return 42
    }
}

public final class Foo : I, Base {
    private final var p: java.lang.String = "42"
    public fun Foo() = UastEmptyExpression
    public final fun getP() : java.lang.String = UastEmptyExpression
    public final fun bar(other: I) : int {
        [!] UnknownKotlinExpression (CALL_EXPRESSION)
    }
    public final fun baz(other: I) : java.lang.String {
        [!] UnknownKotlinExpression (CALL_EXPRESSION)
    }
}
