FIR: add class type parameters to constructors & change their rendering
This commit is contained in:
@@ -104,12 +104,13 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) {
|
||||
convert()
|
||||
|
||||
private fun KtDeclaration.toFirDeclaration(
|
||||
delegatedSuperType: FirTypeRef?, delegatedSelfType: FirTypeRef, hasPrimaryConstructor: Boolean
|
||||
delegatedSuperType: FirTypeRef?, delegatedSelfType: FirTypeRef, owner: KtClassOrObject, hasPrimaryConstructor: Boolean
|
||||
): FirDeclaration {
|
||||
return when (this) {
|
||||
is KtSecondaryConstructor -> toFirConstructor(
|
||||
delegatedSuperType,
|
||||
delegatedSelfType,
|
||||
owner,
|
||||
hasPrimaryConstructor
|
||||
)
|
||||
else -> convert<FirDeclaration>()
|
||||
@@ -402,6 +403,7 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) {
|
||||
firDelegatedCall
|
||||
)
|
||||
this?.extractAnnotationsTo(firConstructor)
|
||||
owner.extractTypeParametersTo(firConstructor)
|
||||
this?.extractValueParametersTo(firConstructor)
|
||||
return firConstructor
|
||||
}
|
||||
@@ -464,7 +466,7 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) {
|
||||
val delegatedSuperType = enumEntry.extractSuperTypeListEntriesTo(firEnumEntry, delegatedSelfType)
|
||||
for (declaration in enumEntry.declarations) {
|
||||
firEnumEntry.declarations += declaration.toFirDeclaration(
|
||||
delegatedSuperType, delegatedSelfType, hasPrimaryConstructor = true
|
||||
delegatedSuperType, delegatedSelfType, enumEntry, hasPrimaryConstructor = true
|
||||
)
|
||||
}
|
||||
firEnumEntry
|
||||
@@ -537,7 +539,7 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) {
|
||||
|
||||
for (declaration in classOrObject.declarations) {
|
||||
firClass.declarations += declaration.toFirDeclaration(
|
||||
delegatedSuperType, delegatedSelfType, hasPrimaryConstructor = primaryConstructor != null
|
||||
delegatedSuperType, delegatedSelfType, classOrObject, hasPrimaryConstructor = primaryConstructor != null
|
||||
)
|
||||
}
|
||||
|
||||
@@ -554,7 +556,8 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) {
|
||||
|
||||
for (declaration in objectDeclaration.declarations) {
|
||||
declarations += declaration.toFirDeclaration(
|
||||
delegatedSuperType = null, delegatedSelfType = delegatedSelfType, hasPrimaryConstructor = false
|
||||
delegatedSuperType = null, delegatedSelfType = delegatedSelfType,
|
||||
owner = objectDeclaration, hasPrimaryConstructor = false
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -687,6 +690,7 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) {
|
||||
private fun KtSecondaryConstructor.toFirConstructor(
|
||||
delegatedSuperTypeRef: FirTypeRef?,
|
||||
delegatedSelfTypeRef: FirTypeRef,
|
||||
owner: KtClassOrObject,
|
||||
hasPrimaryConstructor: Boolean
|
||||
): FirConstructor {
|
||||
val firConstructor = FirConstructorImpl(
|
||||
@@ -701,6 +705,7 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) {
|
||||
)
|
||||
firFunctions += firConstructor
|
||||
extractAnnotationsTo(firConstructor)
|
||||
owner.extractTypeParametersTo(firConstructor)
|
||||
extractValueParametersTo(firConstructor)
|
||||
firConstructor.body = buildFirBody()
|
||||
firFunctions.removeLast()
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
FILE: F.kt
|
||||
public? open class A : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|A| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
public? final? class B : A {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|B| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+12
-4
@@ -1,19 +1,27 @@
|
||||
FILE: NestedOfAliasedType.kt
|
||||
public? abstract class A : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|A| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? abstract class Nested : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|A.Nested| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
public? final typealias TA = A
|
||||
public? final? class B : TA {
|
||||
public? constructor(): super<TA>()
|
||||
public? constructor(): R|B| {
|
||||
super<TA>()
|
||||
}
|
||||
|
||||
public? final? class NestedInB : Nested {
|
||||
public? constructor(): super<Nested>()
|
||||
public? constructor(): R|B.NestedInB| {
|
||||
super<Nested>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,18 @@
|
||||
FILE: NestedSuperType.kt
|
||||
public? abstract class My : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|p/My| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? abstract class NestedOne : My {
|
||||
public? constructor(): super<My>()
|
||||
public? constructor(): R|p/My.NestedOne| {
|
||||
super<My>()
|
||||
}
|
||||
|
||||
public? abstract class NestedTwo : NestedOne {
|
||||
public? constructor(): super<NestedOne>()
|
||||
public? constructor(): R|p/My.NestedOne.NestedTwo| {
|
||||
super<NestedOne>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -14,10 +20,14 @@ FILE: NestedSuperType.kt
|
||||
|
||||
}
|
||||
public? final? class Your : My {
|
||||
public? constructor(): super<My>()
|
||||
public? constructor(): R|p/Your| {
|
||||
super<My>()
|
||||
}
|
||||
|
||||
public? final? class NestedThree : NestedOne {
|
||||
public? constructor(): super<NestedOne>()
|
||||
public? constructor(): R|p/Your.NestedThree| {
|
||||
super<NestedOne>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
FILE: complexTypes.kt
|
||||
<T, out S> public? final? class C : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor<T, out S>(): R|a/b/C<T, S>| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
<R, in P> public? final? inner class D : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor<R, in P>(): R|a/b/C.D<R, P>| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
FILE: derivedClass.kt
|
||||
<T> public? open class Base : kotlin/Any {
|
||||
public? constructor(x: T): super<kotlin/Any>()
|
||||
public? constructor<T>(x: T): R|Base<T>| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? final? val x: T = R|<local>/x|
|
||||
public? get(): T
|
||||
|
||||
}
|
||||
<T : Any> public? final? class Derived : Base<T> {
|
||||
public? constructor(x: T): super<Base<T>>(x#)
|
||||
public? constructor<T : Any>(x: T): R|Derived<T>| {
|
||||
super<Base<T>>(x#)
|
||||
}
|
||||
|
||||
}
|
||||
<T : Any> public? final? fun create(x: T): Derived<T> {
|
||||
|
||||
@@ -1,25 +1,35 @@
|
||||
FILE: enums.kt
|
||||
public? final? enum class Order : kotlin/Enum {
|
||||
private constructor(): super<kotlin/Enum>()
|
||||
private constructor(): R|Order| {
|
||||
super<kotlin/Enum>()
|
||||
}
|
||||
|
||||
public? final enum entry FIRST : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|Order.FIRST| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public? final enum entry SECOND : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|Order.SECOND| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public? final enum entry THIRD : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|Order.THIRD| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
public? final? enum class Planet : kotlin/Enum {
|
||||
public? constructor(m: Double, r: Double): super<kotlin/Enum>()
|
||||
public? constructor(m: Double, r: Double): R|Planet| {
|
||||
super<kotlin/Enum>()
|
||||
}
|
||||
|
||||
public? final? val m: Double = R|<local>/m|
|
||||
public? get(): Double
|
||||
@@ -28,7 +38,9 @@ FILE: enums.kt
|
||||
internal get(): Double
|
||||
|
||||
public? final enum entry MERCURY : Planet {
|
||||
public? constructor(): super<Planet>(Double(1.0), Double(2.0))
|
||||
public? constructor(): R|Planet.MERCURY| {
|
||||
super<Planet>(Double(1.0), Double(2.0))
|
||||
}
|
||||
|
||||
public? open? override fun sayHello(): kotlin/Unit {
|
||||
println#(String(Hello!!!))
|
||||
@@ -37,7 +49,9 @@ FILE: enums.kt
|
||||
}
|
||||
|
||||
public? final enum entry VENERA : Planet {
|
||||
public? constructor(): super<Planet>(Double(3.0), Double(4.0))
|
||||
public? constructor(): R|Planet.VENERA| {
|
||||
super<Planet>(Double(3.0), Double(4.0))
|
||||
}
|
||||
|
||||
public? open? override fun sayHello(): kotlin/Unit {
|
||||
println#(String(Ola!!!))
|
||||
@@ -46,7 +60,9 @@ FILE: enums.kt
|
||||
}
|
||||
|
||||
public? final enum entry EARTH : Planet {
|
||||
public? constructor(): super<Planet>(Double(5.0), Double(6.0))
|
||||
public? constructor(): R|Planet.EARTH| {
|
||||
super<Planet>(Double(5.0), Double(6.0))
|
||||
}
|
||||
|
||||
public? open? override fun sayHello(): kotlin/Unit {
|
||||
println#(String(Privet!!!))
|
||||
@@ -60,7 +76,9 @@ FILE: enums.kt
|
||||
public? abstract fun sayHello(): kotlin/Unit
|
||||
|
||||
public? final? companion object Companion : kotlin/Any {
|
||||
private constructor(): super<kotlin/Any>()
|
||||
private constructor(): R|Planet.Companion| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? final? const val G: <implicit> = Double(6.67E-11)
|
||||
public? get(): <implicit>
|
||||
|
||||
@@ -2,21 +2,29 @@ FILE: enums2.kt
|
||||
public? final? interface Some : kotlin/Any {
|
||||
}
|
||||
public? final? object O1 : Some {
|
||||
private constructor(): super<kotlin/Any>()
|
||||
private constructor(): R|O1| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
public? final? object O2 : Some {
|
||||
private constructor(): super<kotlin/Any>()
|
||||
private constructor(): R|O2| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
public? final? enum class SomeEnum : kotlin/Enum {
|
||||
public? constructor(x: Some): super<kotlin/Enum>()
|
||||
public? constructor(x: Some): R|SomeEnum| {
|
||||
super<kotlin/Enum>()
|
||||
}
|
||||
|
||||
public? final? val x: Some = R|<local>/x|
|
||||
public? get(): Some
|
||||
|
||||
public? final enum entry FIRST : SomeEnum {
|
||||
public? constructor(): super<SomeEnum>(O1#)
|
||||
public? constructor(): R|SomeEnum.FIRST| {
|
||||
super<SomeEnum>(O1#)
|
||||
}
|
||||
|
||||
public? open? override fun check(y: Some): Boolean {
|
||||
^check Boolean(true)
|
||||
@@ -25,7 +33,9 @@ FILE: enums2.kt
|
||||
}
|
||||
|
||||
public? final enum entry SECOND : SomeEnum {
|
||||
public? constructor(): super<SomeEnum>(O2#)
|
||||
public? constructor(): R|SomeEnum.SECOND| {
|
||||
super<SomeEnum>(O2#)
|
||||
}
|
||||
|
||||
public? open? override fun check(y: Some): Boolean {
|
||||
^check ==(y#, O2#)
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
FILE: expectActual.kt
|
||||
public? final? expect class MyClass : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|MyClass| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
public? final? expect fun foo(): String
|
||||
public? final? expect val x: Int
|
||||
public? get(): Int
|
||||
public? final? actual class MyClass : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|MyClass| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
public? final? actual fun foo(): <implicit> {
|
||||
|
||||
@@ -5,7 +5,9 @@ FILE: genericFunctions.kt
|
||||
^safeAs (this# as? T)
|
||||
}
|
||||
public? abstract class Summator : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|Summator| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
<T> public? abstract fun plus(first: T, second: T): T
|
||||
|
||||
|
||||
@@ -1,21 +1,29 @@
|
||||
FILE: nestedClass.kt
|
||||
public? abstract class Base : kotlin/Any {
|
||||
public? constructor(s: String): super<kotlin/Any>()
|
||||
public? constructor(s: String): R|Base| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? final? val s: String = R|<local>/s|
|
||||
public? get(): String
|
||||
|
||||
}
|
||||
public? final? class Outer : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|Outer| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? final? class Derived : Base {
|
||||
public? constructor(s: String): super<Base>(s#)
|
||||
public? constructor(s: String): R|Outer.Derived| {
|
||||
super<Base>(s#)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public? final? object Obj : Base {
|
||||
private constructor(): super<Base>(String())
|
||||
private constructor(): R|Outer.Obj| {
|
||||
super<Base>(String())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
+5
-2
@@ -3,10 +3,13 @@ FILE: noPrimaryConstructor.kt
|
||||
public? final? val x: String
|
||||
public? get(): String
|
||||
|
||||
public? constructor(x: String): super<kotlin/Any>() {
|
||||
public? constructor(x: String): R|NoPrimary| {
|
||||
super<kotlin/Any>()
|
||||
this#.x# = x#
|
||||
}
|
||||
|
||||
public? constructor(): this<R|NoPrimary|>(String())
|
||||
public? constructor(): R|NoPrimary| {
|
||||
this<R|NoPrimary|>(String())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -7,7 +7,9 @@ FILE: simpleClass.kt
|
||||
|
||||
}
|
||||
public? final? class SomeClass : SomeInterface {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|SomeClass| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
private final? val baz: <implicit> = Int(42)
|
||||
private get(): <implicit>
|
||||
@@ -29,6 +31,8 @@ FILE: simpleClass.kt
|
||||
|
||||
}
|
||||
public? final? inline class InlineClass : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|InlineClass| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@ FILE: simpleTypeAlias.kt
|
||||
}
|
||||
public? final typealias C = B
|
||||
public? final? class D : C {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|D| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+6
-2
@@ -1,12 +1,16 @@
|
||||
FILE: typeAliasWithGeneric.kt
|
||||
public? open class A : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|A| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
<S, T : A> public? final? interface B : kotlin/Any {
|
||||
}
|
||||
<T> public? final typealias C = B<T, A>
|
||||
public? final? class D : C<A> {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|D| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+9
-3
@@ -2,10 +2,14 @@ FILE: typeParameterVsNested.kt
|
||||
public? final? interface Some : kotlin/Any {
|
||||
}
|
||||
<T : Some> public? abstract class My : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor<T : Some>(): R|test/My<T>| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? final? inner class T : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|test/My.T| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -21,7 +25,9 @@ FILE: typeParameterVsNested.kt
|
||||
public? get(): test.My.T
|
||||
|
||||
public? final? class Some : T {
|
||||
public? constructor(): super<T>()
|
||||
public? constructor(): R|test/My.Some| {
|
||||
super<T>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -8,11 +8,15 @@ FILE: typeParameters.kt
|
||||
public? final typealias StringList = List<out String>
|
||||
public? final typealias AnyList = List<*>
|
||||
<out T : Any> public? abstract class AbstractList : List<T> {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor<out T : Any>(): R|AbstractList<T>| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
public? final? class SomeList : AbstractList<Int> {
|
||||
public? constructor(): super<AbstractList<Int>>()
|
||||
public? constructor(): R|SomeList| {
|
||||
super<AbstractList<Int>>()
|
||||
}
|
||||
|
||||
public? open? override fun get(index: Int): Int {
|
||||
^get Int(42)
|
||||
|
||||
@@ -4,6 +4,8 @@ FILE: where.kt
|
||||
public? final? interface B : kotlin/Any {
|
||||
}
|
||||
<T : A, B> public? final? class C : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor<T : A, B>(): R|C<T>| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
FILE: annotated.kt
|
||||
@Target(AnnotationTarget#.EXPRESSION#) @Retention(AnnotationRetention#.SOURCE#) public? final? annotation class Ann : kotlin/Annotation {
|
||||
public? constructor(): super<kotlin/Annotation>()
|
||||
public? constructor(): R|Ann| {
|
||||
super<kotlin/Annotation>()
|
||||
}
|
||||
|
||||
}
|
||||
public? final? fun foo(arg: Int): Int {
|
||||
@@ -23,7 +25,9 @@ FILE: annotated.kt
|
||||
^foo Int(42)
|
||||
}
|
||||
public? final? data class Two : kotlin/Any {
|
||||
public? constructor(x: Int, y: Int): super<kotlin/Any>()
|
||||
public? constructor(x: Int, y: Int): R|Two| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
public? final? fun bar(two: Two): kotlin/Unit {
|
||||
|
||||
@@ -5,7 +5,9 @@ FILE: arrayAccess.kt
|
||||
^foo Int(1)
|
||||
}
|
||||
public? final? class Wrapper : kotlin/Any {
|
||||
public? constructor(v: IntArray): super<kotlin/Any>()
|
||||
public? constructor(v: IntArray): R|Wrapper| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? final? val v: IntArray = R|<local>/v|
|
||||
public? get(): IntArray
|
||||
|
||||
+3
-1
@@ -1,6 +1,8 @@
|
||||
FILE: callableReferences.kt
|
||||
public? final? class A : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|A| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? final? fun foo(): kotlin/Unit {
|
||||
}
|
||||
|
||||
@@ -9,7 +9,9 @@ FILE: calls.kt
|
||||
^testRegular distance#(Int(3), Int(4))
|
||||
}
|
||||
public? final? class My : kotlin/Any {
|
||||
public? constructor(x: Int): super<kotlin/Any>()
|
||||
public? constructor(x: Int): R|My| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? final? var x: Int = R|<local>/x|
|
||||
public? get(): Int
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
FILE: classReference.kt
|
||||
public? final? class A : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|test/A| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
public? final? fun test(): kotlin/Unit {
|
||||
|
||||
+21
-7
@@ -1,38 +1,52 @@
|
||||
FILE: collectionLiterals.kt
|
||||
public? final? annotation class Ann1 : kotlin/Annotation {
|
||||
public? constructor(arr: IntArray): super<kotlin/Annotation>()
|
||||
public? constructor(arr: IntArray): R|Ann1| {
|
||||
super<kotlin/Annotation>()
|
||||
}
|
||||
|
||||
public? final? val arr: IntArray = R|<local>/arr|
|
||||
public? get(): IntArray
|
||||
|
||||
}
|
||||
public? final? annotation class Ann2 : kotlin/Annotation {
|
||||
public? constructor(arr: DoubleArray): super<kotlin/Annotation>()
|
||||
public? constructor(arr: DoubleArray): R|Ann2| {
|
||||
super<kotlin/Annotation>()
|
||||
}
|
||||
|
||||
public? final? val arr: DoubleArray = R|<local>/arr|
|
||||
public? get(): DoubleArray
|
||||
|
||||
}
|
||||
public? final? annotation class Ann3 : kotlin/Annotation {
|
||||
public? constructor(arr: Array<String>): super<kotlin/Annotation>()
|
||||
public? constructor(arr: Array<String>): R|Ann3| {
|
||||
super<kotlin/Annotation>()
|
||||
}
|
||||
|
||||
public? final? val arr: Array<String> = R|<local>/arr|
|
||||
public? get(): Array<String>
|
||||
|
||||
}
|
||||
@Ann1(<implicitArrayOf>()) @Ann2(<implicitArrayOf>()) @Ann3(<implicitArrayOf>()) public? final? class Zero : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|Zero| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
@Ann1(<implicitArrayOf>(Int(1), Int(2))) public? final? class First : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|First| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
@Ann2(<implicitArrayOf>(Double(3.14))) public? final? class Second : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|Second| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
@Ann3(<implicitArrayOf>(String(Alpha), String(Omega))) public? final? class Third : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|Third| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
FILE: destructuring.kt
|
||||
public? final? data class Some : kotlin/Any {
|
||||
public? constructor(first: Int, second: Double, third: String): super<kotlin/Any>()
|
||||
public? constructor(first: Int, second: Double, third: String): R|Some| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? final? val first: Int = R|<local>/first|
|
||||
public? get(): Int
|
||||
|
||||
@@ -25,7 +25,9 @@ FILE: for.kt
|
||||
|
||||
}
|
||||
public? final? data class Some : kotlin/Any {
|
||||
public? constructor(x: Int, y: Int): super<kotlin/Any>()
|
||||
public? constructor(x: Int, y: Int): R|Some| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? final? val x: Int = R|<local>/x|
|
||||
public? get(): Int
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
FILE: init.kt
|
||||
public? final? class WithInit : kotlin/Any {
|
||||
public? constructor(x: Int): super<kotlin/Any>()
|
||||
public? constructor(x: Int): R|WithInit| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? final? val x: Int
|
||||
public? get(): Int
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
FILE: lambda.kt
|
||||
public? final? data class Tuple : kotlin/Any {
|
||||
public? constructor(x: Int, y: Int): super<kotlin/Any>()
|
||||
public? constructor(x: Int, y: Int): R|Tuple| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? final? val x: Int = R|<local>/x|
|
||||
public? get(): Int
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
FILE: locals.kt
|
||||
public? final? fun withLocals(p: Int): Int {
|
||||
local final? class Local : kotlin/Any {
|
||||
public? constructor(pp: Int): super<kotlin/Any>()
|
||||
public? constructor(pp: Int): R|Local| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? final? val pp: Int = R|<local>/pp|
|
||||
public? get(): Int
|
||||
@@ -18,7 +20,9 @@ FILE: locals.kt
|
||||
}
|
||||
|
||||
lval code: <implicit> = object : Any {
|
||||
private constructor(): super<Any>()
|
||||
private constructor(): <no name provided> {
|
||||
super<Any>()
|
||||
}
|
||||
|
||||
public? final? fun foo(): <implicit> {
|
||||
^foo hashCode#()
|
||||
|
||||
@@ -13,7 +13,9 @@ FILE: super.kt
|
||||
|
||||
}
|
||||
public? final? class C : A, B {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|C| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? open? override fun bar(): kotlin/Unit {
|
||||
super<<implicit>>.bar#()
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
FILE: these.kt
|
||||
public? final? class Some : kotlin/Any {
|
||||
public? constructor(): super<kotlin/Any>()
|
||||
public? constructor(): R|Some| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? final? fun foo(): Int {
|
||||
^foo Int(1)
|
||||
|
||||
@@ -35,7 +35,9 @@ FILE: unary.kt
|
||||
|
||||
}
|
||||
public? final? class X : kotlin/Any {
|
||||
public? constructor(i: Int): super<kotlin/Any>()
|
||||
public? constructor(i: Int): R|X| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? final? val i: Int = R|<local>/i|
|
||||
public? get(): Int
|
||||
@@ -72,7 +74,9 @@ FILE: unary.kt
|
||||
|
||||
}
|
||||
public? final? class Y : kotlin/Any {
|
||||
public? constructor(arr: Array<Int>): super<kotlin/Any>()
|
||||
public? constructor(arr: Array<Int>): R|Y| {
|
||||
super<kotlin/Any>()
|
||||
}
|
||||
|
||||
public? final? val arr: Array<Int> = R|<local>/arr|
|
||||
public? get(): Array<Int>
|
||||
|
||||
Reference in New Issue
Block a user