[ { "declaration": "abstract class C : B defined in root package", "visibility": "public", "class": "C", "members": [ {"visibility": "public", "declaration": "open suspend fun foo(): V", "name": "foo", "desc": "(Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;"}, {"visibility": "public", "declaration": "open suspend fun foo(): V", "name": "foo$suspendImpl", "desc": "(LC;Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;"}, {"visibility": "public", "declaration": "constructor C()", "name": "", "desc": "()V"} ] }, { "declaration": "interface B : A defined in root package", "visibility": "public", "class": "B$DefaultImpls", "members": [ ] }, { "declaration": "interface B : A defined in root package", "visibility": "public", "class": "B", "members": [ ] }, { "declaration": "interface A defined in root package", "visibility": "public", "class": "A$DefaultImpls", "members": [ ] }, { "declaration": "interface A defined in root package", "visibility": "public", "class": "A", "members": [ {"visibility": "public", "declaration": "abstract suspend fun foo(): T", "name": "foo", "desc": "(Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;"} ] } ]