7056ad5325
Even though SO may not be correct overrides sometimes, it feels more natural to treat fake overrides as... well, "overrides". And without it we'd need to make the code in `FirOverrideChecker` less intuitive.
57 lines
1.7 KiB
Plaintext
Vendored
57 lines
1.7 KiB
Plaintext
Vendored
FILE: Test.kt
|
|
public final fun R|kotlin/collections/List<kotlin/String>|.single(): R|kotlin/String| {
|
|
^single String()
|
|
}
|
|
public final fun R|kotlin/collections/List<kotlin/Int>|.single(): R|kotlin/Int| {
|
|
^single Int(2)
|
|
}
|
|
public final fun listOf(): R|kotlin/collections/List<kotlin/String>| {
|
|
}
|
|
public open class LightMember<D> : R|Member<D>|, R|Light| {
|
|
public constructor<D>(): R|LightMember<D>| {
|
|
super<R|Light|>()
|
|
}
|
|
|
|
public open override fun getName(): R|kotlin/String| {
|
|
^getName String(Light)
|
|
}
|
|
|
|
}
|
|
public final class LightClassWrapper : R|Light|, R|Klass| {
|
|
public constructor(): R|LightClassWrapper| {
|
|
super<R|Light|>()
|
|
}
|
|
|
|
public final fun test(): R|kotlin/String| {
|
|
^test this@R|/LightClassWrapper|.R|/Light.typeParameters|.R|/single|()
|
|
}
|
|
|
|
}
|
|
public abstract class Light : R|Field|, R|TypeParametersOwner| {
|
|
public constructor(): R|Light| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public final override fun getTypeParameters(): R|kotlin/collections/List<kotlin/String>| {
|
|
^getTypeParameters R|/listOf|()
|
|
}
|
|
|
|
}
|
|
public abstract interface Field : R|Named| {
|
|
}
|
|
public final class LightField<D> : R|LightMember<kotlin/Any>|, R|Field| {
|
|
public constructor<D>(): R|LightField<D>| {
|
|
super<R|LightMember<kotlin/Any>|>()
|
|
}
|
|
|
|
public final fun test(other: R|kotlin/Any?|): R|kotlin/Unit| {
|
|
when () {
|
|
(R|<local>/other| is R|LightField<*>|) -> {
|
|
R|<local>/other|.R|/LightMember.name|
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|