FIR structure: reuse StandardClassIds in implicit built-in typeRef
This commit is contained in:
@@ -15,7 +15,10 @@ object StandardClassIds {
|
||||
private fun String.baseId() = ClassId(BASE_KOTLIN_PACKAGE, Name.identifier(this))
|
||||
|
||||
val Nothing = "Nothing".baseId()
|
||||
val Unit = "Unit".baseId()
|
||||
val Any = "Any".baseId()
|
||||
val Enum = "Enum".baseId()
|
||||
val Annotation = "Annotation".baseId()
|
||||
val Array = "Array".baseId()
|
||||
|
||||
val Boolean = "Boolean".baseId()
|
||||
|
||||
+6
-10
@@ -6,13 +6,11 @@
|
||||
package org.jetbrains.kotlin.fir.types.impl
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
||||
import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqNameUnsafe
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
sealed class FirImplicitBuiltinTypeRef(
|
||||
override val session: FirSession,
|
||||
@@ -21,31 +19,29 @@ sealed class FirImplicitBuiltinTypeRef(
|
||||
) : FirImplicitTypeRef {
|
||||
override val annotations: List<FirAnnotationCall>
|
||||
get() = emptyList()
|
||||
|
||||
constructor(session: FirSession, psi: PsiElement?, name: FqNameUnsafe) : this(session, psi, ClassId.topLevel(name.toSafe()))
|
||||
}
|
||||
|
||||
class FirImplicitUnitTypeRef(
|
||||
session: FirSession,
|
||||
psi: PsiElement?
|
||||
) : FirImplicitBuiltinTypeRef(session, psi, KotlinBuiltIns.FQ_NAMES.unit)
|
||||
) : FirImplicitBuiltinTypeRef(session, psi, StandardClassIds.Unit)
|
||||
|
||||
class FirImplicitAnyTypeRef(
|
||||
session: FirSession,
|
||||
psi: PsiElement?
|
||||
) : FirImplicitBuiltinTypeRef(session, psi, KotlinBuiltIns.FQ_NAMES.any)
|
||||
) : FirImplicitBuiltinTypeRef(session, psi, StandardClassIds.Any)
|
||||
|
||||
class FirImplicitEnumTypeRef(
|
||||
session: FirSession,
|
||||
psi: PsiElement?
|
||||
) : FirImplicitBuiltinTypeRef(session, psi, KotlinBuiltIns.FQ_NAMES._enum)
|
||||
) : FirImplicitBuiltinTypeRef(session, psi, StandardClassIds.Enum)
|
||||
|
||||
class FirImplicitAnnotationTypeRef(
|
||||
session: FirSession,
|
||||
psi: PsiElement?
|
||||
) : FirImplicitBuiltinTypeRef(session, psi, KotlinBuiltIns.FQ_NAMES.annotation.toUnsafe())
|
||||
) : FirImplicitBuiltinTypeRef(session, psi, StandardClassIds.Annotation)
|
||||
|
||||
class FirImplicitBooleanTypeRef(
|
||||
session: FirSession,
|
||||
psi: PsiElement?
|
||||
) : FirImplicitBuiltinTypeRef(session, psi, KotlinBuiltIns.FQ_NAMES._boolean)
|
||||
) : FirImplicitBuiltinTypeRef(session, psi, StandardClassIds.Boolean)
|
||||
|
||||
Reference in New Issue
Block a user