Render unwrapped suspend function in backend

Hierarchy of specially wrapped suspend function may have inconsistent
 overridden descriptors: some of them may be wrapped, some unwrapped.
 To mitigate this problem, currently it's proposed to render only
 unwrapped functions, which are always have stable overridden descriptors

 #KT-23809 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2018-04-16 03:08:00 +03:00
parent c216749eb6
commit 4af8833f08
6 changed files with 69 additions and 6 deletions
@@ -4,7 +4,7 @@
"visibility": "public",
"class": "B",
"members": [
{"visibility": "public", "declaration": "open suspend fun foo(continuation: kotlin.coroutines.experimental.Continuation<kotlin.Boolean>): kotlin.Any?", "name": "foo", "desc": "(Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;"},
{"visibility": "public", "declaration": "open suspend fun foo(): kotlin.Boolean", "name": "foo", "desc": "(Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;"},
{"visibility": "public", "declaration": "constructor B()", "name": "<init>", "desc": "()V"}
]
},
@@ -29,7 +29,7 @@
"visibility": "public",
"class": "A",
"members": [
{"visibility": "public", "declaration": "abstract suspend fun foo(continuation: kotlin.coroutines.experimental.Continuation<kotlin.Boolean>): kotlin.Any?", "name": "foo", "desc": "(Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;"}
{"visibility": "public", "declaration": "abstract suspend fun foo(): kotlin.Boolean", "name": "foo", "desc": "(Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;"}
]
},
{
@@ -37,7 +37,7 @@
"visibility": "public",
"class": "C",
"members": [
{"visibility": "public", "declaration": "final suspend fun foo(continuation: kotlin.coroutines.experimental.Continuation<kotlin.Boolean>): kotlin.Any?", "name": "foo", "desc": "(Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;"},
{"visibility": "public", "declaration": "final suspend fun foo(): kotlin.Boolean", "name": "foo", "desc": "(Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;"},
{"visibility": "public", "declaration": "constructor C()", "name": "<init>", "desc": "()V"}
]
}