[FIR] Report PROPERTY_WITH_NO_TYPE_NO_INITIALIZER for all properties

Currently, PROPERTY_WITH_NO_TYPE_NO_INITIALIZER is reported for local
variables, but not reported for member or top-level properties. Add a
check to the common `checkPropertyInitializer` for when a property
type cannot be determined from the getter.

This also corrects a K1 versus K2 inconsistency, where K2 would allow
blocks from getters to determine property type instead of only allowing
expression bodies.

^KT-59935 Fixed
^KT-60117 Fixed
^KT-60123 Fixed
This commit is contained in:
Brian Norman
2023-10-23 14:32:26 -05:00
committed by Space Team
parent b154283149
commit 01a757cbd6
16 changed files with 52 additions and 31 deletions
@@ -8,6 +8,7 @@ public final class C {
public final val test2: kotlin.Any
public final val test4: [Error type: Return type for property test4 cannot be resolved]
public final var test5: [Error type: Return type for property test5 cannot be resolved]
public final lateinit var test6: [Error type: Return type for property test6 cannot be resolved]
public final val v: kotlin.Any
public final val </*0*/ T> kotlin.collections.List<T>.test3: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean