package

package lvalue_assignment {
    public fun canBe(/*0*/ i0: kotlin.Int, /*1*/ j: kotlin.Int): kotlin.Unit
    public fun canBe2(/*0*/ j: kotlin.Int): kotlin.Unit
    public fun cannotBe(): kotlin.Unit
    public fun foo(): kotlin.Unit
    public fun getInt(): kotlin.Int
    public fun kotlin.Array<kotlin.Int>.checkThis(): kotlin.Unit

    public final class A {
        public constructor A()
        public final var a: kotlin.Int
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    }

    public abstract class Ab {
        public constructor Ab()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public abstract fun getArray(): kotlin.Array<kotlin.Int>
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    }

    public open class B {
        public constructor B()
        public final var b: kotlin.Int
        public final val c: kotlin.Int = 34
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    }

    public final class C : lvalue_assignment.B {
        public constructor C()
        public final override /*1*/ /*fake_override*/ var b: kotlin.Int
        public final override /*1*/ /*fake_override*/ val c: kotlin.Int
        public final var x: kotlin.Int
        public final fun bar(/*0*/ c: lvalue_assignment.C): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public final fun foo(/*0*/ c: lvalue_assignment.C): kotlin.Unit
        public final fun foo1(/*0*/ c: lvalue_assignment.C): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    }

    public final class D {
        public constructor D()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

        public final inner class B {
            public constructor B()
            public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
            public final fun foo(): kotlin.Unit
            public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
            public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
        }
    }

    public final class Test {
        public constructor Test()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public final fun testArrays(/*0*/ a: kotlin.Array<kotlin.Int>, /*1*/ ab: lvalue_assignment.Ab): kotlin.Unit
        public final fun testIllegalValues(): kotlin.Unit
        public final fun testIncompleteSyntax(): kotlin.Unit
        public final fun testVariables(): kotlin.Unit
        public final fun testVariables1(): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    }
}
