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