FIR: provide error type for property/variable without initializer

This commit is contained in:
Mikhail Glukhikh
2019-06-17 12:50:39 +03:00
parent 65b7da9d0a
commit 7e2828c276
@@ -9,6 +9,7 @@ import com.google.common.collect.LinkedHashMultimap
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.fir.*
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.expressions.*
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) {