Noarg: prohibit noarg for inner and local classes
Report warning if old JVM backend is used, and error for JVM IR, which is supposed to be enabled as default in the next Kotlin release. #KT-43725 Fixed
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
annotation class NoArg
|
||||
|
||||
class Outer {
|
||||
@NoArg
|
||||
inner class <!NOARG_ON_INNER_CLASS!>Inner<!>(val b: Any)
|
||||
}
|
||||
|
||||
fun local() {
|
||||
@NoArg
|
||||
class <!NOARG_ON_LOCAL_CLASS!>Local<!>(val l: Any) {
|
||||
@NoArg
|
||||
inner class <!NOARG_ON_INNER_CLASS!>InnerLocal<!>(val x: Any)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package
|
||||
|
||||
public fun local(): kotlin.Unit
|
||||
|
||||
public final annotation class NoArg : kotlin.Annotation {
|
||||
public constructor NoArg()
|
||||
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 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
|
||||
|
||||
@NoArg public final inner class Inner {
|
||||
public constructor Inner(/*0*/ b: kotlin.Any)
|
||||
public final val b: kotlin.Any
|
||||
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
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
annotation class NoArg
|
||||
|
||||
open class Base(val s: String)
|
||||
|
||||
@NoArg
|
||||
class <!NO_NOARG_CONSTRUCTOR_IN_SUPERCLASS!>Derived<!>(s: String) : Base(s)
|
||||
@@ -0,0 +1,24 @@
|
||||
package
|
||||
|
||||
public open class Base {
|
||||
public constructor Base(/*0*/ s: kotlin.String)
|
||||
public final val s: 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
|
||||
}
|
||||
|
||||
@NoArg public final class Derived : Base {
|
||||
public constructor Derived(/*0*/ s: kotlin.String)
|
||||
public final override /*1*/ /*fake_override*/ val s: 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 annotation class NoArg : kotlin.Annotation {
|
||||
public constructor NoArg()
|
||||
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