[FIR] Implement light tree DECLARATION_NAME & SIGNATURE strategies

This commit is contained in:
Mikhail Glukhikh
2020-11-17 16:17:01 +03:00
parent 42c59f7383
commit 3dec848c03
6 changed files with 132 additions and 38 deletions
@@ -87,9 +87,9 @@ class WithNestedFun<K> {
}
fun <T> local() {
<!LOCAL_INTERFACE_NOT_ALLOWED!>fun interface LocalFun {
<!LOCAL_INTERFACE_NOT_ALLOWED!>fun interface LocalFun<!> {
fun invoke(element: T)
}<!>
}
}
fun interface WithDefaultValue {
+4 -4
View File
@@ -1,14 +1,14 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE
fun foo() {
<!LOCAL_INTERFACE_NOT_ALLOWED!>interface a {}<!>
<!LOCAL_INTERFACE_NOT_ALLOWED!>interface a<!> {}
val b = object {
<!LOCAL_INTERFACE_NOT_ALLOWED!>interface c {}<!>
<!LOCAL_INTERFACE_NOT_ALLOWED!>interface c<!> {}
}
class A {
<!LOCAL_INTERFACE_NOT_ALLOWED!>interface d {}<!>
<!LOCAL_INTERFACE_NOT_ALLOWED!>interface d<!> {}
}
val f = {
<!LOCAL_INTERFACE_NOT_ALLOWED!>interface e {}<!>
<!LOCAL_INTERFACE_NOT_ALLOWED!>interface e<!> {}
}
}
@@ -1,21 +0,0 @@
interface Interface {
fun foo(x: Int): Int
}
fun withLocalClasses(param: Int): Interface {
open class LocalBase {
open val param: Int
get() = 100
}
<!LOCAL_INTERFACE_NOT_ALLOWED!>interface LocalInterface : Interface {
override fun foo(x: Int): Int =
x + param
}<!>
return object : LocalBase(), LocalInterface {
override fun foo(x: Int): Int =
x + super.param
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
interface Interface {
fun foo(x: Int): Int
}