data class A { constructor(runA: @ExtensionFunctionType Function2 = local fun A.(it: String) { return Unit } ) /* primary */ { super/*Any*/() /* () */ } val runA: @ExtensionFunctionType Function2 field = runA get operator fun component1(): @ExtensionFunctionType Function2 { return .#runA } fun copy(runA: @ExtensionFunctionType Function2 = .#runA): A { return A(runA = runA) } override fun toString(): String { return "A(" + "runA=" + .#runA + ")" } override fun hashCode(): Int { return .#runA.hashCode() } override operator fun equals(other: Any?): Boolean { when { EQEQEQ(arg0 = , arg1 = other) -> return true } when { other !is A -> return false } val tmp0_other_with_cast: A = other as A when { EQEQ(arg0 = .#runA, arg1 = tmp0_other_with_cast.#runA).not() -> return false } return true } } data class B { constructor(x: Any = { // BLOCK local class { constructor() /* primary */ { super/*Any*/() /* () */ } } () }) /* primary */ { super/*Any*/() /* () */ } val x: Any field = x get operator fun component1(): Any { return .#x } fun copy(x: Any = .#x): B { return B(x = x) } override fun toString(): String { return "B(" + "x=" + .#x + ")" } override fun hashCode(): Int { return .#x.hashCode() } override operator fun equals(other: Any?): Boolean { when { EQEQEQ(arg0 = , arg1 = other) -> return true } when { other !is B -> return false } val tmp0_other_with_cast: B = other as B when { EQEQ(arg0 = .#x, arg1 = tmp0_other_with_cast.#x).not() -> return false } return true } }