| // RUN_PIPELINE_TILL: FRONTEND | |
| fun interface Good { | |
| fun invoke() | |
| } | |
| <!FUN_INTERFACE_WRONG_COUNT_OF_ABSTRACT_MEMBERS!>fun<!> interface Foo1 | |
| <!FUN_INTERFACE_WRONG_COUNT_OF_ABSTRACT_MEMBERS!>fun<!> interface Foo2 { | |
| } | |
| <!FUN_INTERFACE_WRONG_COUNT_OF_ABSTRACT_MEMBERS!>fun<!> interface Foo3 { | |
| fun foo() | |
| fun bar() | |
| } | |
| interface BaseWithSAM { | |
| fun base() | |
| } | |
| <!FUN_INTERFACE_WRONG_COUNT_OF_ABSTRACT_MEMBERS!>fun<!> interface Foo4 : BaseWithSAM { | |
| fun oneMore() | |
| } | |
| fun interface Foo4WithDefault : BaseWithSAM { | |
| fun oneMore() {} | |
| } | |
| interface BaseWithDefault { | |
| fun def() {} | |
| } | |
| fun interface Foo4WithBaseDefault : BaseWithDefault { | |
| fun oneMore() | |
| } | |
| fun interface GoodWithBase : BaseWithSAM | |
| <!FUN_INTERFACE_WRONG_COUNT_OF_ABSTRACT_MEMBERS!>fun<!> interface Foo5 { | |
| <!FUN_INTERFACE_CANNOT_HAVE_ABSTRACT_PROPERTIES!>val<!> prop: Int | |
| } | |
| fun interface Foo6 { | |
| fun foo() | |
| <!FUN_INTERFACE_CANNOT_HAVE_ABSTRACT_PROPERTIES!>val<!> prop: Int | |
| } | |
| fun interface Foo7 : BaseWithSAM { | |
| <!FUN_INTERFACE_CANNOT_HAVE_ABSTRACT_PROPERTIES!>val<!> prop: Int | |
| } | |
| fun interface GoodWithPropAndBase : BaseWithSAM { | |
| val prop: Int get() = 42 | |
| } | |
| fun interface Foo8 { | |
| fun <!FUN_INTERFACE_ABSTRACT_METHOD_WITH_TYPE_PARAMETERS!><T><!> invoke(x: T) | |
| } | |
| fun interface GoodGeneric<T> { | |
| fun invoke(x: T) | |
| } | |
| interface BaseWithGeneric { | |
| fun <T> invoke(x: T) | |
| } | |
| <!FUN_INTERFACE_ABSTRACT_METHOD_WITH_TYPE_PARAMETERS!>fun<!> interface Foo9 : BaseWithGeneric | |
| fun interface GoodExtensionGeneric : GoodGeneric<String> | |
| fun interface GoodSuspend { | |
| suspend fun invoke() | |
| } | |
| class WithNestedFun<K> { | |
| <!FUN_INTERFACE_WRONG_COUNT_OF_ABSTRACT_MEMBERS!>fun<!> interface NestedSimple | |
| fun interface GoodFun { | |
| fun invoke() | |
| } | |
| fun interface NestedFun { | |
| fun inovke(element: <!UNRESOLVED_REFERENCE!>K<!>) | |
| } | |
| } | |
| fun <T> local() { | |
| <!LOCAL_INTERFACE_NOT_ALLOWED!>fun interface LocalFun<!> { | |
| fun invoke(element: T) | |
| } | |
| } | |
| fun interface WithDefaultValue { | |
| fun invoke(<!FUN_INTERFACE_ABSTRACT_METHOD_WITH_DEFAULT_VALUE!>s: String = ""<!>) | |
| } | |
| interface BaseWithDefaultValue { | |
| fun invoke(s: String = "") | |
| } | |
| <!FUN_INTERFACE_ABSTRACT_METHOD_WITH_DEFAULT_VALUE!>fun<!> interface DeriveDefault : BaseWithDefaultValue | |
| /* GENERATED_FIR_TAGS: classDeclaration, funInterface, functionDeclaration, getter, integerLiteral, interfaceDeclaration, | |
| localClass, nestedClass, nullableType, propertyDeclaration, stringLiteral, suspend, typeParameter */ |