FIR: provide error type for property/variable without initializer
This commit is contained in:
+14
@@ -9,6 +9,7 @@ import com.google.common.collect.LinkedHashMultimap
|
|||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.fir.*
|
import org.jetbrains.kotlin.fir.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyAccessor
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirValueParameterImpl
|
import org.jetbrains.kotlin.fir.declarations.impl.FirValueParameterImpl
|
||||||
import org.jetbrains.kotlin.fir.expressions.*
|
import org.jetbrains.kotlin.fir.expressions.*
|
||||||
import org.jetbrains.kotlin.fir.expressions.impl.FirResolvedQualifierImpl
|
import org.jetbrains.kotlin.fir.expressions.impl.FirResolvedQualifierImpl
|
||||||
@@ -918,6 +919,19 @@ open class FirBodyResolveTransformer(val session: FirSession, val implicitTypeOn
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
else -> {
|
||||||
|
variable.transformReturnTypeRef(
|
||||||
|
this,
|
||||||
|
FirErrorTypeRefImpl(
|
||||||
|
session, null,
|
||||||
|
if (variable is FirProperty && variable.getter !is FirDefaultPropertyAccessor) {
|
||||||
|
"Not supported: type from property getter"
|
||||||
|
} else {
|
||||||
|
"Cannot infer variable type without initializer / getter / delegate"
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (variable !is FirProperty) {
|
if (variable !is FirProperty) {
|
||||||
|
|||||||
Reference in New Issue
Block a user