Raw FIR: add kotlin.Any super class if no super classes are visible

This commit is contained in:
Mikhail Glukhikh
2019-03-21 16:30:16 +03:00
parent db6a7779b8
commit 0546548ff3
78 changed files with 133 additions and 129 deletions
@@ -341,9 +341,13 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) {
if (this is KtClass && this.isInterface()) return delegatedSuperTypeRef
fun isEnum() = this is KtClass && this.isEnum()
val defaultDelegatedSuperTypeRef = if (isEnum()) implicitEnumType else implicitAnyType
if (delegatedSuperTypeRef == null && this.hasPrimaryConstructor()) {
container.superTypeRefs += defaultDelegatedSuperTypeRef
}
// TODO: in case we have no primary constructor,
// it may be not possible to determine delegated super type right here
delegatedSuperTypeRef = delegatedSuperTypeRef ?: (if (isEnum()) implicitEnumType else implicitAnyType)
delegatedSuperTypeRef = delegatedSuperTypeRef ?: defaultDelegatedSuperTypeRef
if (!this.hasPrimaryConstructor()) return delegatedSuperTypeRef
val firPrimaryConstructor = primaryConstructor.toFirConstructor(
@@ -1,9 +1,9 @@
FILE: F.kt
public? open class A {
public? open class A : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
public? final? class B : A {
public? final? class B : A, kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
@@ -1,8 +1,8 @@
FILE: NestedOfAliasedType.kt
public? abstract class A {
public? abstract class A : kotlin/Any {
public? constructor(): super<kotlin/Any>()
public? abstract class Nested {
public? abstract class Nested : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
@@ -1,5 +1,5 @@
FILE: NestedSuperType.kt
public? abstract class My {
public? abstract class My : kotlin/Any {
public? constructor(): super<kotlin/Any>()
public? abstract class NestedOne : My {
@@ -1,8 +1,8 @@
FILE: complexTypes.kt
<T, out S> public? final? class C {
<T, out S> public? final? class C : kotlin/Any {
public? constructor(): super<kotlin/Any>()
<R, in P> public? final? inner class D {
<R, in P> public? final? inner class D : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
@@ -1,5 +1,5 @@
FILE: derivedClass.kt
<T> public? open class Base {
<T> public? open class Base : kotlin/Any {
public? constructor(x: T): super<kotlin/Any>()
public? final? val x: T
@@ -1,24 +1,24 @@
FILE: enums.kt
public? final? enum class Order {
public? final? enum class Order : kotlin/Enum {
public? constructor(): super<kotlin/Enum>()
public? final enum entry FIRST {
public? final enum entry FIRST : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
public? final enum entry SECOND {
public? final enum entry SECOND : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
public? final enum entry THIRD {
public? final enum entry THIRD : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
}
public? final? enum class Planet {
public? final? enum class Planet : kotlin/Enum {
public? constructor(m: Double, r: Double): super<kotlin/Enum>()
public? final? val m: Double
@@ -59,7 +59,7 @@ FILE: enums.kt
public? abstract fun sayHello(): kotlin/Unit
public? final? companion object Companion {
public? final? companion object Companion : kotlin/Any {
public? constructor(): super<kotlin/Any>()
public? final? const val G: <implicit> = Double(6.67E-11)
@@ -1,15 +1,15 @@
FILE: enums2.kt
public? final? interface Some {
}
public? final? object O1 : Some {
public? final? object O1 : Some, kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
public? final? object O2 : Some {
public? final? object O2 : Some, kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
public? final? enum class SomeEnum {
public? final? enum class SomeEnum : kotlin/Enum {
public? constructor(x: Some): super<kotlin/Enum>()
public? final? val x: Some
@@ -1,12 +1,12 @@
FILE: expectActual.kt
public? final? expect class MyClass {
public? final? expect class MyClass : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
public? final? expect fun foo(): String
public? final? expect val x: Int
public? get(): Int
public? final? actual class MyClass {
public? final? actual class MyClass : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
@@ -4,7 +4,7 @@ FILE: genericFunctions.kt
<reified T : Any> public? final? inline fun Any.safeAs(): T? {
^safeAs (this# as? T)
}
public? abstract class Summator {
public? abstract class Summator : kotlin/Any {
public? constructor(): super<kotlin/Any>()
<T> public? abstract fun plus(first: T, second: T): T
@@ -1,12 +1,12 @@
FILE: nestedClass.kt
public? abstract class Base {
public? abstract class Base : kotlin/Any {
public? constructor(s: String): super<kotlin/Any>()
public? final? val s: String
public? get(): String
}
public? final? class Outer {
public? final? class Outer : kotlin/Any {
public? constructor(): super<kotlin/Any>()
public? final? class Derived : Base {
@@ -6,7 +6,7 @@ FILE: simpleClass.kt
public? get(): Boolean
}
public? final? class SomeClass : SomeInterface {
public? final? class SomeClass : SomeInterface, kotlin/Any {
public? constructor(): super<kotlin/Any>()
private final? val baz: <implicit> = Int(42)
@@ -28,7 +28,7 @@ FILE: simpleClass.kt
public? set(value: Double): kotlin/Unit
}
public? final? inline class InlineClass {
public? final? inline class InlineClass : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
@@ -2,7 +2,7 @@ FILE: simpleTypeAlias.kt
public? final? interface B {
}
public? final typealias C = B
public? final? class D : C {
public? final? class D : C, kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
@@ -1,12 +1,12 @@
FILE: typeAliasWithGeneric.kt
public? open class A {
public? open class A : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
<S, T : A> public? final? interface B {
}
<T> public? final typealias C = B<T, A>
public? final? class D : C<A> {
public? final? class D : C<A>, kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
@@ -1,10 +1,10 @@
FILE: typeParameterVsNested.kt
public? final? interface Some {
}
<T : Some> public? abstract class My {
<T : Some> public? abstract class My : kotlin/Any {
public? constructor(): super<kotlin/Any>()
public? final? inner class T {
public? final? inner class T : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
@@ -7,7 +7,7 @@ FILE: typeParameters.kt
}
public? final typealias StringList = List<out String>
public? final typealias AnyList = List<*>
<out T : Any> public? abstract class AbstractList : List<T> {
<out T : Any> public? abstract class AbstractList : List<T>, kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
@@ -3,7 +3,7 @@ FILE: where.kt
}
public? final? interface B {
}
<T : A, B> public? final? class C {
<T : A, B> public? final? class C : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
@@ -1,5 +1,5 @@
FILE: annotated.kt
@Target(AnnotationTarget#.EXPRESSION#) @Retention(AnnotationRetention#.SOURCE#) public? final? annotation class Ann {
@Target(AnnotationTarget#.EXPRESSION#) @Retention(AnnotationRetention#.SOURCE#) public? final? annotation class Ann : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
@@ -22,7 +22,7 @@ FILE: annotated.kt
^foo Int(42)
}
public? final? data class Two {
public? final? data class Two : kotlin/Any {
public? constructor(x: Int, y: Int): super<kotlin/Any>()
}
@@ -4,7 +4,7 @@ FILE: arrayAccess.kt
public? final? fun foo(): <implicit> {
^foo Int(1)
}
public? final? class Wrapper {
public? final? class Wrapper : kotlin/Any {
public? constructor(v: IntArray): super<kotlin/Any>()
public? final? val v: IntArray
@@ -1,5 +1,5 @@
FILE: callableReferences.kt
public? final? class A {
public? final? class A : kotlin/Any {
public? constructor(): super<kotlin/Any>()
public? final? fun foo(): kotlin/Unit {
@@ -8,7 +8,7 @@ FILE: calls.kt
public? final? fun testRegular(): Int {
^testRegular distance#(Int(3), Int(4))
}
public? final? class My {
public? final? class My : kotlin/Any {
public? constructor(x: Int): super<kotlin/Any>()
public? final? var x: Int
@@ -1,5 +1,5 @@
FILE: classReference.kt
public? final? class A {
public? final? class A : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
@@ -1,38 +1,38 @@
FILE: collectionLiterals.kt
public? final? annotation class Ann1 {
public? final? annotation class Ann1 : kotlin/Any {
public? constructor(arr: IntArray): super<kotlin/Any>()
public? final? val arr: IntArray
public? get(): IntArray
}
public? final? annotation class Ann2 {
public? final? annotation class Ann2 : kotlin/Any {
public? constructor(arr: DoubleArray): super<kotlin/Any>()
public? final? val arr: DoubleArray
public? get(): DoubleArray
}
public? final? annotation class Ann3 {
public? final? annotation class Ann3 : kotlin/Any {
public? constructor(arr: Array<String>): super<kotlin/Any>()
public? final? val arr: Array<String>
public? get(): Array<String>
}
@Ann1(<implicitArrayOf>()) @Ann2(<implicitArrayOf>()) @Ann3(<implicitArrayOf>()) public? final? class Zero {
@Ann1(<implicitArrayOf>()) @Ann2(<implicitArrayOf>()) @Ann3(<implicitArrayOf>()) public? final? class Zero : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
@Ann1(<implicitArrayOf>(Int(1), Int(2))) public? final? class First {
@Ann1(<implicitArrayOf>(Int(1), Int(2))) public? final? class First : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
@Ann2(<implicitArrayOf>(Double(3.14))) public? final? class Second {
@Ann2(<implicitArrayOf>(Double(3.14))) public? final? class Second : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
@Ann3(<implicitArrayOf>(String(Alpha), String(Omega))) public? final? class Third {
@Ann3(<implicitArrayOf>(String(Alpha), String(Omega))) public? final? class Third : kotlin/Any {
public? constructor(): super<kotlin/Any>()
}
@@ -1,5 +1,5 @@
FILE: destructuring.kt
public? final? data class Some {
public? final? data class Some : kotlin/Any {
public? constructor(first: Int, second: Double, third: String): super<kotlin/Any>()
public? final? val first: Int
@@ -24,7 +24,7 @@ FILE: for.kt
}
}
public? final? data class Some {
public? final? data class Some : kotlin/Any {
public? constructor(x: Int, y: Int): super<kotlin/Any>()
public? final? val x: Int
@@ -1,5 +1,5 @@
FILE: init.kt
public? final? class WithInit {
public? final? class WithInit : kotlin/Any {
public? constructor(x: Int): super<kotlin/Any>()
public? final? val x: Int
@@ -1,5 +1,5 @@
FILE: lambda.kt
public? final? data class Tuple {
public? final? data class Tuple : kotlin/Any {
public? constructor(x: Int, y: Int): super<kotlin/Any>()
public? final? val x: Int
@@ -1,6 +1,6 @@
FILE: locals.kt
public? final? fun withLocals(p: Int): Int {
public? final? class Local {
public? final? class Local : kotlin/Any {
public? constructor(pp: Int): super<kotlin/Any>()
public? final? val pp: Int
@@ -12,7 +12,7 @@ FILE: super.kt
}
}
public? final? class C : A, B {
public? final? class C : A, B, kotlin/Any {
public? constructor(): super<kotlin/Any>()
public? open? override fun bar(): kotlin/Unit {
@@ -1,5 +1,5 @@
FILE: these.kt
public? final? class Some {
public? final? class Some : kotlin/Any {
public? constructor(): super<kotlin/Any>()
public? final? fun foo(): Int {
@@ -34,7 +34,7 @@ FILE: unary.kt
}
}
public? final? class X {
public? final? class X : kotlin/Any {
public? constructor(i: Int): super<kotlin/Any>()
public? final? val i: Int
@@ -71,7 +71,7 @@ FILE: unary.kt
}
}
public? final? class Y {
public? final? class Y : kotlin/Any {
public? constructor(arr: Array<Int>): super<kotlin/Any>()
public? final? val arr: Array<Int>
+1 -1
View File
@@ -1,5 +1,5 @@
FILE: F.kt
public open class A {
public open class A : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
@@ -1,8 +1,8 @@
FILE: NestedOfAliasedType.kt
public abstract class A {
public abstract class A : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public abstract class Nested {
public abstract class Nested : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
+1 -1
View File
@@ -1,5 +1,5 @@
FILE: NestedSuperType.kt
public abstract class My {
public abstract class My : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public abstract class NestedOne : R|p/My| {
@@ -1,5 +1,5 @@
FILE: TwoDeclarationsInSameFile.kt
public open class A {
public open class A : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
+2 -2
View File
@@ -1,9 +1,9 @@
FILE: lists.kt
public abstract class MyStringList : R|kotlin/collections/List<kotlin/String>| {
public abstract class MyStringList : R|kotlin/collections/List<kotlin/String>|, R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
public abstract class MyMutableStringList : R|kotlin/collections/MutableList<kotlin/String>| {
public abstract class MyMutableStringList : R|kotlin/collections/MutableList<kotlin/String>|, R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
+6 -6
View File
@@ -1,11 +1,11 @@
FILE: companion.kt
public abstract class Some {
public abstract class Some : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final companion object Companion {
public final companion object Companion : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final class InCompanion {
public final class InCompanion : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
@@ -16,13 +16,13 @@ FILE: companion.kt
public get(): R|test/Some.Companion.InCompanion|
}
public abstract class Another {
public abstract class Another : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final companion object NamedCompanion {
public final companion object NamedCompanion : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final class InCompanion {
public final class InCompanion : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
+1 -1
View File
@@ -1,5 +1,5 @@
FILE: derivedClass.kt
<T> public open class Base {
<T> public open class Base : R|kotlin/Any| {
public constructor(x: R|T|): super<R|kotlin/Any|>()
public final val x: R|T|
+3 -3
View File
@@ -1,15 +1,15 @@
FILE: enum.kt
public abstract interface Some {
}
public final object O1 : R|Some| {
public final object O1 : R|Some|, R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
public final object O2 : R|Some| {
public final object O2 : R|Some|, R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
public final enum class SomeEnum {
public final enum class SomeEnum : R|kotlin/Enum| {
private constructor(x: R|Some|): super<R|kotlin/Enum|>()
public final val x: R|Some|
@@ -1,5 +1,5 @@
FILE: access.kt
public final class Foo {
public final class Foo : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final val x: R|kotlin/Int| = Int(1)
@@ -14,7 +14,7 @@ FILE: access.kt
}
}
public final class Bar {
public final class Bar : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final val x: R|kotlin/String| = String()
@@ -1,5 +1,5 @@
FILE: constructor.kt
public final class C {
public final class C : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final fun create(): R|C| {
@@ -3,7 +3,7 @@ FILE: dispatchReceiver.kt
public abstract fun check(): R|kotlin/Unit|
}
public final class My {
public final class My : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final lateinit var delegate: R|Base|
@@ -1,7 +1,7 @@
FILE: explicitReceiver.kt
public final fun x(): R|kotlin/Unit| {
}
public final class Foo {
public final class Foo : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final val x: R|Foo| = R|/Foo.Foo|()
@@ -1,5 +1,5 @@
FILE: explicitReceiver2.kt
public final class Bar {
public final class Bar : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final operator fun invoke(): R|Foo| {
@@ -9,7 +9,7 @@ FILE: explicitReceiver2.kt
}
public final fun x(): R|kotlin/Unit| {
}
public final class Foo {
public final class Foo : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final operator fun R|Bar|.invoke(): R|Foo| {
@@ -1,7 +1,7 @@
FILE: extension.kt
public final fun x(): R|kotlin/Unit| {
}
public final class Foo {
public final class Foo : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final operator fun R|kotlin/Int|.invoke(): R|Foo| {
@@ -4,7 +4,7 @@ FILE: farInvokeExtension.kt
public final operator fun R|kotlin/Int|.invoke(): R|Foo| {
^invoke this@Foo
}
public final class Foo {
public final class Foo : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final val x: R|kotlin/Int| = Int(0)
@@ -1,5 +1,5 @@
FILE: implicitTypeOrder.kt
public final class A {
public final class A : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final fun bar(): R|A| {
@@ -1,5 +1,5 @@
FILE: threeReceivers.kt
public final class Bar {
public final class Bar : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final fun R|FooBar|.invoke(): R|Bar| {
@@ -7,15 +7,15 @@ FILE: threeReceivers.kt
}
}
public final class Buz {
public final class Buz : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
public final class FooBar {
public final class FooBar : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
public final class Foo {
public final class Foo : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final val R|Buz|.foobar: R|Bar|
@@ -1,6 +1,6 @@
FILE: localImplicitBodies.kt
public final fun foo(): R|kotlin/Unit| {
lval x: <ERROR TYPE REF: No result type for initializer> = object : {
lval x: <ERROR TYPE REF: No result type for initializer> = object : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final fun sss(): <ERROR TYPE REF: Unresolved name: abc> {
@@ -1,9 +1,9 @@
FILE: this.kt
public final class Bar {
public final class Bar : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
public final class Foo {
public final class Foo : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final fun bar(): R|Foo| {
@@ -1,8 +1,8 @@
FILE: complexTypes.kt
<T, out S> public final class C {
<T, out S> public final class C : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
<R, in P> public final inner class D {
<R, in P> public final inner class D : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
@@ -1,24 +1,24 @@
FILE: enums.kt
public final enum class Order {
public final enum class Order : R|kotlin/Enum| {
private constructor(): super<R|kotlin/Enum|>()
public final enum entry FIRST {
public final enum entry FIRST : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
public final enum entry SECOND {
public final enum entry SECOND : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
public final enum entry THIRD {
public final enum entry THIRD : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
}
public final enum class Planet {
public final enum class Planet : R|kotlin/Enum| {
private constructor(m: R|kotlin/Double|, r: R|kotlin/Double|): super<R|kotlin/Enum|>()
public final val m: R|kotlin/Double|
@@ -59,7 +59,7 @@ FILE: enums.kt
public abstract fun sayHello(): R|kotlin/Unit|
public final companion object Companion {
public final companion object Companion : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final const val G: R|kotlin/Double| = Double(6.67E-11)
@@ -6,7 +6,7 @@ FILE: simpleClass.kt
public get(): R|kotlin/Boolean|
}
public final class SomeClass : R|SomeInterface| {
public final class SomeClass : R|SomeInterface|, R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
private final val baz: R|kotlin/Int| = Int(42)
@@ -28,7 +28,7 @@ FILE: simpleClass.kt
public set(value: R|kotlin/Double|): R|kotlin/Unit|
}
public final inline class InlineClass {
public final inline class InlineClass : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
@@ -7,7 +7,7 @@ FILE: typeParameters.kt
}
public final typealias StringList = R|List<out kotlin/String>|
public final typealias AnyList = R|List<*>|
<out T : R|kotlin/Any|> public abstract class AbstractList : R|List<T>| {
<out T : R|kotlin/Any|> public abstract class AbstractList : R|List<T>|, R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
+1 -1
View File
@@ -4,7 +4,7 @@ FILE: genericFunctions.kt
<reified T : R|Any|> public final inline fun R|Any|.safeAs(): R|T|? {
^safeAs (this# as? R|T|)
}
public abstract class Summator {
public abstract class Summator : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
<T> public abstract fun plus(first: R|T|, second: R|T|): R|T|
@@ -1,6 +1,6 @@
FILE: Annotations.kt
@FILE:R|annotations/Simple|()
@R|annotations/WithInt|(Int(42)) public abstract class First {
@R|annotations/WithInt|(Int(42)) public abstract class First : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
@R|annotations/Simple|() public abstract fun foo(@R|annotations/WithString|(String(abc)) arg: @R|annotations/Simple|() R|kotlin/Double|): R|kotlin/Unit|
@@ -1,5 +1,5 @@
FILE: sealedStarImport.kt
public abstract class Factory {
public abstract class Factory : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public abstract fun createTest(): R|error: Symbol not found, for `Test`|
+2 -2
View File
@@ -1,12 +1,12 @@
FILE: nestedClass.kt
public abstract class Base {
public abstract class Base : R|kotlin/Any| {
public constructor(s: R|kotlin/String|): super<R|kotlin/Any|>()
public final val s: R|kotlin/String|
public get(): R|kotlin/String|
}
public final class Outer {
public final class Outer : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final class Derived : R|Base| {
+1 -1
View File
@@ -1,5 +1,5 @@
FILE: simple.kt
public open class A {
public open class A : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public open fun foo(): R|A| {
@@ -1,5 +1,5 @@
FILE: simpleFakeOverride.kt
<T> public open class A {
<T> public open class A : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final fun foo(t: R|T|): R|T| {
@@ -7,7 +7,7 @@ FILE: simpleFakeOverride.kt
}
}
public final class Some {
public final class Some : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
+1 -1
View File
@@ -1,5 +1,5 @@
FILE: three.kt
public abstract class A {
public abstract class A : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final fun foo(): R|kotlin/Unit| {
@@ -1,5 +1,5 @@
FILE: superMember.kt
public open class A {
public open class A : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public open fun foo(): R|kotlin/Unit| {
+1 -1
View File
@@ -6,7 +6,7 @@ FILE: simpleClass.kt
public get(): R|kotlin/Boolean|
}
public final class SomeClass : R|SomeInterface| {
public final class SomeClass : R|SomeInterface|, R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
private final val baz: R|kotlin/Int| = Int(42)
+1 -1
View File
@@ -2,7 +2,7 @@ FILE: simpleTypeAlias.kt
public abstract interface B {
}
public final typealias C = R|B|
public final class D : R|C| {
public final class D : R|C|, R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
+1 -1
View File
@@ -15,7 +15,7 @@ FILE: functionX.kt
}
public get(): R|kotlin/Function1<kotlin/String, kotlin/String>|
public final class MyFunction : R|kotlin/Function2<kotlin/Int, kotlin/String, kotlin/Unit>| {
public final class MyFunction : R|kotlin/Function2<kotlin/Int, kotlin/String, kotlin/Unit>|, R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final override fun invoke(p1: R|kotlin/Int|, p2: R|kotlin/String|): R|kotlin/Unit| {
@@ -1,11 +1,11 @@
FILE: typeAliasWithGeneric.kt
public open class A {
public open class A : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
<S, T : R|A|> public abstract interface B {
}
public final class D : R|C<A>| {
public final class D : R|C<A>|, R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
@@ -1,10 +1,10 @@
FILE: typeParameterVsNested.kt
public abstract interface Some {
}
<T : R|test/Some|> public abstract class My {
<T : R|test/Some|> public abstract class My : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final inner class T {
public final inner class T : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
+2 -2
View File
@@ -1,12 +1,12 @@
FILE: base.kt
public final class Hello {
public final class Hello : R|kotlin/Any| {
public constructor(msg: R|kotlin/String|): super<R|kotlin/Any|>()
public final val msg: R|kotlin/String|
public get(): R|kotlin/String|
}
public final class Test {
public final class Test : R|kotlin/Any| {
public constructor(set: R|java/util/Set<*>|): super<R|kotlin/Any|>()
public final val set: R|java/util/Set<*>|
@@ -1,5 +1,5 @@
FILE: simpleFakeOverride.kt
public final class Some {
public final class Some : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
}
@@ -1,7 +1,7 @@
FILE: Base.kt
public abstract interface First {
}
public open class Second {
public open class Second : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public open fun R|First|.foo(s: R|kotlin/String|, i: R|kotlin/Int|): R|kotlin/Unit| {
@@ -1,5 +1,5 @@
FILE: common.kt
<T> public open expect class A {
<T> public open expect class A : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public open fun foo(arg: R|T|): R|kotlin/Unit|
+1 -1
View File
@@ -1,5 +1,5 @@
FILE: jvm.kt
<T> public open actual class A {
<T> public open actual class A : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public open actual fun foo(arg: R|T|): R|kotlin/Unit| {
@@ -1,11 +1,11 @@
FILE: common.kt
public final expect class MyList {
public final expect class MyList : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final fun get(i: R|kotlin/Int|): R|kotlin/Int|
}
public open class Wrapper {
public open class Wrapper : R|kotlin/Any| {
public constructor(list: R|MyList|): super<R|kotlin/Any|>()
public final val list: R|MyList|
+1 -1
View File
@@ -1,5 +1,5 @@
FILE: jvm.kt
public final actual class MyList {
public final actual class MyList : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final actual fun get(i: R|kotlin/Int|): R|kotlin/Int| {
+1 -1
View File
@@ -1,5 +1,5 @@
FILE: common.kt
public open expect class A {
public open expect class A : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final fun foo(): R|kotlin/Unit|
+1 -1
View File
@@ -1,5 +1,5 @@
FILE: jvm.kt
public open actual class A {
public open actual class A : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final actual fun foo(): R|kotlin/Unit| {
@@ -1,5 +1,5 @@
FILE: common.kt
public open expect class A {
public open expect class A : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final fun foo(): R|kotlin/Unit|
+1 -1
View File
@@ -1,5 +1,5 @@
FILE: jvm.kt
public abstract class X {
public abstract class X : R|kotlin/Any| {
public constructor(): super<R|kotlin/Any|>()
public final fun bar(): R|kotlin/Unit| {