org.jetbrains.kotlin.fir.types.FirResolvedTypeRef.kt Maven / Gradle / Ivy
/*
* Copyright 2000-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.fir.types
import org.jetbrains.kotlin.fir.VisitedSupertype
import org.jetbrains.kotlin.fir.visitors.FirVisitor
interface FirResolvedTypeRef : FirTypeRef {
val type: ConeKotlinType
override fun accept(visitor: FirVisitor, data: D): R =
visitor.visitResolvedTypeRef(this, data)
}
interface FirResolvedFunctionTypeRef : @VisitedSupertype FirResolvedTypeRef, FirFunctionTypeRef {
override fun accept(visitor: FirVisitor, data: D): R =
visitor.visitResolvedFunctionTypeRef(this, data)
}
inline fun FirTypeRef.coneTypeUnsafe() = (this as FirResolvedTypeRef).type as T
inline fun FirTypeRef.coneTypeSafe() = (this as? FirResolvedTypeRef)?.type as? T