FIR: introduce class & type alias symbols

This commit is contained in:
Mikhail Glukhikh
2018-03-22 13:33:28 +03:00
parent 093a236e34
commit ce113fbe2e
23 changed files with 196 additions and 97 deletions
@@ -5,12 +5,21 @@
package org.jetbrains.kotlin.fir.symbols
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
import org.jetbrains.kotlin.name.ClassId
interface ConeSymbol
interface ConeTypeParameterSymbol : ConeSymbol
class ConeClassLikeSymbol(val classId: ClassId) : ConeSymbol
interface ConeClassLikeSymbol : ConeSymbol {
val classId: ClassId
}
fun ClassId.toSymbol() = ConeClassLikeSymbol(this)
interface ConeTypeAliasSymbol : ConeClassLikeSymbol {
val expansionType: ConeClassLikeType
}
interface ConeClassSymbol : ConeClassLikeSymbol {
val superTypes: List<ConeClassLikeType>
}