Do not check receiver for protected constructor calls
Checks for protected constructors should be performed manually, because they are rather complex
This commit is contained in:
+22
@@ -0,0 +1,22 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
open class A protected constructor(x: Int) {
|
||||
protected constructor() : this(1)
|
||||
protected constructor(x: String) : this(2)
|
||||
public constructor(x: Double) : this(3)
|
||||
}
|
||||
|
||||
fun foo() {
|
||||
<!INVISIBLE_MEMBER!>A<!>()
|
||||
A(1.0)
|
||||
}
|
||||
|
||||
class B1 : A(1) {}
|
||||
class B2 : A() {}
|
||||
class B3 : A("") {}
|
||||
|
||||
class B4 : A {
|
||||
constructor() : super(1)
|
||||
constructor(x: Int) : super()
|
||||
constructor(x: Int, y: Int) : super("")
|
||||
}
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
package
|
||||
|
||||
public fun foo(): kotlin.Unit
|
||||
|
||||
public open class A {
|
||||
protected constructor A()
|
||||
public constructor A(/*0*/ x: kotlin.Double)
|
||||
protected constructor A(/*0*/ x: kotlin.Int)
|
||||
protected constructor A(/*0*/ x: kotlin.String)
|
||||
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 B1 : A {
|
||||
public constructor B1()
|
||||
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 B2 : A {
|
||||
public constructor B2()
|
||||
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 B3 : A {
|
||||
public constructor B3()
|
||||
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 B4 : A {
|
||||
public constructor B4()
|
||||
public constructor B4(/*0*/ x: kotlin.Int)
|
||||
public constructor B4(/*0*/ x: kotlin.Int, /*1*/ y: 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
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
open class Outer {
|
||||
inner open class A protected constructor(x: Int) {
|
||||
protected constructor() : this(1)
|
||||
|
||||
protected constructor(x: String) : this(2)
|
||||
}
|
||||
|
||||
inner class B1 : A(1) {}
|
||||
inner class B2 : A() {}
|
||||
inner class B3 : A("") {}
|
||||
|
||||
inner class B4 : A {
|
||||
constructor() : super(1)
|
||||
constructor(x: Int) : super()
|
||||
constructor(x: Int, y: Int) : super("")
|
||||
}
|
||||
}
|
||||
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
package
|
||||
|
||||
public open class Outer {
|
||||
public constructor Outer()
|
||||
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 open inner class A {
|
||||
protected constructor A()
|
||||
protected constructor A(/*0*/ x: kotlin.Int)
|
||||
protected constructor A(/*0*/ x: kotlin.String)
|
||||
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 B1 : Outer.A {
|
||||
public constructor B1()
|
||||
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 B2 : Outer.A {
|
||||
public constructor B2()
|
||||
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 B3 : Outer.A {
|
||||
public constructor B3()
|
||||
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 B4 : Outer.A {
|
||||
public constructor B4()
|
||||
public constructor B4(/*0*/ x: kotlin.Int)
|
||||
public constructor B4(/*0*/ x: kotlin.Int, /*1*/ y: 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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user