FIR: Implement deep implicit types resolution

This commit is contained in:
Simon Ogorodnik
2019-03-12 17:37:37 +03:00
parent 70be1c1024
commit 334c42e8ab
15 changed files with 514 additions and 334 deletions
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.types
import org.jetbrains.kotlin.fir.visitors.FirVisitor
interface FirErrorTypeRef : FirTypeRef {
interface FirErrorTypeRef : FirResolvedTypeRef {
val reason: String
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
@@ -7,6 +7,8 @@ package org.jetbrains.kotlin.fir.types.impl
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.types.ConeKotlinErrorType
import org.jetbrains.kotlin.fir.types.ConeKotlinType
import org.jetbrains.kotlin.fir.types.FirErrorTypeRef
import org.jetbrains.kotlin.fir.visitors.FirVisitor
@@ -15,6 +17,8 @@ class FirErrorTypeRefImpl(
psi: PsiElement?,
override val reason: String
) : FirAbstractAnnotatedTypeRef(session, psi, false), FirErrorTypeRef {
override val type: ConeKotlinType = ConeKotlinErrorType(reason)
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R {
return super<FirErrorTypeRef>.accept(visitor, data)
}