FIR2IR: support reading of isNewPlaceForBodyGeneration in lazy class
This commit is contained in:
+5
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.fir.caches.createCache
|
||||
import org.jetbrains.kotlin.fir.caches.firCachesFactory
|
||||
import org.jetbrains.kotlin.fir.caches.getValue
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.isNewPlaceForBodyGeneration
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals
|
||||
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
||||
@@ -88,11 +89,14 @@ abstract class AbstractFirDeserializedSymbolProvider(
|
||||
// ------------------------ Abstract members ------------------------
|
||||
|
||||
protected abstract fun computePackagePartsInfos(packageFqName: FqName): List<PackagePartsCacheData>
|
||||
|
||||
protected abstract fun extractClassMetadata(
|
||||
classId: ClassId,
|
||||
parentContext: FirDeserializationContext? = null
|
||||
): ClassMetadataFindResult?
|
||||
|
||||
protected abstract fun isNewPlaceForBodyGeneration(classProto: ProtoBuf.Class): Boolean
|
||||
|
||||
// ------------------------ Deserialization methods ------------------------
|
||||
|
||||
sealed class ClassMetadataFindResult {
|
||||
@@ -151,6 +155,7 @@ abstract class AbstractFirDeserializedSymbolProvider(
|
||||
origin = defaultDeserializationOrigin,
|
||||
deserializeNestedClass = this::getClass,
|
||||
)
|
||||
symbol.fir.isNewPlaceForBodyGeneration = isNewPlaceForBodyGeneration(classProto)
|
||||
symbol to postProcessor
|
||||
}
|
||||
null -> null to null
|
||||
|
||||
Reference in New Issue
Block a user