Prohibit annotations, modifiers and default values for parameters in function type
#KT-7619 fixed
This commit is contained in:
+29
@@ -0,0 +1,29 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
|
||||
|
||||
annotation class Ann
|
||||
|
||||
fun f(@Ann x: Int) {}
|
||||
|
||||
val inVal: (<!UNSUPPORTED!>@Ann<!> x: Int)->Unit = {}
|
||||
|
||||
fun inParam(fn: (<!UNSUPPORTED!>@Ann<!> x: Int)->Unit) {}
|
||||
|
||||
fun inParamNested(fn1: (fn2: (<!UNSUPPORTED!>@Ann<!> n: Int)->Unit)->Unit) {}
|
||||
|
||||
fun inReturn(): (<!UNSUPPORTED!>@Ann<!> x: Int)->Unit = {}
|
||||
|
||||
class A : (@<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!> Int)->Unit {
|
||||
override fun invoke(p1: Int) {
|
||||
var lambda: (<!UNSUPPORTED!>@Ann<!> x: Int)->Unit = {}
|
||||
}
|
||||
|
||||
val prop: (<!UNSUPPORTED!>@Ann<!> x: Int)->Unit
|
||||
get(): (<!UNSUPPORTED!>@Ann<!> x: Int)->Unit = {}
|
||||
}
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class TypeAnn
|
||||
|
||||
val onType: (@TypeAnn A).(<!UNSUPPORTED!>@Ann<!> a: @TypeAnn A, @<!DEBUG_INFO_MISSING_UNRESOLVED!>TypeAnn<!> A)->@<!DEBUG_INFO_MISSING_UNRESOLVED!>TypeAnn<!> A? = <!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>{<!> null }
|
||||
|
||||
fun (@TypeAnn A).extFun(@Ann a: @TypeAnn A): @<!DEBUG_INFO_MISSING_UNRESOLVED!>TypeAnn<!> A? = null
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
package
|
||||
|
||||
public val inVal: (kotlin.Int) -> kotlin.Unit
|
||||
public val onType: @TypeAnn() A.(@TypeAnn() A, A) -> A?
|
||||
public fun f(/*0*/ @Ann() x: kotlin.Int): kotlin.Unit
|
||||
public fun inParam(/*0*/ fn: (kotlin.Int) -> kotlin.Unit): kotlin.Unit
|
||||
public fun inParamNested(/*0*/ fn1: ((kotlin.Int) -> kotlin.Unit) -> kotlin.Unit): kotlin.Unit
|
||||
public fun inReturn(): (kotlin.Int) -> kotlin.Unit
|
||||
public fun @TypeAnn() A.extFun(/*0*/ @Ann() a: @TypeAnn() A): A?
|
||||
|
||||
public final class A : (kotlin.Int) -> kotlin.Unit {
|
||||
public constructor A()
|
||||
public final val prop: (kotlin.Int) -> kotlin.Unit
|
||||
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*/ fun invoke(/*0*/ p1: kotlin.Int): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
@kotlin.annotation.annotation() public final class Ann : kotlin.Annotation {
|
||||
public constructor Ann()
|
||||
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
|
||||
}
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) @kotlin.annotation.annotation() public final class TypeAnn : kotlin.Annotation {
|
||||
public constructor TypeAnn()
|
||||
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