[FIR] Use lazy constructor delegate even if there's no KtConstructor
Twelfth step for ^KT-52615 Merge-request: KT-MR-8895 Merged-by: Egor Kulikov <Egor.Kulikov@jetbrains.com>
This commit is contained in:
@@ -957,7 +957,7 @@ open class RawFirBuilder(
|
||||
} else {
|
||||
delegatedSuperTypeRef!!
|
||||
}
|
||||
val delegatedConstructorCall = {
|
||||
buildOrLazyDelegatedConstructorCall(isThis = false, constructedTypeRef) {
|
||||
buildDelegatedConstructorCall {
|
||||
source = constructorCall ?: constructorSource.fakeElement(KtFakeSourceElementKind.DelegatingConstructorCall)
|
||||
this.constructedTypeRef = constructedTypeRef
|
||||
@@ -971,14 +971,6 @@ open class RawFirBuilder(
|
||||
disabledLazyMode { superTypeCallEntry?.extractArgumentsTo(this) }
|
||||
}
|
||||
}
|
||||
if (this == null && owner !is KtEnumEntry) {
|
||||
// primary constructor without body
|
||||
delegatedConstructorCall()
|
||||
} else buildOrLazyDelegatedConstructorCall(
|
||||
isThis = false,
|
||||
constructedTypeRef,
|
||||
delegatedConstructorCall,
|
||||
)
|
||||
}
|
||||
|
||||
// See DescriptorUtils#getDefaultConstructorVisibility in core.descriptors
|
||||
|
||||
+2
-2
@@ -1,13 +1,13 @@
|
||||
FILE: F.kt
|
||||
public? open class A : R|kotlin/Any| {
|
||||
public? constructor(): R|A| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public? final? class B : A {
|
||||
public? constructor(): R|B| {
|
||||
super<<implicit>>()
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Vendored
+4
-4
@@ -1,12 +1,12 @@
|
||||
FILE: NestedOfAliasedType.kt
|
||||
public? abstract class A : R|kotlin/Any| {
|
||||
public? constructor(): R|A| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? abstract class Nested : R|kotlin/Any| {
|
||||
public? constructor(): R|A.Nested| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
@@ -15,12 +15,12 @@ FILE: NestedOfAliasedType.kt
|
||||
public? final typealias TA = A
|
||||
public? final? class B : TA {
|
||||
public? constructor(): R|B| {
|
||||
super<TA>()
|
||||
LAZY_super<TA>
|
||||
}
|
||||
|
||||
public? final? class NestedInB : Nested {
|
||||
public? constructor(): R|B.NestedInB| {
|
||||
super<Nested>()
|
||||
LAZY_super<Nested>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Vendored
+5
-5
@@ -1,17 +1,17 @@
|
||||
FILE: NestedSuperType.kt
|
||||
public? abstract class My : R|kotlin/Any| {
|
||||
public? constructor(): R|p/My| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? abstract class NestedOne : My {
|
||||
public? constructor(): R|p/My.NestedOne| {
|
||||
super<My>()
|
||||
LAZY_super<My>
|
||||
}
|
||||
|
||||
public? abstract class NestedTwo : NestedOne {
|
||||
public? constructor(): R|p/My.NestedOne.NestedTwo| {
|
||||
super<NestedOne>()
|
||||
LAZY_super<NestedOne>
|
||||
}
|
||||
|
||||
}
|
||||
@@ -21,12 +21,12 @@ FILE: NestedSuperType.kt
|
||||
}
|
||||
public? final? class Your : My {
|
||||
public? constructor(): R|p/Your| {
|
||||
super<My>()
|
||||
LAZY_super<My>
|
||||
}
|
||||
|
||||
public? final? class NestedThree : NestedOne {
|
||||
public? constructor(): R|p/Your.NestedThree| {
|
||||
super<NestedOne>()
|
||||
LAZY_super<NestedOne>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
FILE: annotation.kt
|
||||
@Target(LAZY_EXPRESSION, LAZY_EXPRESSION, LAZY_EXPRESSION, LAZY_EXPRESSION, LAZY_EXPRESSION, LAZY_EXPRESSION, LAZY_EXPRESSION) public? final? annotation class base : R|kotlin/Annotation| {
|
||||
public? constructor(): R|base| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
@@ -20,7 +20,7 @@ FILE: annotation.kt
|
||||
}
|
||||
@base() public? final? enum class My : R|kotlin/Enum<My>| {
|
||||
private constructor(): R|My| {
|
||||
super<R|kotlin/Enum<My>|>()
|
||||
LAZY_super<R|kotlin/Enum<My>|>
|
||||
}
|
||||
|
||||
@base() public final static enum entry FIRST: R|My| = LAZY_EXPRESSION
|
||||
@@ -64,7 +64,7 @@ FILE: annotation.kt
|
||||
}
|
||||
@derived(LAZY_EXPRESSION) public? final? enum class MyDerived : R|kotlin/Enum<MyDerived>| {
|
||||
private constructor(): R|MyDerived| {
|
||||
super<R|kotlin/Enum<MyDerived>|>()
|
||||
LAZY_super<R|kotlin/Enum<MyDerived>|>
|
||||
}
|
||||
|
||||
@derived(LAZY_EXPRESSION) public final static enum entry FIRST: R|MyDerived| = LAZY_EXPRESSION
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ FILE: annotationsOnNullableParenthesizedTypes.kt
|
||||
}
|
||||
@Target(LAZY_EXPRESSION, LAZY_EXPRESSION) public? final? annotation class A : R|kotlin/Annotation| {
|
||||
public? constructor(): R|A| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ FILE: annotationsOnParenthesizedTypes.kt
|
||||
}
|
||||
@Target(LAZY_EXPRESSION, LAZY_EXPRESSION) public? final? annotation class A : R|kotlin/Annotation| {
|
||||
public? constructor(): R|A| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
FILE: complexTypes.kt
|
||||
public? final? class C<T, out S> : R|kotlin/Any| {
|
||||
public? constructor<T, out S>(): R|a/b/C<T, S>| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? inner class D<R, in P, T, out S> : R|kotlin/Any| {
|
||||
public? a/b/C<T, S>.constructor<R, in P>(): R|a/b/C.D<R, P, T, S>| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -9,7 +9,7 @@ FILE: constructorInObject.kt
|
||||
}
|
||||
public? final? enum class B : R|kotlin/Enum<B>| {
|
||||
private constructor(): R|B| {
|
||||
super<R|kotlin/Enum<B>|>()
|
||||
LAZY_super<R|kotlin/Enum<B>|>
|
||||
}
|
||||
|
||||
public final static enum entry X: R|B| = LAZY_EXPRESSION
|
||||
@@ -25,7 +25,7 @@ FILE: constructorInObject.kt
|
||||
}
|
||||
public? final? class C : R|kotlin/Any| {
|
||||
public? constructor(): R|C| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? companion object Companion : R|kotlin/Any| {
|
||||
|
||||
Vendored
+1
-1
@@ -7,7 +7,7 @@ FILE: contextReceivers.kt
|
||||
context(A, b@B)
|
||||
public? final? class C : R|kotlin/Any| {
|
||||
public? constructor(): R|C| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
FILE: propertyAccessorsContractDescription.kt
|
||||
public? final? class MyClass : R|kotlin/Any| {
|
||||
public? constructor(): R|MyClass| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? var myInt: Int = LAZY_EXPRESSION
|
||||
|
||||
+4
-4
@@ -1,26 +1,26 @@
|
||||
FILE: danglingAnnotationsClassLevel.kt
|
||||
public? final? class A : R|kotlin/Any| {
|
||||
public? constructor(): R|A| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
@Suppress(LAZY_EXPRESSION) @MustBeDocumented() <DANGLING MODIFIER: Top level declaration expected>
|
||||
}
|
||||
public? final? class B : R|kotlin/Any| {
|
||||
public? constructor(): R|B| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
@Suppress(LAZY_EXPRESSION) @MustBeDocumented() <DANGLING MODIFIER: Top level declaration expected>
|
||||
}
|
||||
public? final? class Outer : R|kotlin/Any| {
|
||||
public? constructor(): R|Outer| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? class Inner : R|kotlin/Any| {
|
||||
public? constructor(): R|Outer.Inner| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
@Suppress(LAZY_EXPRESSION) @MustBeDocumented() <DANGLING MODIFIER: Top level declaration expected>
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
FILE: enums.kt
|
||||
public? final? enum class Order : R|kotlin/Enum<Order>| {
|
||||
private constructor(): R|Order| {
|
||||
super<R|kotlin/Enum<Order>|>()
|
||||
LAZY_super<R|kotlin/Enum<Order>|>
|
||||
}
|
||||
|
||||
public final static enum entry FIRST: R|Order|
|
||||
@@ -38,7 +38,7 @@ FILE: enums.kt
|
||||
|
||||
public? final? companion object Companion : R|kotlin/Any| {
|
||||
private constructor(): R|Planet.Companion| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? const val G: <implicit> = LAZY_EXPRESSION
|
||||
|
||||
+2
-2
@@ -3,13 +3,13 @@ FILE: enums2.kt
|
||||
}
|
||||
public? final? object O1 : Some {
|
||||
private constructor(): R|O1| {
|
||||
super<<implicit>>()
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
}
|
||||
public? final? object O2 : Some {
|
||||
private constructor(): R|O2| {
|
||||
super<<implicit>>()
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
FILE: enums3.kt
|
||||
public? final? class C : R|kotlin/Any| {
|
||||
public? constructor(): R|C| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
init { LAZY_BLOCK }
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ FILE: expectActual.kt
|
||||
public? get(): Int
|
||||
public? final? actual class MyClass : R|kotlin/Any| {
|
||||
public? constructor(): R|MyClass| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
FILE: external.kt
|
||||
public? final? external class External : R|kotlin/Any| {
|
||||
public? constructor(): R|External| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
@@ -10,7 +10,7 @@ FILE: external.kt
|
||||
public? external get(): Int
|
||||
public? final? class NotExternal : R|kotlin/Any| {
|
||||
public? constructor(): R|NotExternal| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? external fun bar(): String
|
||||
|
||||
Vendored
+1
-1
@@ -4,7 +4,7 @@ FILE: genericFunctions.kt
|
||||
public? final? inline fun <reified T : Any> Any.safeAs(): T? { LAZY_BLOCK }
|
||||
public? abstract class Summator : R|kotlin/Any| {
|
||||
public? constructor(): R|Summator| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? abstract fun <T> plus(first: T, second: T): T
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
FILE: initBlockWithDeclarations.kt
|
||||
public? final? class X : R|kotlin/Any| {
|
||||
public? constructor(): R|X| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
init { LAZY_BLOCK }
|
||||
@@ -9,7 +9,7 @@ FILE: initBlockWithDeclarations.kt
|
||||
}
|
||||
public? final? object <no name provided> : R|kotlin/Any| {
|
||||
private constructor(): R|<no name provided>| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
init { LAZY_BLOCK }
|
||||
|
||||
+2
-2
@@ -10,7 +10,7 @@ FILE: nestedClass.kt
|
||||
}
|
||||
public? final? class Outer : R|kotlin/Any| {
|
||||
public? constructor(): R|Outer| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? class Derived : Base {
|
||||
@@ -22,7 +22,7 @@ FILE: nestedClass.kt
|
||||
|
||||
public? final? object Obj : Base {
|
||||
private constructor(): R|Outer.Obj| {
|
||||
super<Base>(String())
|
||||
LAZY_super<Base>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -8,7 +8,7 @@ FILE: simpleClass.kt
|
||||
}
|
||||
public? final? class SomeClass : SomeInterface {
|
||||
public? constructor(): R|SomeClass| {
|
||||
super<<implicit>>()
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
private final? val baz: <implicit> = LAZY_EXPRESSION
|
||||
@@ -27,7 +27,7 @@ FILE: simpleClass.kt
|
||||
}
|
||||
public? final? inline class InlineClass : R|kotlin/Any| {
|
||||
public? constructor(): R|InlineClass| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -4,7 +4,7 @@ FILE: simpleTypeAlias.kt
|
||||
public? final typealias C = B
|
||||
public? final? class D : C {
|
||||
public? constructor(): R|D| {
|
||||
super<<implicit>>()
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -1,13 +1,13 @@
|
||||
FILE: splitModifierList.kt
|
||||
@Target(LAZY_EXPRESSION, LAZY_EXPRESSION) public? final? annotation class A : R|kotlin/Annotation| {
|
||||
public? constructor(): R|A| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
@Target(LAZY_EXPRESSION, LAZY_EXPRESSION) public? final? annotation class B : R|kotlin/Annotation| {
|
||||
public? constructor(): R|B| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -1,7 +1,7 @@
|
||||
FILE: typeAliasWithGeneric.kt
|
||||
public? open class A : R|kotlin/Any| {
|
||||
public? constructor(): R|A| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
@@ -10,7 +10,7 @@ FILE: typeAliasWithGeneric.kt
|
||||
public? final typealias C<T> = B<T, A>
|
||||
public? final? class D : C<A> {
|
||||
public? constructor(): R|D| {
|
||||
super<<implicit>>()
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Vendored
+3
-3
@@ -3,12 +3,12 @@ FILE: typeParameterVsNested.kt
|
||||
}
|
||||
public? abstract class My<T : Some> : R|kotlin/Any| {
|
||||
public? constructor<T : Some>(): R|test/My<T>| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? inner class T<T : Some> : R|kotlin/Any| {
|
||||
public? test/My<T>.constructor(): R|test/My.T<T>| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
@@ -26,7 +26,7 @@ FILE: typeParameterVsNested.kt
|
||||
|
||||
public? final? class Some : T {
|
||||
public? constructor(): R|test/My.Some| {
|
||||
super<T>()
|
||||
LAZY_super<T>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -9,13 +9,13 @@ FILE: typeParameters.kt
|
||||
public? final typealias AnyList = List<*>
|
||||
public? abstract class AbstractList<out T : Any> : List<T> {
|
||||
public? constructor<out T : Any>(): R|AbstractList<T>| {
|
||||
super<<implicit>>()
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
}
|
||||
public? final? class SomeList : AbstractList<Int> {
|
||||
public? constructor(): R|SomeList| {
|
||||
super<AbstractList<Int>>()
|
||||
LAZY_super<AbstractList<Int>>
|
||||
}
|
||||
|
||||
public? open? override fun get(index: Int): Int { LAZY_BLOCK }
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ FILE: where.kt
|
||||
}
|
||||
public? final? class C<T : A, B> : R|kotlin/Any| {
|
||||
public? constructor<T : A, B>(): R|C<T>| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
FILE: annotated.kt
|
||||
@Target(LAZY_EXPRESSION, LAZY_EXPRESSION) @Retention(LAZY_EXPRESSION) public? final? annotation class Ann : R|kotlin/Annotation| {
|
||||
public? constructor(): R|Ann| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -1,7 +1,7 @@
|
||||
FILE: callableReferences.kt
|
||||
public? final? class A : R|kotlin/Any| {
|
||||
public? constructor(): R|A| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
FILE: classReference.kt
|
||||
public? final? class A : R|kotlin/Any| {
|
||||
public? constructor(): R|test/A| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Vendored
+4
-4
@@ -28,25 +28,25 @@ FILE: collectionLiterals.kt
|
||||
}
|
||||
@Ann1(LAZY_EXPRESSION) @Ann2(LAZY_EXPRESSION) @Ann3(LAZY_EXPRESSION) public? final? class Zero : R|kotlin/Any| {
|
||||
public? constructor(): R|Zero| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
@Ann1(LAZY_EXPRESSION) public? final? class First : R|kotlin/Any| {
|
||||
public? constructor(): R|First| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
@Ann2(LAZY_EXPRESSION) public? final? class Second : R|kotlin/Any| {
|
||||
public? constructor(): R|Second| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
@Ann3(LAZY_EXPRESSION) public? final? class Third : R|kotlin/Any| {
|
||||
public? constructor(): R|Third| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ FILE: super.kt
|
||||
}
|
||||
public? final? class C : A, B {
|
||||
public? constructor(): R|C| {
|
||||
super<<implicit>>()
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public? open? override fun bar(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
FILE: these.kt
|
||||
public? final? class Some : R|kotlin/Any| {
|
||||
public? constructor(): R|Some| {
|
||||
super<R|kotlin/Any|>()
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
public? final? fun foo(): Int { LAZY_BLOCK }
|
||||
|
||||
Reference in New Issue
Block a user