Tests for declaration mappings dumping from compiler

This commit is contained in:
Ilya Gorbunov
2016-03-17 22:26:46 +03:00
parent e7d75fccd6
commit 25abdf9fdb
18 changed files with 1402 additions and 1 deletions
@@ -0,0 +1,18 @@
[
{
"declaration": "final annotation class Ann : kotlin.Annotation defined in root package",
"visibility": "internal",
"class": "Ann",
"members": [
{"visibility": "public", "declaration": "final val i: kotlin.Int", "name": "i", "desc": "()I"},
{"visibility": "public", "declaration": "final val s: kotlin.Short", "name": "s", "desc": "()S"},
{"visibility": "public", "declaration": "final val f: kotlin.Float", "name": "f", "desc": "()F"},
{"visibility": "public", "declaration": "final val d: kotlin.Double", "name": "d", "desc": "()D"},
{"visibility": "public", "declaration": "final val l: kotlin.Long", "name": "l", "desc": "()J"},
{"visibility": "public", "declaration": "final val b: kotlin.Byte", "name": "b", "desc": "()B"},
{"visibility": "public", "declaration": "final val bool: kotlin.Boolean", "name": "bool", "desc": "()Z"},
{"visibility": "public", "declaration": "final val c: kotlin.Char", "name": "c", "desc": "()C"},
{"visibility": "public", "declaration": "final val str: kotlin.String", "name": "str", "desc": "()Ljava/lang/String;"}
]
}
]
@@ -0,0 +1,12 @@
@Retention(AnnotationRetention.RUNTIME)
internal annotation class Ann(
val i: Int,
val s: Short,
val f: Float,
val d: Double,
val l: Long,
val b: Byte,
val bool: Boolean,
val c: Char,
val str: String
)
@@ -0,0 +1,158 @@
[
{
"declaration": "final class ClassWithProperties defined in root package",
"visibility": "public",
"class": "ClassWithProperties",
"members": [
{"visibility": "public", "declaration": "final val publicVal: kotlin.Int", "name": "publicVal", "desc": "I"},
{"visibility": "public", "declaration": "final fun <get-publicVal>(): kotlin.Int", "name": "getPublicVal", "desc": "()I"},
{"visibility": "public", "declaration": "final var publicVar: kotlin.Int", "name": "publicVar", "desc": "I"},
{"visibility": "public", "declaration": "final fun <get-publicVar>(): kotlin.Int", "name": "getPublicVar", "desc": "()I"},
{"visibility": "public", "declaration": "final fun <set-publicVar>(<set-?>: kotlin.Int): kotlin.Unit", "name": "setPublicVar", "desc": "(I)V"},
{"visibility": "internal", "declaration": "final val internalVal: kotlin.Long", "name": "internalVal", "desc": "J"},
{"visibility": "internal", "declaration": "final fun <get-internalVal>(): kotlin.Long", "name": "getInternalVal$java_integration_test", "desc": "()J"},
{"visibility": "internal", "declaration": "final var internalVar: kotlin.Long", "name": "internalVar", "desc": "J"},
{"visibility": "internal", "declaration": "final fun <get-internalVar>(): kotlin.Long", "name": "getInternalVar$java_integration_test", "desc": "()J"},
{"visibility": "internal", "declaration": "final fun <set-internalVar>(<set-?>: kotlin.Long): kotlin.Unit", "name": "setInternalVar$java_integration_test", "desc": "(J)V"},
{"visibility": "protected", "declaration": "final val protectedVal: kotlin.String", "name": "protectedVal", "desc": "Ljava/lang/String;"},
{"visibility": "protected", "declaration": "final fun <get-protectedVal>(): kotlin.String", "name": "getProtectedVal", "desc": "()Ljava/lang/String;"},
{"visibility": "protected", "declaration": "final var protectedVar: kotlin.String", "name": "protectedVar", "desc": "Ljava/lang/String;"},
{"visibility": "protected", "declaration": "final fun <get-protectedVar>(): kotlin.String", "name": "getProtectedVar", "desc": "()Ljava/lang/String;"},
{"visibility": "protected", "declaration": "final fun <set-protectedVar>(<set-?>: kotlin.String): kotlin.Unit", "name": "setProtectedVar", "desc": "(Ljava/lang/String;)V"},
{"visibility": "private", "declaration": "final val privateVal: kotlin.Any?", "name": "privateVal", "desc": "Ljava/lang/Object;"},
{"visibility": "private", "declaration": "final var privateVar: kotlin.Any?", "name": "privateVar", "desc": "Ljava/lang/Object;"},
{"visibility": "public", "declaration": "constructor ClassWithProperties()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final class ClassWithLateinit defined in root package",
"visibility": "public",
"class": "ClassWithLateinit",
"members": [
{"visibility": "public", "declaration": "final lateinit var publicVar: kotlin.String", "name": "publicVar", "desc": "Ljava/lang/String;"},
{"visibility": "public", "declaration": "final fun <get-publicVar>(): kotlin.String", "name": "getPublicVar", "desc": "()Ljava/lang/String;"},
{"visibility": "public", "declaration": "final fun <set-publicVar>(<set-?>: kotlin.String): kotlin.Unit", "name": "setPublicVar", "desc": "(Ljava/lang/String;)V"},
{"visibility": "public", "declaration": "final lateinit var publicVarInternalSet: kotlin.String", "name": "publicVarInternalSet", "desc": "Ljava/lang/String;"},
{"visibility": "public", "declaration": "final fun <get-publicVarInternalSet>(): kotlin.String", "name": "getPublicVarInternalSet", "desc": "()Ljava/lang/String;"},
{"visibility": "internal", "declaration": "final fun <set-publicVarInternalSet>(<set-?>: kotlin.String): kotlin.Unit", "name": "setPublicVarInternalSet$java_integration_test", "desc": "(Ljava/lang/String;)V"},
{"visibility": "internal", "declaration": "final lateinit var internalVar: kotlin.String", "name": "internalVar", "desc": "Ljava/lang/String;"},
{"visibility": "internal", "declaration": "final fun <get-internalVar>(): kotlin.String", "name": "getInternalVar$java_integration_test", "desc": "()Ljava/lang/String;"},
{"visibility": "internal", "declaration": "final fun <set-internalVar>(<set-?>: kotlin.String): kotlin.Unit", "name": "setInternalVar$java_integration_test", "desc": "(Ljava/lang/String;)V"},
{"visibility": "internal", "declaration": "final lateinit var internalVarPrivateSet: kotlin.String", "name": "internalVarPrivateSet", "desc": "Ljava/lang/String;"},
{"visibility": "internal", "declaration": "final fun <get-internalVarPrivateSet>(): kotlin.String", "name": "getInternalVarPrivateSet$java_integration_test", "desc": "()Ljava/lang/String;"},
{"visibility": "private", "declaration": "final fun <set-internalVarPrivateSet>(<set-?>: kotlin.String): kotlin.Unit", "name": "setInternalVarPrivateSet", "desc": "(Ljava/lang/String;)V"},
{"visibility": "protected", "declaration": "final lateinit var protectedVar: kotlin.String", "name": "protectedVar", "desc": "Ljava/lang/String;"},
{"visibility": "protected", "declaration": "final fun <get-protectedVar>(): kotlin.String", "name": "getProtectedVar", "desc": "()Ljava/lang/String;"},
{"visibility": "protected", "declaration": "final fun <set-protectedVar>(<set-?>: kotlin.String): kotlin.Unit", "name": "setProtectedVar", "desc": "(Ljava/lang/String;)V"},
{"visibility": "protected", "declaration": "final lateinit var protectedVarPrivateSet: kotlin.String", "name": "protectedVarPrivateSet", "desc": "Ljava/lang/String;"},
{"visibility": "protected", "declaration": "final fun <get-protectedVarPrivateSet>(): kotlin.String", "name": "getProtectedVarPrivateSet", "desc": "()Ljava/lang/String;"},
{"visibility": "private", "declaration": "final fun <set-protectedVarPrivateSet>(<set-?>: kotlin.String): kotlin.Unit", "name": "setProtectedVarPrivateSet", "desc": "(Ljava/lang/String;)V"},
{"visibility": "private", "declaration": "final lateinit var privateVar: kotlin.Any", "name": "privateVar", "desc": "Ljava/lang/Object;"},
{"visibility": "public", "declaration": "constructor ClassWithLateinit()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final class ClassWithFields defined in root package",
"visibility": "public",
"class": "ClassWithFields",
"members": [
{"visibility": "public", "declaration": "final val publicVal: kotlin.Int", "name": "publicVal", "desc": "I"},
{"visibility": "public", "declaration": "final var publicVar: kotlin.Int", "name": "publicVar", "desc": "I"},
{"visibility": "internal", "declaration": "final val internalVal: kotlin.Long", "name": "internalVal", "desc": "J"},
{"visibility": "internal", "declaration": "final var internalVar: kotlin.Long", "name": "internalVar", "desc": "J"},
{"visibility": "protected", "declaration": "final val protectedVal: kotlin.String", "name": "protectedVal", "desc": "Ljava/lang/String;"},
{"visibility": "protected", "declaration": "final var protectedVar: kotlin.String", "name": "protectedVar", "desc": "Ljava/lang/String;"},
{"visibility": "public", "declaration": "constructor ClassWithFields()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final class ClassWithConstructors defined in root package",
"visibility": "public",
"class": "ClassWithConstructors",
"members": [
{"visibility": "public", "declaration": "final val a: kotlin.Any", "name": "a", "desc": "Ljava/lang/Object;"},
{"visibility": "public", "declaration": "final fun <get-a>(): kotlin.Any", "name": "getA", "desc": "()Ljava/lang/Object;"},
{"visibility": "public", "declaration": "constructor ClassWithConstructors(a: kotlin.Any, b: kotlin.Int)", "name": "<init>", "desc": "(Ljava/lang/Object;I)V"},
{"visibility": "public", "declaration": "constructor ClassWithConstructors(a: kotlin.String)", "name": "<init>", "desc": "(Ljava/lang/String;)V"},
{"visibility": "internal", "declaration": "constructor ClassWithConstructors(a: kotlin.Int)", "name": "<init>", "desc": "(I)V"},
{"visibility": "protected", "declaration": "constructor ClassWithConstructors(a: kotlin.Any)", "name": "<init>", "desc": "(Ljava/lang/Object;)V"}
]
},
{
"declaration": "final class ClassWithFunctions defined in root package",
"visibility": "public",
"class": "ClassWithFunctions",
"members": [
{"visibility": "public", "declaration": "final fun publicFun(): kotlin.Unit", "name": "publicFun", "desc": "()V"},
{"visibility": "internal", "declaration": "final fun internalFun(param1: kotlin.Int): kotlin.Unit", "name": "internalFun$java_integration_test", "desc": "(I)V"},
{"visibility": "protected", "declaration": "final fun protectedFun(a: kotlin.String, b: kotlin.Long): kotlin.Unit", "name": "protectedFun", "desc": "(Ljava/lang/String;J)V"},
{"visibility": "private", "declaration": "final fun privateFun(x: kotlin.Any): kotlin.Unit", "name": "privateFun", "desc": "(Ljava/lang/Object;)V"},
{"visibility": "internal", "declaration": "final fun internalOverloads(a: kotlin.String = ..., b: kotlin.Long? = ...): kotlin.Unit", "name": "internalOverloads$java_integration_test", "desc": "(Ljava/lang/String;Ljava/lang/Long;)V"},
{"visibility": "internal", "declaration": "final fun internalOverloads(a: kotlin.String = ..., b: kotlin.Long? = ...): kotlin.Unit", "name": "internalOverloads$java_integration_test$default", "desc": "(LClassWithFunctions;Ljava/lang/String;Ljava/lang/Long;ILjava/lang/Object;)V"},
{"visibility": "internal", "declaration": "final fun internalOverloads(a: kotlin.String = ..., b: kotlin.Long? = ...): kotlin.Unit", "name": "internalOverloads$java_integration_test", "desc": "(Ljava/lang/String;)V"},
{"visibility": "internal", "declaration": "final fun internalOverloads(a: kotlin.String = ..., b: kotlin.Long? = ...): kotlin.Unit", "name": "internalOverloads$java_integration_test", "desc": "()V"},
{"visibility": "public", "declaration": "constructor ClassWithFunctions()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "object ObjectWithProperties defined in root package",
"visibility": "public",
"class": "ObjectWithProperties",
"members": [
{"visibility": "public", "declaration": "final val publicVal: kotlin.Int", "name": "publicVal", "desc": "I"},
{"visibility": "public", "declaration": "final fun <get-publicVal>(): kotlin.Int", "name": "getPublicVal", "desc": "()I"},
{"visibility": "public", "declaration": "final var publicVar: kotlin.Int", "name": "publicVar", "desc": "I"},
{"visibility": "public", "declaration": "final fun <get-publicVar>(): kotlin.Int", "name": "getPublicVar", "desc": "()I"},
{"visibility": "public", "declaration": "final fun <set-publicVar>(<set-?>: kotlin.Int): kotlin.Unit", "name": "setPublicVar", "desc": "(I)V"},
{"visibility": "internal", "declaration": "final val internalVal: kotlin.Long", "name": "internalVal", "desc": "J"},
{"visibility": "internal", "declaration": "final fun <get-internalVal>(): kotlin.Long", "name": "getInternalVal$java_integration_test", "desc": "()J"},
{"visibility": "internal", "declaration": "final var internalVar: kotlin.Long", "name": "internalVar", "desc": "J"},
{"visibility": "internal", "declaration": "final fun <get-internalVar>(): kotlin.Long", "name": "getInternalVar$java_integration_test", "desc": "()J"},
{"visibility": "internal", "declaration": "final fun <set-internalVar>(<set-?>: kotlin.Long): kotlin.Unit", "name": "setInternalVar$java_integration_test", "desc": "(J)V"},
{"visibility": "private", "declaration": "final val privateVal: kotlin.Any?", "name": "privateVal", "desc": "Ljava/lang/Object;"},
{"visibility": "private", "declaration": "final var privateVar: kotlin.Any?", "name": "privateVar", "desc": "Ljava/lang/Object;"},
{"visibility": "private", "declaration": "constructor ObjectWithProperties()", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LObjectWithProperties;"},
{"visibility": "public", "declaration": "object ObjectWithProperties", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "object ObjectWithFields defined in root package",
"visibility": "public",
"class": "ObjectWithFields",
"members": [
{"visibility": "public", "declaration": "final val publicVal: kotlin.Int", "name": "publicVal", "desc": "I"},
{"visibility": "public", "declaration": "final var publicVar: kotlin.Int", "name": "publicVar", "desc": "I"},
{"visibility": "internal", "declaration": "final val internalVal: kotlin.Long", "name": "internalVal", "desc": "J"},
{"visibility": "internal", "declaration": "final var internalVar: kotlin.Long", "name": "internalVar", "desc": "J"},
{"visibility": "private", "declaration": "constructor ObjectWithFields()", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LObjectWithFields;"},
{"visibility": "public", "declaration": "object ObjectWithFields", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "final class ObjectWithFunctions defined in root package",
"visibility": "public",
"class": "ObjectWithFunctions",
"members": [
{"visibility": "public", "declaration": "final fun publicFun(): kotlin.Unit", "name": "publicFun", "desc": "()V"},
{"visibility": "internal", "declaration": "final fun internalFun(param1: kotlin.Int): kotlin.Unit", "name": "internalFun$java_integration_test", "desc": "(I)V"},
{"visibility": "protected", "declaration": "final fun protectedFun(a: kotlin.String, b: kotlin.Long): kotlin.Unit", "name": "protectedFun", "desc": "(Ljava/lang/String;J)V"},
{"visibility": "private", "declaration": "final fun privateFun(x: kotlin.Any): kotlin.Unit", "name": "privateFun", "desc": "(Ljava/lang/Object;)V"},
{"visibility": "public", "declaration": "constructor ObjectWithFunctions()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "object ObjectWithConst defined in root package",
"visibility": "public",
"class": "ObjectWithConst",
"members": [
{"visibility": "public", "declaration": "const final val publicConst: kotlin.Int", "name": "publicConst", "desc": "I"},
{"visibility": "internal", "declaration": "const final val internalConst: kotlin.Int", "name": "internalConst", "desc": "I"},
{"visibility": "private", "declaration": "const final val privateConst: kotlin.Int", "name": "privateConst", "desc": "I"},
{"visibility": "private", "declaration": "constructor ObjectWithConst()", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LObjectWithConst;"},
{"visibility": "public", "declaration": "object ObjectWithConst", "name": "<clinit>", "desc": "()V"}
]
}
]
@@ -0,0 +1,92 @@
public class ClassWithProperties {
public val publicVal: Int = 1
public var publicVar: Int = 1
internal val internalVal: Long = 1
internal var internalVar: Long = 1
protected val protectedVal: String = ""
protected var protectedVar: String = ""
private val privateVal: Any? = 1
private var privateVar: Any? = 1
}
public class ClassWithLateinit {
public lateinit var publicVar: String
public lateinit var publicVarInternalSet: String
internal set
internal lateinit var internalVar: String
internal lateinit var internalVarPrivateSet: String
private set
protected lateinit var protectedVar: String
protected lateinit var protectedVarPrivateSet: String
private set
private lateinit var privateVar: Any
}
public class ClassWithFields {
@JvmField public val publicVal: Int = 1
@JvmField public var publicVar: Int = 1
@JvmField internal val internalVal: Long = 1
@JvmField internal var internalVar: Long = 1
@JvmField protected val protectedVal: String = ""
@JvmField protected var protectedVar: String = ""
}
public class ClassWithConstructors(val a: Any, b: Int) {
public constructor(a: String) : this(a, 1) {}
internal constructor(a: Int) : this(a, 2) {}
protected constructor(a: Any) : this(a, 0) {}
}
public class ClassWithFunctions {
public fun publicFun() {}
internal fun internalFun(param1: Int) {}
protected fun protectedFun(a: String, b: Long) {}
private fun privateFun(x: Any) {}
@JvmOverloads
internal fun internalOverloads(a: String = "", b: Long? = null) {}
}
public object ObjectWithProperties {
public val publicVal: Int = 1
public var publicVar: Int = 1
internal val internalVal: Long = 1
internal var internalVar: Long = 1
private val privateVal: Any? = 1
private var privateVar: Any? = 1
}
public object ObjectWithFields {
@JvmField public val publicVal: Int = 1
@JvmField public var publicVar: Int = 1
@JvmField internal val internalVal: Long = 1
@JvmField internal var internalVar: Long = 1
}
public class ObjectWithFunctions {
public fun publicFun() {}
internal fun internalFun(param1: Int) {}
protected fun protectedFun(a: String, b: Long) {}
private fun privateFun(x: Any) {}
}
public object ObjectWithConst {
public const val publicConst: Int = 2
internal const val internalConst: Int = 3
private const val privateConst: Int = 4
}
+351
View File
@@ -0,0 +1,351 @@
[
{
"declaration": "object ObjPublic defined in PublicClass",
"visibility": "public",
"class": "PublicClass$ObjPublic",
"members": [
{"visibility": "private", "declaration": "constructor ObjPublic()", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LPublicClass$ObjPublic;"},
{"visibility": "public", "declaration": "object ObjPublic", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "object ObjInternal defined in PublicClass",
"visibility": "internal",
"class": "PublicClass$ObjInternal",
"members": [
{"visibility": "private", "declaration": "constructor ObjInternal()", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LPublicClass$ObjInternal;"},
{"visibility": "internal", "declaration": "object ObjInternal", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "object ObjProtected defined in PublicClass",
"visibility": "protected",
"class": "PublicClass$ObjProtected",
"members": [
{"visibility": "private", "declaration": "constructor ObjProtected()", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LPublicClass$ObjProtected;"},
{"visibility": "protected", "declaration": "object ObjProtected", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "object ObjPrivate defined in PublicClass",
"visibility": "private",
"class": "PublicClass$ObjPrivate",
"members": [
{"visibility": "private", "declaration": "constructor ObjPrivate()", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LPublicClass$ObjPrivate;"},
{"visibility": "private", "declaration": "object ObjPrivate", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "final class NestedPublic defined in PublicClass",
"visibility": "public",
"class": "PublicClass$NestedPublic",
"members": [
{"visibility": "public", "declaration": "constructor NestedPublic()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final class NestedInternal defined in PublicClass",
"visibility": "internal",
"class": "PublicClass$NestedInternal",
"members": [
{"visibility": "public", "declaration": "constructor NestedInternal()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final class NestedProtected defined in PublicClass",
"visibility": "protected",
"class": "PublicClass$NestedProtected",
"members": [
{"visibility": "public", "declaration": "constructor NestedProtected()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final class NestedPrivate defined in PublicClass",
"visibility": "private",
"class": "PublicClass$NestedPrivate",
"members": [
{"visibility": "public", "declaration": "constructor NestedPrivate()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final inner class InnerPublic defined in PublicClass",
"visibility": "public",
"class": "PublicClass$InnerPublic",
"members": [
{"visibility": "public", "declaration": "constructor InnerPublic()", "name": "<init>", "desc": "(LPublicClass;)V"},
{"name": "this$0", "desc": "LPublicClass;"}
]
},
{
"declaration": "final inner class InnerInternal defined in PublicClass",
"visibility": "internal",
"class": "PublicClass$InnerInternal",
"members": [
{"visibility": "public", "declaration": "constructor InnerInternal()", "name": "<init>", "desc": "(LPublicClass;)V"},
{"name": "this$0", "desc": "LPublicClass;"}
]
},
{
"declaration": "final inner class InnerProtected defined in PublicClass",
"visibility": "protected",
"class": "PublicClass$InnerProtected",
"members": [
{"visibility": "public", "declaration": "constructor InnerProtected()", "name": "<init>", "desc": "(LPublicClass;)V"},
{"name": "this$0", "desc": "LPublicClass;"}
]
},
{
"declaration": "final inner class InnerPrivate defined in PublicClass",
"visibility": "private",
"class": "PublicClass$InnerPrivate",
"members": [
{"visibility": "public", "declaration": "constructor InnerPrivate()", "name": "<init>", "desc": "(LPublicClass;)V"},
{"name": "this$0", "desc": "LPublicClass;"}
]
},
{
"declaration": "companion object defined in PublicClass",
"visibility": "public",
"class": "PublicClass$Companion",
"members": [
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "()V"},
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"}
]
},
{
"declaration": "final class PublicClass defined in root package",
"visibility": "public",
"class": "PublicClass",
"members": [
{"visibility": "public", "declaration": "constructor PublicClass()", "name": "<init>", "desc": "()V"},
{"visibility": "public", "declaration": "final class PublicClass", "name": "<clinit>", "desc": "()V"},
{"name": "Companion", "desc": "LPublicClass$Companion;"}
]
},
{
"declaration": "companion object defined in InternalClass",
"visibility": "public",
"class": "InternalClass$Companion",
"members": [
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "()V"},
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"}
]
},
{
"declaration": "final class InternalClass defined in root package",
"visibility": "internal",
"class": "InternalClass",
"members": [
{"visibility": "public", "declaration": "constructor InternalClass()", "name": "<init>", "desc": "()V"},
{"visibility": "internal", "declaration": "final class InternalClass", "name": "<clinit>", "desc": "()V"},
{"name": "Companion", "desc": "LInternalClass$Companion;"}
]
},
{
"declaration": "companion object defined in InternalClassInternalCompanion",
"visibility": "internal",
"class": "InternalClassInternalCompanion$Companion",
"members": [
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "()V"},
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"}
]
},
{
"declaration": "final class InternalClassInternalCompanion defined in root package",
"visibility": "internal",
"class": "InternalClassInternalCompanion",
"members": [
{"visibility": "public", "declaration": "constructor InternalClassInternalCompanion()", "name": "<init>", "desc": "()V"},
{"visibility": "internal", "declaration": "final class InternalClassInternalCompanion", "name": "<clinit>", "desc": "()V"},
{"name": "Companion", "desc": "LInternalClassInternalCompanion$Companion;"}
]
},
{
"declaration": "companion object defined in InternalClassPrivateCompanion",
"visibility": "private",
"class": "InternalClassPrivateCompanion$Companion",
"members": [
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "()V"},
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"}
]
},
{
"declaration": "final class InternalClassPrivateCompanion defined in root package",
"visibility": "internal",
"class": "InternalClassPrivateCompanion",
"members": [
{"visibility": "public", "declaration": "constructor InternalClassPrivateCompanion()", "name": "<init>", "desc": "()V"},
{"visibility": "internal", "declaration": "final class InternalClassPrivateCompanion", "name": "<clinit>", "desc": "()V"},
{"name": "Companion", "desc": "LInternalClassPrivateCompanion$Companion;"}
]
},
{
"declaration": "object ObjPublic defined in PrivateClass",
"visibility": "public",
"class": "PrivateClass$ObjPublic",
"members": [
{"visibility": "private", "declaration": "constructor ObjPublic()", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LPrivateClass$ObjPublic;"},
{"visibility": "public", "declaration": "object ObjPublic", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "object ObjInternal defined in PrivateClass",
"visibility": "internal",
"class": "PrivateClass$ObjInternal",
"members": [
{"visibility": "private", "declaration": "constructor ObjInternal()", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LPrivateClass$ObjInternal;"},
{"visibility": "internal", "declaration": "object ObjInternal", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "object ObjProtected defined in PrivateClass",
"visibility": "protected",
"class": "PrivateClass$ObjProtected",
"members": [
{"visibility": "private", "declaration": "constructor ObjProtected()", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LPrivateClass$ObjProtected;"},
{"visibility": "protected", "declaration": "object ObjProtected", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "object ObjPrivate defined in PrivateClass",
"visibility": "private",
"class": "PrivateClass$ObjPrivate",
"members": [
{"visibility": "private", "declaration": "constructor ObjPrivate()", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LPrivateClass$ObjPrivate;"},
{"visibility": "private", "declaration": "object ObjPrivate", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "final class NestedPublic defined in PrivateClass",
"visibility": "public",
"class": "PrivateClass$NestedPublic",
"members": [
{"visibility": "public", "declaration": "constructor NestedPublic()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final class NestedInternal defined in PrivateClass",
"visibility": "internal",
"class": "PrivateClass$NestedInternal",
"members": [
{"visibility": "public", "declaration": "constructor NestedInternal()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final class NestedProtected defined in PrivateClass",
"visibility": "protected",
"class": "PrivateClass$NestedProtected",
"members": [
{"visibility": "public", "declaration": "constructor NestedProtected()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final class NestedPrivate defined in PrivateClass",
"visibility": "private",
"class": "PrivateClass$NestedPrivate",
"members": [
{"visibility": "public", "declaration": "constructor NestedPrivate()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final inner class InnerPublic defined in PrivateClass",
"visibility": "public",
"class": "PrivateClass$InnerPublic",
"members": [
{"visibility": "public", "declaration": "constructor InnerPublic()", "name": "<init>", "desc": "(LPrivateClass;)V"},
{"name": "this$0", "desc": "LPrivateClass;"}
]
},
{
"declaration": "final inner class InnerInternal defined in PrivateClass",
"visibility": "internal",
"class": "PrivateClass$InnerInternal",
"members": [
{"visibility": "public", "declaration": "constructor InnerInternal()", "name": "<init>", "desc": "(LPrivateClass;)V"},
{"name": "this$0", "desc": "LPrivateClass;"}
]
},
{
"declaration": "final inner class InnerProtected defined in PrivateClass",
"visibility": "protected",
"class": "PrivateClass$InnerProtected",
"members": [
{"visibility": "public", "declaration": "constructor InnerProtected()", "name": "<init>", "desc": "(LPrivateClass;)V"},
{"name": "this$0", "desc": "LPrivateClass;"}
]
},
{
"declaration": "final inner class InnerPrivate defined in PrivateClass",
"visibility": "private",
"class": "PrivateClass$InnerPrivate",
"members": [
{"visibility": "public", "declaration": "constructor InnerPrivate()", "name": "<init>", "desc": "(LPrivateClass;)V"},
{"name": "this$0", "desc": "LPrivateClass;"}
]
},
{
"declaration": "companion object defined in PrivateClass",
"visibility": "public",
"class": "PrivateClass$Companion",
"members": [
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "()V"},
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"}
]
},
{
"declaration": "final class PrivateClass defined in root package",
"visibility": "private",
"class": "PrivateClass",
"members": [
{"visibility": "public", "declaration": "constructor PrivateClass()", "name": "<init>", "desc": "()V"},
{"visibility": "private", "declaration": "final class PrivateClass", "name": "<clinit>", "desc": "()V"},
{"name": "Companion", "desc": "LPrivateClass$Companion;"}
]
},
{
"declaration": "companion object defined in PrivateClassInternalCompanion",
"visibility": "internal",
"class": "PrivateClassInternalCompanion$Companion",
"members": [
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "()V"},
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"}
]
},
{
"declaration": "final class PrivateClassInternalCompanion defined in root package",
"visibility": "private",
"class": "PrivateClassInternalCompanion",
"members": [
{"visibility": "public", "declaration": "constructor PrivateClassInternalCompanion()", "name": "<init>", "desc": "()V"},
{"visibility": "private", "declaration": "final class PrivateClassInternalCompanion", "name": "<clinit>", "desc": "()V"},
{"name": "Companion", "desc": "LPrivateClassInternalCompanion$Companion;"}
]
},
{
"declaration": "companion object defined in PrivateClassPrivateCompanion",
"visibility": "private",
"class": "PrivateClassPrivateCompanion$Companion",
"members": [
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "()V"},
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"}
]
},
{
"declaration": "final class PrivateClassPrivateCompanion defined in root package",
"visibility": "private",
"class": "PrivateClassPrivateCompanion",
"members": [
{"visibility": "public", "declaration": "constructor PrivateClassPrivateCompanion()", "name": "<init>", "desc": "()V"},
{"visibility": "private", "declaration": "final class PrivateClassPrivateCompanion", "name": "<clinit>", "desc": "()V"},
{"name": "Companion", "desc": "LPrivateClassPrivateCompanion$Companion;"}
]
}
]
+58
View File
@@ -0,0 +1,58 @@
public class PublicClass {
companion object {}
public object ObjPublic
internal object ObjInternal
protected object ObjProtected
private object ObjPrivate
public class NestedPublic
internal class NestedInternal
protected class NestedProtected
private class NestedPrivate
public inner class InnerPublic
internal inner class InnerInternal
protected inner class InnerProtected
private inner class InnerPrivate
}
internal class InternalClass {
companion object {}
}
internal class InternalClassInternalCompanion {
internal companion object {}
}
internal class InternalClassPrivateCompanion {
private companion object {}
}
private class PrivateClass {
companion object {}
public object ObjPublic
internal object ObjInternal
protected object ObjProtected
private object ObjPrivate
public class NestedPublic
internal class NestedInternal
protected class NestedProtected
private class NestedPrivate
public inner class InnerPublic
internal inner class InnerInternal
protected inner class InnerProtected
private inner class InnerPrivate
}
private class PrivateClassInternalCompanion {
internal companion object
}
private class PrivateClassPrivateCompanion {
private companion object
}
@@ -0,0 +1,204 @@
[
{
"declaration": "object ObjPublic defined in PublicInterface",
"visibility": "public",
"class": "PublicInterface$ObjPublic",
"members": [
{"visibility": "private", "declaration": "constructor ObjPublic()", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LPublicInterface$ObjPublic;"},
{"visibility": "public", "declaration": "object ObjPublic", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "object ObjPrivate defined in PublicInterface",
"visibility": "private",
"class": "PublicInterface$ObjPrivate",
"members": [
{"visibility": "private", "declaration": "constructor ObjPrivate()", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LPublicInterface$ObjPrivate;"},
{"visibility": "private", "declaration": "object ObjPrivate", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "final class NestedPublic defined in PublicInterface",
"visibility": "public",
"class": "PublicInterface$NestedPublic",
"members": [
{"visibility": "public", "declaration": "constructor NestedPublic()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final class NestedPrivate defined in PublicInterface",
"visibility": "private",
"class": "PublicInterface$NestedPrivate",
"members": [
{"visibility": "public", "declaration": "constructor NestedPrivate()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "interface PublicInterface defined in root package",
"visibility": "public",
"class": "PublicInterface$DefaultImpls",
"members": [
]
},
{
"declaration": "companion object defined in PublicInterface",
"visibility": "public",
"class": "PublicInterface$Companion",
"members": [
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "()V"},
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"}
]
},
{
"declaration": "interface PublicInterface defined in root package",
"visibility": "public",
"class": "PublicInterface",
"members": [
{"visibility": "public", "declaration": "interface PublicInterface", "name": "<clinit>", "desc": "()V"},
{"name": "Companion", "desc": "LPublicInterface$Companion;"}
]
},
{
"declaration": "interface InternalInterface defined in root package",
"visibility": "internal",
"class": "InternalInterface$DefaultImpls",
"members": [
]
},
{
"declaration": "companion object defined in InternalInterface",
"visibility": "public",
"class": "InternalInterface$Companion",
"members": [
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "()V"},
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"}
]
},
{
"declaration": "interface InternalInterface defined in root package",
"visibility": "internal",
"class": "InternalInterface",
"members": [
{"visibility": "internal", "declaration": "interface InternalInterface", "name": "<clinit>", "desc": "()V"},
{"name": "Companion", "desc": "LInternalInterface$Companion;"}
]
},
{
"declaration": "interface InternalInterfacePrivateCompanion defined in root package",
"visibility": "internal",
"class": "InternalInterfacePrivateCompanion$DefaultImpls",
"members": [
]
},
{
"declaration": "companion object defined in InternalInterfacePrivateCompanion",
"visibility": "private",
"class": "InternalInterfacePrivateCompanion$Companion",
"members": [
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "()V"},
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"}
]
},
{
"declaration": "interface InternalInterfacePrivateCompanion defined in root package",
"visibility": "internal",
"class": "InternalInterfacePrivateCompanion",
"members": [
{"visibility": "internal", "declaration": "interface InternalInterfacePrivateCompanion", "name": "<clinit>", "desc": "()V"},
{"name": "Companion", "desc": "LInternalInterfacePrivateCompanion$Companion;"}
]
},
{
"declaration": "object ObjPublic defined in PrivateInterface",
"visibility": "public",
"class": "PrivateInterface$ObjPublic",
"members": [
{"visibility": "private", "declaration": "constructor ObjPublic()", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LPrivateInterface$ObjPublic;"},
{"visibility": "public", "declaration": "object ObjPublic", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "object ObjPrivate defined in PrivateInterface",
"visibility": "private",
"class": "PrivateInterface$ObjPrivate",
"members": [
{"visibility": "private", "declaration": "constructor ObjPrivate()", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LPrivateInterface$ObjPrivate;"},
{"visibility": "private", "declaration": "object ObjPrivate", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "final class NestedPublic defined in PrivateInterface",
"visibility": "public",
"class": "PrivateInterface$NestedPublic",
"members": [
{"visibility": "public", "declaration": "constructor NestedPublic()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final class NestedPrivate defined in PrivateInterface",
"visibility": "private",
"class": "PrivateInterface$NestedPrivate",
"members": [
{"visibility": "public", "declaration": "constructor NestedPrivate()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "interface PrivateInterface defined in root package",
"visibility": "private",
"class": "PrivateInterface$DefaultImpls",
"members": [
]
},
{
"declaration": "companion object defined in PrivateInterface",
"visibility": "public",
"class": "PrivateInterface$Companion",
"members": [
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "()V"},
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"}
]
},
{
"declaration": "interface PrivateInterface defined in root package",
"visibility": "private",
"class": "PrivateInterface",
"members": [
{"visibility": "private", "declaration": "interface PrivateInterface", "name": "<clinit>", "desc": "()V"},
{"name": "Companion", "desc": "LPrivateInterface$Companion;"}
]
},
{
"declaration": "interface PrivateInterfacePrivateCompanion defined in root package",
"visibility": "private",
"class": "PrivateInterfacePrivateCompanion$DefaultImpls",
"members": [
]
},
{
"declaration": "companion object defined in PrivateInterfacePrivateCompanion",
"visibility": "private",
"class": "PrivateInterfacePrivateCompanion$Companion",
"members": [
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "()V"},
{"visibility": "private", "declaration": "constructor Companion()", "name": "<init>", "desc": "(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"}
]
},
{
"declaration": "interface PrivateInterfacePrivateCompanion defined in root package",
"visibility": "private",
"class": "PrivateInterfacePrivateCompanion",
"members": [
{"visibility": "private", "declaration": "interface PrivateInterfacePrivateCompanion", "name": "<clinit>", "desc": "()V"},
{"name": "Companion", "desc": "LPrivateInterfacePrivateCompanion$Companion;"}
]
}
]
@@ -0,0 +1,32 @@
public interface PublicInterface {
companion object {}
public object ObjPublic
private object ObjPrivate
public class NestedPublic
private class NestedPrivate
}
internal interface InternalInterface {
companion object {}
}
internal interface InternalInterfacePrivateCompanion {
private companion object {}
}
private interface PrivateInterface {
companion object {}
public object ObjPublic
private object ObjPrivate
public class NestedPublic
private class NestedPrivate
}
private interface PrivateInterfacePrivateCompanion {
private companion object
}
@@ -0,0 +1,89 @@
[
{
"declaration": "final inner class C defined in A.a.B",
"visibility": "local",
"class": "A$a$B$C",
"members": [
{"visibility": "public", "declaration": "constructor C()", "name": "<init>", "desc": "(LA$a$B;)V"},
{"name": "this$0", "desc": "LA$a$B;"}
]
},
{
"declaration": "final class B defined in A.a",
"visibility": "local",
"class": "A$a$B",
"members": [
{"visibility": "public", "declaration": "final fun s(): kotlin.String", "name": "s", "desc": "()Ljava/lang/String;"},
{"visibility": "public", "declaration": "constructor B()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final class A defined in root package",
"visibility": "public",
"class": "A",
"members": [
{"visibility": "public", "declaration": "final fun a(): kotlin.String", "name": "a", "desc": "()Ljava/lang/String;"},
{"visibility": "public", "declaration": "constructor A()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final class B defined in B.a",
"visibility": "local",
"class": "B$a$B",
"members": [
{"visibility": "public", "declaration": "final fun s(): kotlin.String", "name": "s", "desc": "()Ljava/lang/String;"},
{"visibility": "public", "declaration": "constructor B()", "name": "<init>", "desc": "(Ljava/lang/String;)V"},
{"name": "$p", "desc": "Ljava/lang/String;"}
]
},
{
"declaration": "final class B defined in root package",
"visibility": "public",
"class": "B",
"members": [
{"visibility": "public", "declaration": "final fun a(p: kotlin.String): kotlin.String", "name": "a", "desc": "(Ljava/lang/String;)Ljava/lang/String;"},
{"visibility": "public", "declaration": "constructor B()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final fun <anonymous>(): kotlin.Unit defined in L.b",
"visibility": "local",
"class": "L$b$1",
"members": [
{"visibility": "local", "declaration": "final fun <anonymous>(): kotlin.Unit", "name": "invoke", "desc": "()Ljava/lang/Object;"},
{"visibility": "local", "declaration": "final fun <anonymous>(): kotlin.Unit", "name": "invoke", "desc": "()V"},
{"visibility": "local", "declaration": "final fun <anonymous>(): kotlin.Unit", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LL$b$1;"},
{"visibility": "public", "declaration": "final class <closure-L$b$1> : kotlin.jvm.internal.Lambda, () -> kotlin.Unit", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "final class L defined in root package",
"visibility": "public",
"class": "L",
"members": [
{"visibility": "public", "declaration": "final fun a(lambda: () -> kotlin.Unit): kotlin.Unit", "name": "a", "desc": "(Lkotlin/jvm/functions/Function0;)V"},
{"visibility": "public", "declaration": "final inline fun b(): kotlin.Unit", "name": "b", "desc": "()V"},
{"visibility": "public", "declaration": "constructor L()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "final fun <anonymous>(): kotlin.Unit defined in L.b",
"visibility": "local",
"class": "L$b$1",
"members": [
{"visibility": "local", "declaration": "final fun <anonymous>(): kotlin.Unit", "name": "invoke", "desc": "()Ljava/lang/Object;"},
{"visibility": "local", "declaration": "final fun <anonymous>(): kotlin.Unit", "name": "invoke", "desc": "()V"},
{"visibility": "local", "declaration": "final fun <anonymous>(): kotlin.Unit", "name": "<init>", "desc": "()V"},
{"name": "INSTANCE", "desc": "LL$b$1;"},
{"visibility": "public", "declaration": "final class <closure-L$b$1> : kotlin.jvm.internal.Lambda, () -> kotlin.Unit", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "package-fragment ",
"class": "Part2Kt",
"members": [
{"visibility": "public", "declaration": "fun box(): kotlin.Unit", "name": "box", "desc": "()V"}
]
}
]
@@ -0,0 +1,38 @@
// FILE: Part1.kt
class A {
fun a() : String {
class B() {
fun s() : String = "OK"
inner class C {}
}
return B().s()
}
}
class B {
fun a(p: String) : String {
class B() {
fun s() : String = p
}
return B().s()
}
}
class L {
fun a(lambda: () -> Unit) = lambda()
inline fun b() {
a {
println("OK")
}
}
}
// FILE: Part2.kt
fun box() {
L().b()
}
@@ -0,0 +1,57 @@
[
{
"declaration": "package-fragment ",
"class": "MultifileFacade__Part1Kt",
"members": [
{"visibility": "public", "declaration": "val publicVal: kotlin.Int", "name": "publicVal", "desc": "I"},
{"visibility": "public", "declaration": "fun <get-publicVal>(): kotlin.Int", "name": "getPublicVal", "desc": "()I"},
{"visibility": "public", "declaration": "var publicVar: kotlin.Int", "name": "publicVar", "desc": "I"},
{"visibility": "public", "declaration": "fun <get-publicVar>(): kotlin.Int", "name": "getPublicVar", "desc": "()I"},
{"visibility": "public", "declaration": "fun <set-publicVar>(<set-?>: kotlin.Int): kotlin.Unit", "name": "setPublicVar", "desc": "(I)V"},
{"visibility": "internal", "declaration": "val internalVal: kotlin.Long", "name": "internalVal", "desc": "J"},
{"visibility": "internal", "declaration": "fun <get-internalVal>(): kotlin.Long", "name": "getInternalVal", "desc": "()J"},
{"visibility": "internal", "declaration": "var internalVar: kotlin.Long", "name": "internalVar", "desc": "J"},
{"visibility": "internal", "declaration": "fun <get-internalVar>(): kotlin.Long", "name": "getInternalVar", "desc": "()J"},
{"visibility": "internal", "declaration": "fun <set-internalVar>(<set-?>: kotlin.Long): kotlin.Unit", "name": "setInternalVar", "desc": "(J)V"},
{"visibility": "private", "declaration": "val privateVal: kotlin.Any?", "name": "privateVal", "desc": "Ljava/lang/Object;"},
{"visibility": "private", "declaration": "var privateVar: kotlin.Any?", "name": "privateVar", "desc": "Ljava/lang/Object;"},
{"declaration": "package-fragment ", "name": "<clinit>", "desc": "()V"}
]
},
{
"declaration": "final class PrivateClass defined in root package",
"visibility": "private",
"class": "PrivateClass",
"members": [
{"visibility": "internal", "declaration": "final fun accessUsage(): kotlin.Unit", "name": "accessUsage$java_integration_test", "desc": "()V"},
{"visibility": "public", "declaration": "constructor PrivateClass()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "package-fragment ",
"class": "MultifileFacade__Part2Kt",
"members": [
{"visibility": "public", "declaration": "fun publicFun(): kotlin.Unit", "name": "publicFun", "desc": "()V"},
{"visibility": "internal", "declaration": "fun internalFun(param1: kotlin.Int): kotlin.Unit", "name": "internalFun", "desc": "(I)V"},
{"visibility": "private", "declaration": "fun privateFun(x: kotlin.Any): kotlin.Unit", "name": "privateFun", "desc": "(Ljava/lang/Object;)V"},
{"visibility": "private", "declaration": "fun privateFun(x: kotlin.Any): kotlin.Unit", "name": "access$privateFun", "desc": "(Ljava/lang/Object;)V"},
{"visibility": "private", "declaration": "fun <get-privateConst>(): kotlin.Int", "name": "access$getPrivateConst$p", "desc": "()I"}
]
},
{
"declaration": "package-fragment ",
"class": "MultifileFacade",
"members": [
{"visibility": "internal", "declaration": "const val internalConst: kotlin.Int", "name": "internalConst", "desc": "I"},
{"visibility": "internal", "declaration": "fun <get-internalVal>(): kotlin.Long", "name": "getInternalVal", "desc": "()J"},
{"visibility": "internal", "declaration": "fun <get-internalVar>(): kotlin.Long", "name": "getInternalVar", "desc": "()J"},
{"visibility": "internal", "declaration": "fun <set-internalVar>(<set-?>: kotlin.Long): kotlin.Unit", "name": "setInternalVar", "desc": "(J)V"},
{"visibility": "public", "declaration": "const val publicConst: kotlin.Int", "name": "publicConst", "desc": "I"},
{"visibility": "public", "declaration": "fun <get-publicVal>(): kotlin.Int", "name": "getPublicVal", "desc": "()I"},
{"visibility": "public", "declaration": "fun <get-publicVar>(): kotlin.Int", "name": "getPublicVar", "desc": "()I"},
{"visibility": "public", "declaration": "fun <set-publicVar>(<set-?>: kotlin.Int): kotlin.Unit", "name": "setPublicVar", "desc": "(I)V"},
{"visibility": "internal", "declaration": "fun internalFun(param1: kotlin.Int): kotlin.Unit", "name": "internalFun", "desc": "(I)V"},
{"visibility": "public", "declaration": "fun publicFun(): kotlin.Unit", "name": "publicFun", "desc": "()V"}
]
}
]
@@ -0,0 +1,42 @@
// FILE: Part1.kt
@file:kotlin.jvm.JvmMultifileClass
@file:kotlin.jvm.JvmName("MultifileFacade")
// properties
public val publicVal: Int = 1
public var publicVar: Int = 1
internal val internalVal: Long = 1
internal var internalVar: Long = 1
private val privateVal: Any? = 1
private var privateVar: Any? = 1
//// fields
//@JvmField public val publicValField: Int = 1
//@JvmField public var publicVarField: Int = 1
//@JvmField internal val internalValField: Long = 1
//@JvmField internal var internalVarField: Long = 1
// FILE: Part2.kt
@file:kotlin.jvm.JvmMultifileClass
@file:kotlin.jvm.JvmName("MultifileFacade")
// constants
public const val publicConst: Int = 2
internal const val internalConst: Int = 3
private const val privateConst: Int = 4
// fun
public fun publicFun() {}
internal fun internalFun(param1: Int) {}
private fun privateFun(x: Any) {}
private class PrivateClass {
internal fun accessUsage() {
privateFun(privateConst)
}
}
@@ -0,0 +1,49 @@
[
{
"declaration": "final class PrivateClass defined in root package",
"visibility": "private",
"class": "PrivateClass",
"members": [
{"visibility": "internal", "declaration": "final fun accessUsage(): kotlin.Unit", "name": "accessUsage$java_integration_test", "desc": "()V"},
{"visibility": "public", "declaration": "constructor PrivateClass()", "name": "<init>", "desc": "()V"}
]
},
{
"declaration": "package-fragment ",
"class": "TopLevelMembersKt",
"members": [
{"visibility": "public", "declaration": "val publicVal: kotlin.Int", "name": "publicVal", "desc": "I"},
{"visibility": "public", "declaration": "fun <get-publicVal>(): kotlin.Int", "name": "getPublicVal", "desc": "()I"},
{"visibility": "public", "declaration": "var publicVar: kotlin.Int", "name": "publicVar", "desc": "I"},
{"visibility": "public", "declaration": "fun <get-publicVar>(): kotlin.Int", "name": "getPublicVar", "desc": "()I"},
{"visibility": "public", "declaration": "fun <set-publicVar>(<set-?>: kotlin.Int): kotlin.Unit", "name": "setPublicVar", "desc": "(I)V"},
{"visibility": "internal", "declaration": "val internalVal: kotlin.Long", "name": "internalVal", "desc": "J"},
{"visibility": "internal", "declaration": "fun <get-internalVal>(): kotlin.Long", "name": "getInternalVal", "desc": "()J"},
{"visibility": "internal", "declaration": "var internalVar: kotlin.Long", "name": "internalVar", "desc": "J"},
{"visibility": "internal", "declaration": "fun <get-internalVar>(): kotlin.Long", "name": "getInternalVar", "desc": "()J"},
{"visibility": "internal", "declaration": "fun <set-internalVar>(<set-?>: kotlin.Long): kotlin.Unit", "name": "setInternalVar", "desc": "(J)V"},
{"visibility": "private", "declaration": "val privateVal: kotlin.Any?", "name": "privateVal", "desc": "Ljava/lang/Object;"},
{"visibility": "private", "declaration": "var privateVar: kotlin.Any?", "name": "privateVar", "desc": "Ljava/lang/Object;"},
{"visibility": "public", "declaration": "val publicValField: kotlin.Int", "name": "publicValField", "desc": "I"},
{"visibility": "public", "declaration": "var publicVarField: kotlin.Int", "name": "publicVarField", "desc": "I"},
{"visibility": "internal", "declaration": "val internalValField: kotlin.Long", "name": "internalValField", "desc": "J"},
{"visibility": "internal", "declaration": "var internalVarField: kotlin.Long", "name": "internalVarField", "desc": "J"},
{"visibility": "public", "declaration": "const val publicConst: kotlin.Int", "name": "publicConst", "desc": "I"},
{"visibility": "internal", "declaration": "const val internalConst: kotlin.Int", "name": "internalConst", "desc": "I"},
{"visibility": "private", "declaration": "const val privateConst: kotlin.Int", "name": "privateConst", "desc": "I"},
{"visibility": "public", "declaration": "fun publicFun(): kotlin.Unit", "name": "publicFun", "desc": "()V"},
{"visibility": "internal", "declaration": "fun internalFun(param1: kotlin.Int): kotlin.Unit", "name": "internalFun", "desc": "(I)V"},
{"visibility": "private", "declaration": "fun privateFun(x: kotlin.Any?): kotlin.Unit", "name": "privateFun", "desc": "(Ljava/lang/Object;)V"},
{"visibility": "internal", "declaration": "fun internalOverloads(a: kotlin.String = ..., b: kotlin.Long? = ...): kotlin.Unit", "name": "internalOverloads", "desc": "(Ljava/lang/String;Ljava/lang/Long;)V"},
{"visibility": "internal", "declaration": "fun internalOverloads(a: kotlin.String = ..., b: kotlin.Long? = ...): kotlin.Unit", "name": "internalOverloads$default", "desc": "(Ljava/lang/String;Ljava/lang/Long;ILjava/lang/Object;)V"},
{"visibility": "internal", "declaration": "fun internalOverloads(a: kotlin.String = ..., b: kotlin.Long? = ...): kotlin.Unit", "name": "internalOverloads", "desc": "(Ljava/lang/String;)V"},
{"visibility": "internal", "declaration": "fun internalOverloads(a: kotlin.String = ..., b: kotlin.Long? = ...): kotlin.Unit", "name": "internalOverloads", "desc": "()V"},
{"declaration": "package-fragment ", "name": "<clinit>", "desc": "()V"},
{"visibility": "private", "declaration": "fun privateFun(x: kotlin.Any?): kotlin.Unit", "name": "access$privateFun", "desc": "(Ljava/lang/Object;)V"},
{"visibility": "private", "declaration": "fun <get-privateVal>(): kotlin.Any?", "name": "access$getPrivateVal$p", "desc": "()Ljava/lang/Object;"},
{"visibility": "private", "declaration": "fun <get-privateVar>(): kotlin.Any?", "name": "access$getPrivateVar$p", "desc": "()Ljava/lang/Object;"},
{"visibility": "private", "declaration": "fun <set-privateVar>(<set-?>: kotlin.Any?): kotlin.Unit", "name": "access$setPrivateVar$p", "desc": "(Ljava/lang/Object;)V"},
{"visibility": "private", "declaration": "fun <get-privateConst>(): kotlin.Int", "name": "access$getPrivateConst$p", "desc": "()I"}
]
}
]
@@ -0,0 +1,39 @@
// properties
public val publicVal: Int = 1
public var publicVar: Int = 1
internal val internalVal: Long = 1
internal var internalVar: Long = 1
private val privateVal: Any? = 1
private var privateVar: Any? = 1
// fields
@JvmField public val publicValField: Int = 1
@JvmField public var publicVarField: Int = 1
@JvmField internal val internalValField: Long = 1
@JvmField internal var internalVarField: Long = 1
// constants
public const val publicConst: Int = 2
internal const val internalConst: Int = 3
private const val privateConst: Int = 4
// fun
public fun publicFun() {}
internal fun internalFun(param1: Int) {}
private fun privateFun(x: Any?) {}
@JvmOverloads
internal fun internalOverloads(a: String = "", b: Long? = null) {}
private class PrivateClass {
internal fun accessUsage() {
privateFun(privateVal)
privateFun(privateVar)
privateFun(privateConst)
}
}