FIR: Introduce FirDeclarationOrigin.BuiltIns
This commit is contained in:
+3
-2
@@ -52,6 +52,7 @@ fun deserializeClassToSymbol(
|
|||||||
scopeProvider: FirScopeProvider,
|
scopeProvider: FirScopeProvider,
|
||||||
parentContext: FirDeserializationContext? = null,
|
parentContext: FirDeserializationContext? = null,
|
||||||
containerSource: DeserializedContainerSource? = null,
|
containerSource: DeserializedContainerSource? = null,
|
||||||
|
origin: FirDeclarationOrigin = FirDeclarationOrigin.Library,
|
||||||
deserializeNestedClass: (ClassId, FirDeserializationContext) -> FirRegularClassSymbol?
|
deserializeNestedClass: (ClassId, FirDeserializationContext) -> FirRegularClassSymbol?
|
||||||
) {
|
) {
|
||||||
val flags = classProto.flags
|
val flags = classProto.flags
|
||||||
@@ -94,7 +95,7 @@ fun deserializeClassToSymbol(
|
|||||||
}
|
}
|
||||||
buildRegularClass {
|
buildRegularClass {
|
||||||
this.session = session
|
this.session = session
|
||||||
origin = FirDeclarationOrigin.Library
|
this.origin = origin
|
||||||
name = classId.shortClassName
|
name = classId.shortClassName
|
||||||
this.status = status
|
this.status = status
|
||||||
classKind = ProtoEnumFlags.classKind(kind)
|
classKind = ProtoEnumFlags.classKind(kind)
|
||||||
@@ -151,7 +152,7 @@ fun deserializeClassToSymbol(
|
|||||||
val enumType = ConeClassLikeTypeImpl(symbol.toLookupTag(), emptyArray(), false)
|
val enumType = ConeClassLikeTypeImpl(symbol.toLookupTag(), emptyArray(), false)
|
||||||
val property = buildEnumEntry {
|
val property = buildEnumEntry {
|
||||||
this.session = session
|
this.session = session
|
||||||
origin = FirDeclarationOrigin.Library
|
this.origin = FirDeclarationOrigin.Library
|
||||||
returnTypeRef = buildResolvedTypeRef { type = enumType }
|
returnTypeRef = buildResolvedTypeRef { type = enumType }
|
||||||
name = enumEntryName
|
name = enumEntryName
|
||||||
this.symbol = FirVariableSymbol(CallableId(classId, enumEntryName))
|
this.symbol = FirVariableSymbol(CallableId(classId, enumEntryName))
|
||||||
|
|||||||
+1
@@ -303,6 +303,7 @@ class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider: Kot
|
|||||||
classId, classProto, symbol, nameResolver, session,
|
classId, classProto, symbol, nameResolver, session,
|
||||||
null, kotlinScopeProvider, parentContext,
|
null, kotlinScopeProvider, parentContext,
|
||||||
null,
|
null,
|
||||||
|
origin = FirDeclarationOrigin.BuiltIns,
|
||||||
this::findAndDeserializeClass,
|
this::findAndDeserializeClass,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -200,7 +200,7 @@ class KotlinDeserializedJvmSymbolsProvider(
|
|||||||
JvmBinaryAnnotationDeserializer(session, kotlinClass.kotlinJvmBinaryClass, kotlinClass.byteContent),
|
JvmBinaryAnnotationDeserializer(session, kotlinClass.kotlinJvmBinaryClass, kotlinClass.byteContent),
|
||||||
kotlinScopeProvider,
|
kotlinScopeProvider,
|
||||||
parentContext, KotlinJvmBinarySourceElement(kotlinClass.kotlinJvmBinaryClass),
|
parentContext, KotlinJvmBinarySourceElement(kotlinClass.kotlinJvmBinaryClass),
|
||||||
this::getClass
|
deserializeNestedClass = this::getClass,
|
||||||
)
|
)
|
||||||
|
|
||||||
return symbol to kotlinClass
|
return symbol to kotlinClass
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations
|
|||||||
sealed class FirDeclarationOrigin(val fromSupertypes: Boolean = false) {
|
sealed class FirDeclarationOrigin(val fromSupertypes: Boolean = false) {
|
||||||
object Source : FirDeclarationOrigin()
|
object Source : FirDeclarationOrigin()
|
||||||
object Library : FirDeclarationOrigin()
|
object Library : FirDeclarationOrigin()
|
||||||
|
object BuiltIns : FirDeclarationOrigin()
|
||||||
object Java : FirDeclarationOrigin()
|
object Java : FirDeclarationOrigin()
|
||||||
object Synthetic : FirDeclarationOrigin()
|
object Synthetic : FirDeclarationOrigin()
|
||||||
object SamConstructor : FirDeclarationOrigin()
|
object SamConstructor : FirDeclarationOrigin()
|
||||||
|
|||||||
+1
-1
@@ -32,7 +32,7 @@ private tailrec fun FirDeclaration.ktSymbolOrigin(): KtSymbolOrigin = when (orig
|
|||||||
KtSymbolOrigin.SOURCE_MEMBER_GENERATED
|
KtSymbolOrigin.SOURCE_MEMBER_GENERATED
|
||||||
} else KtSymbolOrigin.SOURCE
|
} else KtSymbolOrigin.SOURCE
|
||||||
}
|
}
|
||||||
FirDeclarationOrigin.Library -> KtSymbolOrigin.LIBRARY
|
FirDeclarationOrigin.Library, FirDeclarationOrigin.BuiltIns -> KtSymbolOrigin.LIBRARY
|
||||||
FirDeclarationOrigin.Java -> KtSymbolOrigin.JAVA
|
FirDeclarationOrigin.Java -> KtSymbolOrigin.JAVA
|
||||||
FirDeclarationOrigin.SamConstructor -> KtSymbolOrigin.SAM_CONSTRUCTOR
|
FirDeclarationOrigin.SamConstructor -> KtSymbolOrigin.SAM_CONSTRUCTOR
|
||||||
FirDeclarationOrigin.Enhancement -> KtSymbolOrigin.JAVA
|
FirDeclarationOrigin.Enhancement -> KtSymbolOrigin.JAVA
|
||||||
|
|||||||
Reference in New Issue
Block a user