[FIR2IR] Get rid of forceTopLevelPrivate parameter in signature composer
Seems like it has no sense now
This commit is contained in:
committed by
Space Team
parent
5f36f80d25
commit
a75d5353ee
@@ -59,7 +59,6 @@ import org.jetbrains.kotlin.psi.psiUtil.startOffsetSkippingComments
|
|||||||
import org.jetbrains.kotlin.types.ConstantValueKind
|
import org.jetbrains.kotlin.types.ConstantValueKind
|
||||||
import org.jetbrains.kotlin.types.Variance
|
import org.jetbrains.kotlin.types.Variance
|
||||||
import org.jetbrains.kotlin.util.OperatorNameConventions
|
import org.jetbrains.kotlin.util.OperatorNameConventions
|
||||||
import java.util.HashMap
|
|
||||||
|
|
||||||
fun AbstractKtSourceElement?.startOffsetSkippingComments(): Int? {
|
fun AbstractKtSourceElement?.startOffsetSkippingComments(): Int? {
|
||||||
return when (this) {
|
return when (this) {
|
||||||
|
|||||||
@@ -525,7 +525,6 @@ class Fir2IrClassifierStorage(
|
|||||||
enumEntry: FirEnumEntry,
|
enumEntry: FirEnumEntry,
|
||||||
irParent: IrClass,
|
irParent: IrClass,
|
||||||
predefinedOrigin: IrDeclarationOrigin? = null,
|
predefinedOrigin: IrDeclarationOrigin? = null,
|
||||||
forceTopLevelPrivate: Boolean = false,
|
|
||||||
): IrEnumEntry {
|
): IrEnumEntry {
|
||||||
getCachedIrEnumEntry(enumEntry)?.let { return it }
|
getCachedIrEnumEntry(enumEntry)?.let { return it }
|
||||||
val containingFile = firProvider.getFirCallableContainerFile(enumEntry.symbol)
|
val containingFile = firProvider.getFirCallableContainerFile(enumEntry.symbol)
|
||||||
@@ -539,8 +538,7 @@ class Fir2IrClassifierStorage(
|
|||||||
return createIrEnumEntry(
|
return createIrEnumEntry(
|
||||||
enumEntry,
|
enumEntry,
|
||||||
irParent = irParent,
|
irParent = irParent,
|
||||||
predefinedOrigin = predefinedOrigin,
|
predefinedOrigin = predefinedOrigin
|
||||||
forceTopLevelPrivate
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -561,10 +559,9 @@ class Fir2IrClassifierStorage(
|
|||||||
enumEntry: FirEnumEntry,
|
enumEntry: FirEnumEntry,
|
||||||
irParent: IrClass?,
|
irParent: IrClass?,
|
||||||
predefinedOrigin: IrDeclarationOrigin? = null,
|
predefinedOrigin: IrDeclarationOrigin? = null,
|
||||||
forceTopLevelPrivate: Boolean = false,
|
|
||||||
): IrEnumEntry {
|
): IrEnumEntry {
|
||||||
return enumEntry.convertWithOffsets { startOffset, endOffset ->
|
return enumEntry.convertWithOffsets { startOffset, endOffset ->
|
||||||
val signature = signatureComposer.composeSignature(enumEntry, forceTopLevelPrivate = forceTopLevelPrivate)
|
val signature = signatureComposer.composeSignature(enumEntry)
|
||||||
val result = declareIrEnumEntry(signature) { symbol ->
|
val result = declareIrEnumEntry(signature) { symbol ->
|
||||||
val origin = enumEntry.computeIrOrigin(predefinedOrigin)
|
val origin = enumEntry.computeIrOrigin(predefinedOrigin)
|
||||||
irFactory.createEnumEntry(
|
irFactory.createEnumEntry(
|
||||||
@@ -600,7 +597,7 @@ class Fir2IrClassifierStorage(
|
|||||||
return initializer is FirAnonymousObjectExpression && initializer.anonymousObject.declarations.any { it !is FirConstructor }
|
return initializer is FirAnonymousObjectExpression && initializer.anonymousObject.declarations.any { it !is FirConstructor }
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getIrClassSymbol(firClassSymbol: FirClassSymbol<*>, forceTopLevelPrivate: Boolean = false): IrClassSymbol {
|
fun getIrClassSymbol(firClassSymbol: FirClassSymbol<*>): IrClassSymbol {
|
||||||
val firClass = firClassSymbol.fir
|
val firClass = firClassSymbol.fir
|
||||||
getCachedIrClass(firClass)?.let { return it.symbol }
|
getCachedIrClass(firClass)?.let { return it.symbol }
|
||||||
if (firClass is FirAnonymousObject || firClass is FirRegularClass && firClass.visibility == Visibilities.Local) {
|
if (firClass is FirAnonymousObject || firClass is FirRegularClass && firClass.visibility == Visibilities.Local) {
|
||||||
@@ -616,7 +613,7 @@ class Fir2IrClassifierStorage(
|
|||||||
getCachedIrClass(firClass)?.let { return it.symbol }
|
getCachedIrClass(firClass)?.let { return it.symbol }
|
||||||
|
|
||||||
val signature = runIf(configuration.linkViaSignatures) {
|
val signature = runIf(configuration.linkViaSignatures) {
|
||||||
signatureComposer.composeSignature(firClass, forceTopLevelPrivate = forceTopLevelPrivate)
|
signatureComposer.composeSignature(firClass)
|
||||||
}
|
}
|
||||||
val irClass = firClass.convertWithOffsets { startOffset, endOffset ->
|
val irClass = firClass.convertWithOffsets { startOffset, endOffset ->
|
||||||
declareIrClass(signature) { irClassSymbol ->
|
declareIrClass(signature) { irClassSymbol ->
|
||||||
|
|||||||
+11
-30
@@ -510,15 +510,13 @@ class Fir2IrDeclarationStorage(
|
|||||||
function: FirSimpleFunction,
|
function: FirSimpleFunction,
|
||||||
irParent: IrDeclarationParent?,
|
irParent: IrDeclarationParent?,
|
||||||
isLocal: Boolean = false,
|
isLocal: Boolean = false,
|
||||||
forceTopLevelPrivate: Boolean = false,
|
|
||||||
): IrSimpleFunction {
|
): IrSimpleFunction {
|
||||||
getCachedIrFunction(function)?.let { return it }
|
getCachedIrFunction(function)?.let { return it }
|
||||||
return createIrFunction(
|
return createIrFunction(
|
||||||
function,
|
function,
|
||||||
irParent,
|
irParent,
|
||||||
fakeOverrideOwnerLookupTag = function.containingClassLookupTag(),
|
|
||||||
isLocal = isLocal,
|
isLocal = isLocal,
|
||||||
forceTopLevelPrivate = forceTopLevelPrivate
|
fakeOverrideOwnerLookupTag = function.containingClassLookupTag()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -529,7 +527,6 @@ class Fir2IrDeclarationStorage(
|
|||||||
predefinedOrigin: IrDeclarationOrigin? = null,
|
predefinedOrigin: IrDeclarationOrigin? = null,
|
||||||
isLocal: Boolean = false,
|
isLocal: Boolean = false,
|
||||||
fakeOverrideOwnerLookupTag: ConeClassLikeLookupTag? = null,
|
fakeOverrideOwnerLookupTag: ConeClassLikeLookupTag? = null,
|
||||||
forceTopLevelPrivate: Boolean = false,
|
|
||||||
): IrSimpleFunction = convertCatching(function) {
|
): IrSimpleFunction = convertCatching(function) {
|
||||||
val simpleFunction = function as? FirSimpleFunction
|
val simpleFunction = function as? FirSimpleFunction
|
||||||
val isLambda = function is FirAnonymousFunction && function.isLambda
|
val isLambda = function is FirAnonymousFunction && function.isLambda
|
||||||
@@ -559,7 +556,7 @@ class Fir2IrDeclarationStorage(
|
|||||||
function.dispatchReceiverType?.isPrimitive != true && function.containerSource == null &&
|
function.dispatchReceiverType?.isPrimitive != true && function.containerSource == null &&
|
||||||
updatedOrigin != IrDeclarationOrigin.FAKE_OVERRIDE && !function.isOverride
|
updatedOrigin != IrDeclarationOrigin.FAKE_OVERRIDE && !function.isOverride
|
||||||
) {
|
) {
|
||||||
signatureComposer.composeSignature(function, fakeOverrideOwnerLookupTag, forceTopLevelPrivate)
|
signatureComposer.composeSignature(function, fakeOverrideOwnerLookupTag)
|
||||||
}
|
}
|
||||||
if (irParent is Fir2IrLazyClass && signature != null) {
|
if (irParent is Fir2IrLazyClass && signature != null) {
|
||||||
// For private functions signature is null, fallback to non-lazy function
|
// For private functions signature is null, fallback to non-lazy function
|
||||||
@@ -659,13 +656,12 @@ class Fir2IrDeclarationStorage(
|
|||||||
irParent: IrClass,
|
irParent: IrClass,
|
||||||
predefinedOrigin: IrDeclarationOrigin? = null,
|
predefinedOrigin: IrDeclarationOrigin? = null,
|
||||||
isLocal: Boolean = false,
|
isLocal: Boolean = false,
|
||||||
forceTopLevelPrivate: Boolean = false,
|
|
||||||
): IrConstructor = convertCatching(constructor) {
|
): IrConstructor = convertCatching(constructor) {
|
||||||
val origin = constructor.computeIrOrigin(predefinedOrigin)
|
val origin = constructor.computeIrOrigin(predefinedOrigin)
|
||||||
val isPrimary = constructor.isPrimary
|
val isPrimary = constructor.isPrimary
|
||||||
val signature =
|
val signature =
|
||||||
runUnless(isLocal || !configuration.linkViaSignatures) {
|
runUnless(isLocal || !configuration.linkViaSignatures) {
|
||||||
signatureComposer.composeSignature(constructor, forceTopLevelPrivate = forceTopLevelPrivate)
|
signatureComposer.composeSignature(constructor)
|
||||||
}
|
}
|
||||||
val visibility = if (irParent.isAnonymousObject) Visibilities.Public else constructor.visibility
|
val visibility = if (irParent.isAnonymousObject) Visibilities.Public else constructor.visibility
|
||||||
return constructor.convertWithOffsets { startOffset, endOffset ->
|
return constructor.convertWithOffsets { startOffset, endOffset ->
|
||||||
@@ -701,10 +697,9 @@ class Fir2IrDeclarationStorage(
|
|||||||
irParent: IrClass,
|
irParent: IrClass,
|
||||||
predefinedOrigin: IrDeclarationOrigin? = null,
|
predefinedOrigin: IrDeclarationOrigin? = null,
|
||||||
isLocal: Boolean = false,
|
isLocal: Boolean = false,
|
||||||
forceTopLevelPrivate: Boolean = false,
|
|
||||||
): IrConstructor {
|
): IrConstructor {
|
||||||
getCachedIrConstructor(constructor)?.let { return it }
|
getCachedIrConstructor(constructor)?.let { return it }
|
||||||
return createIrConstructor(constructor, irParent, predefinedOrigin, isLocal, forceTopLevelPrivate = forceTopLevelPrivate)
|
return createIrConstructor(constructor, irParent, predefinedOrigin, isLocal)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun declareIrAccessor(
|
private fun declareIrAccessor(
|
||||||
@@ -730,12 +725,11 @@ class Fir2IrDeclarationStorage(
|
|||||||
dontUseSignature: Boolean = false,
|
dontUseSignature: Boolean = false,
|
||||||
fakeOverrideOwnerLookupTag: ConeClassLikeLookupTag? = null,
|
fakeOverrideOwnerLookupTag: ConeClassLikeLookupTag? = null,
|
||||||
propertyAccessorForAnnotations: FirPropertyAccessor? = propertyAccessor,
|
propertyAccessorForAnnotations: FirPropertyAccessor? = propertyAccessor,
|
||||||
forceTopLevelPrivate: Boolean = false,
|
|
||||||
): IrSimpleFunction = convertCatching(propertyAccessor ?: property) {
|
): IrSimpleFunction = convertCatching(propertyAccessor ?: property) {
|
||||||
val prefix = if (isSetter) "set" else "get"
|
val prefix = if (isSetter) "set" else "get"
|
||||||
val signature =
|
val signature =
|
||||||
runUnless(dontUseSignature) {
|
runUnless(dontUseSignature) {
|
||||||
signatureComposer.composeAccessorSignature(property, isSetter, fakeOverrideOwnerLookupTag, forceTopLevelPrivate)
|
signatureComposer.composeAccessorSignature(property, isSetter, fakeOverrideOwnerLookupTag)
|
||||||
}
|
}
|
||||||
val containerSource = (correspondingProperty as? IrProperty)?.containerSource
|
val containerSource = (correspondingProperty as? IrProperty)?.containerSource
|
||||||
return declareIrAccessor(
|
return declareIrAccessor(
|
||||||
@@ -862,10 +856,9 @@ class Fir2IrDeclarationStorage(
|
|||||||
property: FirProperty,
|
property: FirProperty,
|
||||||
irParent: IrDeclarationParent?,
|
irParent: IrDeclarationParent?,
|
||||||
isLocal: Boolean = false,
|
isLocal: Boolean = false,
|
||||||
forceTopLevelPrivate: Boolean = false,
|
|
||||||
): IrProperty {
|
): IrProperty {
|
||||||
getCachedIrProperty(property)?.let { return it }
|
getCachedIrProperty(property)?.let { return it }
|
||||||
return createIrProperty(property, irParent, isLocal = isLocal, forceTopLevelPrivate = forceTopLevelPrivate)
|
return createIrProperty(property, irParent, isLocal = isLocal)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getOrCreateIrPropertyByPureField(
|
fun getOrCreateIrPropertyByPureField(
|
||||||
@@ -912,7 +905,6 @@ class Fir2IrDeclarationStorage(
|
|||||||
predefinedOrigin: IrDeclarationOrigin? = null,
|
predefinedOrigin: IrDeclarationOrigin? = null,
|
||||||
isLocal: Boolean = false,
|
isLocal: Boolean = false,
|
||||||
fakeOverrideOwnerLookupTag: ConeClassLikeLookupTag? = (irParent as? IrClass)?.classId?.toLookupTag(),
|
fakeOverrideOwnerLookupTag: ConeClassLikeLookupTag? = (irParent as? IrClass)?.classId?.toLookupTag(),
|
||||||
forceTopLevelPrivate: Boolean = false,
|
|
||||||
): IrProperty = convertCatching(property) {
|
): IrProperty = convertCatching(property) {
|
||||||
val origin =
|
val origin =
|
||||||
if (property.isStatic && property.name in ENUM_SYNTHETIC_NAMES) IrDeclarationOrigin.ENUM_CLASS_SPECIAL_MEMBER
|
if (property.isStatic && property.name in ENUM_SYNTHETIC_NAMES) IrDeclarationOrigin.ENUM_CLASS_SPECIAL_MEMBER
|
||||||
@@ -925,7 +917,7 @@ class Fir2IrDeclarationStorage(
|
|||||||
property.dispatchReceiverType?.isPrimitive != true && property.containerSource == null &&
|
property.dispatchReceiverType?.isPrimitive != true && property.containerSource == null &&
|
||||||
origin != IrDeclarationOrigin.FAKE_OVERRIDE && !property.isOverride
|
origin != IrDeclarationOrigin.FAKE_OVERRIDE && !property.isOverride
|
||||||
) {
|
) {
|
||||||
signatureComposer.composeSignature(property, fakeOverrideOwnerLookupTag, forceTopLevelPrivate)
|
signatureComposer.composeSignature(property, fakeOverrideOwnerLookupTag)
|
||||||
}
|
}
|
||||||
if (irParent is Fir2IrLazyClass && signature != null) {
|
if (irParent is Fir2IrLazyClass && signature != null) {
|
||||||
// For private functions signature is null, fallback to non-lazy property
|
// For private functions signature is null, fallback to non-lazy property
|
||||||
@@ -1007,7 +999,6 @@ class Fir2IrDeclarationStorage(
|
|||||||
startOffset, endOffset,
|
startOffset, endOffset,
|
||||||
dontUseSignature = signature == null, fakeOverrideOwnerLookupTag,
|
dontUseSignature = signature == null, fakeOverrideOwnerLookupTag,
|
||||||
property.unwrapFakeOverrides().getter,
|
property.unwrapFakeOverrides().getter,
|
||||||
forceTopLevelPrivate = forceTopLevelPrivate,
|
|
||||||
)
|
)
|
||||||
if (property.isVar) {
|
if (property.isVar) {
|
||||||
this.setter = createIrPropertyAccessor(
|
this.setter = createIrPropertyAccessor(
|
||||||
@@ -1022,7 +1013,6 @@ class Fir2IrDeclarationStorage(
|
|||||||
startOffset, endOffset,
|
startOffset, endOffset,
|
||||||
dontUseSignature = signature == null, fakeOverrideOwnerLookupTag,
|
dontUseSignature = signature == null, fakeOverrideOwnerLookupTag,
|
||||||
property.unwrapFakeOverrides().setter,
|
property.unwrapFakeOverrides().setter,
|
||||||
forceTopLevelPrivate = forceTopLevelPrivate,
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
leaveScope(this)
|
leaveScope(this)
|
||||||
@@ -1368,14 +1358,14 @@ class Fir2IrDeclarationStorage(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getIrConstructorSymbol(firConstructorSymbol: FirConstructorSymbol, forceTopLevelPrivate: Boolean = false): IrConstructorSymbol {
|
fun getIrConstructorSymbol(firConstructorSymbol: FirConstructorSymbol): IrConstructorSymbol {
|
||||||
val fir = firConstructorSymbol.fir
|
val fir = firConstructorSymbol.fir
|
||||||
return getIrCallableSymbol(
|
return getIrCallableSymbol(
|
||||||
firConstructorSymbol,
|
firConstructorSymbol,
|
||||||
fakeOverrideOwnerLookupTag = null,
|
fakeOverrideOwnerLookupTag = null,
|
||||||
getCachedIrDeclaration = { constructor: FirConstructor, _, calculator -> getCachedIrConstructor(constructor, calculator) },
|
getCachedIrDeclaration = { constructor: FirConstructor, _, calculator -> getCachedIrConstructor(constructor, calculator) },
|
||||||
createIrDeclaration = { parent, origin ->
|
createIrDeclaration = { parent, origin ->
|
||||||
createIrConstructor(fir, parent as IrClass, predefinedOrigin = origin, forceTopLevelPrivate = forceTopLevelPrivate)
|
createIrConstructor(fir, parent as IrClass, predefinedOrigin = origin)
|
||||||
},
|
},
|
||||||
createIrLazyDeclaration = { signature, lazyParent, declarationOrigin ->
|
createIrLazyDeclaration = { signature, lazyParent, declarationOrigin ->
|
||||||
val symbol = Fir2IrConstructorSymbol(signature)
|
val symbol = Fir2IrConstructorSymbol(signature)
|
||||||
@@ -1393,14 +1383,12 @@ class Fir2IrDeclarationStorage(
|
|||||||
(irConstructor as Fir2IrLazyConstructor).prepareTypeParameters()
|
(irConstructor as Fir2IrLazyConstructor).prepareTypeParameters()
|
||||||
irConstructor
|
irConstructor
|
||||||
},
|
},
|
||||||
forceTopLevelPrivate = forceTopLevelPrivate
|
|
||||||
) as IrConstructorSymbol
|
) as IrConstructorSymbol
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getIrFunctionSymbol(
|
fun getIrFunctionSymbol(
|
||||||
firFunctionSymbol: FirFunctionSymbol<*>,
|
firFunctionSymbol: FirFunctionSymbol<*>,
|
||||||
fakeOverrideOwnerLookupTag: ConeClassLikeLookupTag? = null,
|
fakeOverrideOwnerLookupTag: ConeClassLikeLookupTag? = null,
|
||||||
forceTopLevelPrivate: Boolean = false,
|
|
||||||
): IrFunctionSymbol {
|
): IrFunctionSymbol {
|
||||||
return when (val fir = firFunctionSymbol.fir) {
|
return when (val fir = firFunctionSymbol.fir) {
|
||||||
is FirAnonymousFunction -> {
|
is FirAnonymousFunction -> {
|
||||||
@@ -1423,14 +1411,12 @@ class Fir2IrDeclarationStorage(
|
|||||||
createIrFunction(
|
createIrFunction(
|
||||||
fir, parent,
|
fir, parent,
|
||||||
predefinedOrigin = origin,
|
predefinedOrigin = origin,
|
||||||
forceTopLevelPrivate = forceTopLevelPrivate,
|
|
||||||
fakeOverrideOwnerLookupTag = fakeOverrideOwnerLookupTag,
|
fakeOverrideOwnerLookupTag = fakeOverrideOwnerLookupTag,
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
createIrLazyDeclaration = { signature, lazyParent, declarationOrigin ->
|
createIrLazyDeclaration = { signature, lazyParent, declarationOrigin ->
|
||||||
createIrLazyFunction(fir, signature, lazyParent, declarationOrigin)
|
createIrLazyFunction(fir, signature, lazyParent, declarationOrigin)
|
||||||
},
|
},
|
||||||
forceTopLevelPrivate = forceTopLevelPrivate
|
|
||||||
) as IrFunctionSymbol
|
) as IrFunctionSymbol
|
||||||
if (unmatchedOwner && fakeOverrideOwnerLookupTag is ConeClassLookupTagWithFixedSymbol) {
|
if (unmatchedOwner && fakeOverrideOwnerLookupTag is ConeClassLookupTagWithFixedSymbol) {
|
||||||
val originalFunction = originalSymbol.owner as IrSimpleFunction
|
val originalFunction = originalSymbol.owner as IrSimpleFunction
|
||||||
@@ -1440,7 +1426,7 @@ class Fir2IrDeclarationStorage(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
is FirConstructor -> {
|
is FirConstructor -> {
|
||||||
getIrConstructorSymbol(fir.symbol, forceTopLevelPrivate = forceTopLevelPrivate)
|
getIrConstructorSymbol(fir.symbol)
|
||||||
}
|
}
|
||||||
else -> error("Unknown kind of function: ${fir::class.java}: ${fir.render()}")
|
else -> error("Unknown kind of function: ${fir::class.java}: ${fir.render()}")
|
||||||
}
|
}
|
||||||
@@ -1473,7 +1459,6 @@ class Fir2IrDeclarationStorage(
|
|||||||
fun getIrPropertySymbol(
|
fun getIrPropertySymbol(
|
||||||
firPropertySymbol: FirPropertySymbol,
|
firPropertySymbol: FirPropertySymbol,
|
||||||
fakeOverrideOwnerLookupTag: ConeClassLikeLookupTag? = null,
|
fakeOverrideOwnerLookupTag: ConeClassLikeLookupTag? = null,
|
||||||
forceTopLevelPrivate: Boolean = false,
|
|
||||||
): IrSymbol {
|
): IrSymbol {
|
||||||
val fir = firPropertySymbol.fir
|
val fir = firPropertySymbol.fir
|
||||||
if (fir.isLocal) {
|
if (fir.isLocal) {
|
||||||
@@ -1491,14 +1476,12 @@ class Fir2IrDeclarationStorage(
|
|||||||
getCachedIrDeclaration = ::getCachedIrProperty,
|
getCachedIrDeclaration = ::getCachedIrProperty,
|
||||||
createIrDeclaration = { parent, origin ->
|
createIrDeclaration = { parent, origin ->
|
||||||
createIrProperty(
|
createIrProperty(
|
||||||
fir, parent, predefinedOrigin = origin, forceTopLevelPrivate = forceTopLevelPrivate,
|
fir, parent, predefinedOrigin = origin, fakeOverrideOwnerLookupTag = fakeOverrideOwnerLookupTag,
|
||||||
fakeOverrideOwnerLookupTag = fakeOverrideOwnerLookupTag,
|
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
createIrLazyDeclaration = { signature, lazyParent, declarationOrigin ->
|
createIrLazyDeclaration = { signature, lazyParent, declarationOrigin ->
|
||||||
createIrLazyProperty(fir, signature, lazyParent, declarationOrigin)
|
createIrLazyProperty(fir, signature, lazyParent, declarationOrigin)
|
||||||
},
|
},
|
||||||
forceTopLevelPrivate = forceTopLevelPrivate
|
|
||||||
)
|
)
|
||||||
|
|
||||||
val originalSymbol = fakeOverrideOwnerLookupTag.getIrCallableSymbol()
|
val originalSymbol = fakeOverrideOwnerLookupTag.getIrCallableSymbol()
|
||||||
@@ -1594,7 +1577,6 @@ class Fir2IrDeclarationStorage(
|
|||||||
getCachedIrDeclaration: (firDeclaration: F, dispatchReceiverLookupTag: ConeClassLikeLookupTag?, () -> IdSignature?) -> I?,
|
getCachedIrDeclaration: (firDeclaration: F, dispatchReceiverLookupTag: ConeClassLikeLookupTag?, () -> IdSignature?) -> I?,
|
||||||
createIrDeclaration: (parent: IrDeclarationParent?, origin: IrDeclarationOrigin) -> I,
|
createIrDeclaration: (parent: IrDeclarationParent?, origin: IrDeclarationOrigin) -> I,
|
||||||
createIrLazyDeclaration: (signature: IdSignature, lazyOwner: IrDeclarationParent, origin: IrDeclarationOrigin) -> I,
|
createIrLazyDeclaration: (signature: IdSignature, lazyOwner: IrDeclarationParent, origin: IrDeclarationOrigin) -> I,
|
||||||
forceTopLevelPrivate: Boolean = false,
|
|
||||||
): IrSymbol {
|
): IrSymbol {
|
||||||
val fir = firSymbol.fir as F
|
val fir = firSymbol.fir as F
|
||||||
val irParent by lazy { findIrParent(fir) }
|
val irParent by lazy { findIrParent(fir) }
|
||||||
@@ -1602,7 +1584,6 @@ class Fir2IrDeclarationStorage(
|
|||||||
signatureComposer.composeSignature(
|
signatureComposer.composeSignature(
|
||||||
fir,
|
fir,
|
||||||
fakeOverrideOwnerLookupTag,
|
fakeOverrideOwnerLookupTag,
|
||||||
forceTopLevelPrivate = forceTopLevelPrivate,
|
|
||||||
forceExpect = fakeOverrideOwnerLookupTag?.toSymbol(session)?.isExpect == true
|
forceExpect = fakeOverrideOwnerLookupTag?.toSymbol(session)?.isExpect == true
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.fir.backend
|
package org.jetbrains.kotlin.fir.backend
|
||||||
|
|
||||||
import org.jetbrains.kotlin.backend.common.extensions.FirIncompatiblePluginAPI
|
import org.jetbrains.kotlin.backend.common.extensions.FirIncompatiblePluginAPI
|
||||||
import org.jetbrains.kotlin.backend.common.extensions.IrAnnotationsFromPluginRegistrar
|
|
||||||
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
|
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
|
||||||
import org.jetbrains.kotlin.backend.common.ir.BuiltinSymbolsBase
|
import org.jetbrains.kotlin.backend.common.ir.BuiltinSymbolsBase
|
||||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||||
@@ -19,6 +18,7 @@ import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
|
|||||||
import org.jetbrains.kotlin.fir.scopes.*
|
import org.jetbrains.kotlin.fir.scopes.*
|
||||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||||
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||||
import org.jetbrains.kotlin.ir.IrBuiltIns
|
import org.jetbrains.kotlin.ir.IrBuiltIns
|
||||||
|
|||||||
@@ -7,11 +7,9 @@ package org.jetbrains.kotlin.fir.backend
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.backend.common.serialization.encodings.BinarySymbolData.SymbolKind
|
import org.jetbrains.kotlin.backend.common.serialization.encodings.BinarySymbolData.SymbolKind
|
||||||
import org.jetbrains.kotlin.backend.common.serialization.kind
|
import org.jetbrains.kotlin.backend.common.serialization.kind
|
||||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
|
||||||
import org.jetbrains.kotlin.fir.backend.generators.FakeOverrideGenerator
|
import org.jetbrains.kotlin.fir.backend.generators.FakeOverrideGenerator
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.utils.classId
|
import org.jetbrains.kotlin.fir.declarations.utils.classId
|
||||||
import org.jetbrains.kotlin.fir.declarations.utils.visibility
|
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||||
import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope
|
import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope
|
||||||
@@ -75,7 +73,6 @@ class FirIrProvider(val fir2IrComponents: Fir2IrComponents) : IrProvider {
|
|||||||
|
|
||||||
val firCandidates: List<FirDeclaration>
|
val firCandidates: List<FirDeclaration>
|
||||||
val parent: IrDeclarationParent
|
val parent: IrDeclarationParent
|
||||||
var isTopLevelPrivate = false
|
|
||||||
if (nameSegments.size == 1 && kind != SymbolKind.CLASS_SYMBOL) {
|
if (nameSegments.size == 1 && kind != SymbolKind.CLASS_SYMBOL) {
|
||||||
firCandidates = symbolProvider.getTopLevelCallableSymbols(packageFqName, topName).map { it.fir }
|
firCandidates = symbolProvider.getTopLevelCallableSymbols(packageFqName, topName).map { it.fir }
|
||||||
parent = packageFragment // TODO: need to insert file facade class on JVM
|
parent = packageFragment // TODO: need to insert file facade class on JVM
|
||||||
@@ -90,7 +87,6 @@ class FirIrProvider(val fir2IrComponents: Fir2IrComponents) : IrProvider {
|
|||||||
firClass = firClass.declarations.singleOrNull { (it as? FirRegularClass)?.name?.asString() == midName } as? FirRegularClass
|
firClass = firClass.declarations.singleOrNull { (it as? FirRegularClass)?.name?.asString() == midName } as? FirRegularClass
|
||||||
?: return null
|
?: return null
|
||||||
}
|
}
|
||||||
isTopLevelPrivate = topLevelClass.visibility == Visibilities.Private
|
|
||||||
val classId = firClass.classId
|
val classId = firClass.classId
|
||||||
val scope = firClass.unsubstitutedScope(
|
val scope = firClass.unsubstitutedScope(
|
||||||
fir2IrComponents.session,
|
fir2IrComponents.session,
|
||||||
@@ -171,23 +167,22 @@ class FirIrProvider(val fir2IrComponents: Fir2IrComponents) : IrProvider {
|
|||||||
|
|
||||||
return when (kind) {
|
return when (kind) {
|
||||||
SymbolKind.CLASS_SYMBOL -> classifierStorage.getIrClassSymbol(
|
SymbolKind.CLASS_SYMBOL -> classifierStorage.getIrClassSymbol(
|
||||||
(firDeclaration as FirRegularClass).symbol,
|
(firDeclaration as FirRegularClass).symbol
|
||||||
forceTopLevelPrivate = isTopLevelPrivate
|
|
||||||
).owner
|
).owner
|
||||||
SymbolKind.ENUM_ENTRY_SYMBOL -> classifierStorage.getIrEnumEntry(
|
SymbolKind.ENUM_ENTRY_SYMBOL -> classifierStorage.getIrEnumEntry(
|
||||||
firDeclaration as FirEnumEntry, parent as IrClass, forceTopLevelPrivate = isTopLevelPrivate
|
firDeclaration as FirEnumEntry, parent as IrClass
|
||||||
)
|
)
|
||||||
SymbolKind.CONSTRUCTOR_SYMBOL -> {
|
SymbolKind.CONSTRUCTOR_SYMBOL -> {
|
||||||
val firConstructor = firDeclaration as FirConstructor
|
val firConstructor = firDeclaration as FirConstructor
|
||||||
declarationStorage.getOrCreateIrConstructor(firConstructor, parent as IrClass, forceTopLevelPrivate = isTopLevelPrivate)
|
declarationStorage.getOrCreateIrConstructor(firConstructor, parent as IrClass)
|
||||||
}
|
}
|
||||||
SymbolKind.FUNCTION_SYMBOL -> {
|
SymbolKind.FUNCTION_SYMBOL -> {
|
||||||
val firSimpleFunction = firDeclaration as FirSimpleFunction
|
val firSimpleFunction = firDeclaration as FirSimpleFunction
|
||||||
declarationStorage.getOrCreateIrFunction(firSimpleFunction, parent, forceTopLevelPrivate = isTopLevelPrivate)
|
declarationStorage.getOrCreateIrFunction(firSimpleFunction, parent)
|
||||||
}
|
}
|
||||||
SymbolKind.PROPERTY_SYMBOL -> {
|
SymbolKind.PROPERTY_SYMBOL -> {
|
||||||
val firProperty = firDeclaration as FirProperty
|
val firProperty = firDeclaration as FirProperty
|
||||||
declarationStorage.getOrCreateIrProperty(firProperty, parent, forceTopLevelPrivate = isTopLevelPrivate)
|
declarationStorage.getOrCreateIrProperty(firProperty, parent)
|
||||||
}
|
}
|
||||||
SymbolKind.FIELD_SYMBOL -> {
|
SymbolKind.FIELD_SYMBOL -> {
|
||||||
val firField = firDeclaration as FirField
|
val firField = firDeclaration as FirField
|
||||||
|
|||||||
-1
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.backend.generators
|
package org.jetbrains.kotlin.fir.backend.generators
|
||||||
|
|
||||||
import org.jetbrains.kotlin.KtFakeSourceElementKind
|
|
||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
import org.jetbrains.kotlin.fir.backend.*
|
import org.jetbrains.kotlin.fir.backend.*
|
||||||
|
|||||||
+1
-3
@@ -24,7 +24,6 @@ import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
|
|||||||
import org.jetbrains.kotlin.ir.symbols.IrSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrSymbol
|
||||||
import org.jetbrains.kotlin.ir.types.*
|
import org.jetbrains.kotlin.ir.types.*
|
||||||
import org.jetbrains.kotlin.ir.util.IdSignature
|
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||||
import org.jetbrains.kotlin.ir.util.isComposite
|
|
||||||
import org.jetbrains.kotlin.ir.util.parentAsClass
|
import org.jetbrains.kotlin.ir.util.parentAsClass
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
@@ -283,8 +282,7 @@ class FakeOverrideGenerator(
|
|||||||
// have the same signature.
|
// have the same signature.
|
||||||
// Now we avoid this problem by signature caching,
|
// Now we avoid this problem by signature caching,
|
||||||
// so both FIR overrides correspond to one IR fake override
|
// so both FIR overrides correspond to one IR fake override
|
||||||
val isTopLevelPrivate = irClass.symbol.signature.isComposite()
|
signatureComposer.composeSignature(fakeOverrideFirDeclaration)
|
||||||
signatureComposer.composeSignature(fakeOverrideFirDeclaration, forceTopLevelPrivate = isTopLevelPrivate)
|
|
||||||
}?.takeIf { it.parent == irClass }
|
}?.takeIf { it.parent == irClass }
|
||||||
?: createIrDeclaration(
|
?: createIrDeclaration(
|
||||||
fakeOverrideFirDeclaration,
|
fakeOverrideFirDeclaration,
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ import org.jetbrains.kotlin.ir.types.IrSimpleType
|
|||||||
import org.jetbrains.kotlin.ir.types.IrType
|
import org.jetbrains.kotlin.ir.types.IrType
|
||||||
import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl
|
import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl
|
||||||
import org.jetbrains.kotlin.ir.util.DeserializableClass
|
import org.jetbrains.kotlin.ir.util.DeserializableClass
|
||||||
import org.jetbrains.kotlin.ir.util.isComposite
|
|
||||||
import org.jetbrains.kotlin.ir.util.isEnumClass
|
import org.jetbrains.kotlin.ir.util.isEnumClass
|
||||||
import org.jetbrains.kotlin.ir.util.isObject
|
import org.jetbrains.kotlin.ir.util.isObject
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
@@ -151,14 +150,13 @@ class Fir2IrLazyClass(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override val declarations: MutableList<IrDeclaration> by lazyVar(lock) {
|
override val declarations: MutableList<IrDeclaration> by lazyVar(lock) {
|
||||||
val isTopLevelPrivate = symbol.signature.isComposite()
|
|
||||||
val result = mutableListOf<IrDeclaration>()
|
val result = mutableListOf<IrDeclaration>()
|
||||||
// NB: it's necessary to take all callables from scope,
|
// NB: it's necessary to take all callables from scope,
|
||||||
// e.g. to avoid accessing un-enhanced Java declarations with FirJavaTypeRef etc. inside
|
// e.g. to avoid accessing un-enhanced Java declarations with FirJavaTypeRef etc. inside
|
||||||
val scope = fir.unsubstitutedScope(session, scopeSession, withForcedTypeCalculator = true, memberRequiredPhase = null)
|
val scope = fir.unsubstitutedScope(session, scopeSession, withForcedTypeCalculator = true, memberRequiredPhase = null)
|
||||||
scope.processDeclaredConstructors {
|
scope.processDeclaredConstructors {
|
||||||
if (shouldBuildStub(it.fir)) {
|
if (shouldBuildStub(it.fir)) {
|
||||||
result += declarationStorage.getIrConstructorSymbol(it, forceTopLevelPrivate = isTopLevelPrivate).owner
|
result += declarationStorage.getIrConstructorSymbol(it).owner
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -166,7 +164,7 @@ class Fir2IrLazyClass(
|
|||||||
scope.processClassifiersByName(name) {
|
scope.processClassifiersByName(name) {
|
||||||
val declaration = it.fir as? FirRegularClass ?: return@processClassifiersByName
|
val declaration = it.fir as? FirRegularClass ?: return@processClassifiersByName
|
||||||
if (declaration.classId.outerClassId == fir.classId && shouldBuildStub(declaration)) {
|
if (declaration.classId.outerClassId == fir.classId && shouldBuildStub(declaration)) {
|
||||||
val nestedSymbol = classifierStorage.getIrClassSymbol(declaration.symbol, forceTopLevelPrivate = isTopLevelPrivate)
|
val nestedSymbol = classifierStorage.getIrClassSymbol(declaration.symbol)
|
||||||
result += nestedSymbol.owner
|
result += nestedSymbol.owner
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -192,7 +190,7 @@ class Fir2IrLazyClass(
|
|||||||
if (it.isAbstractMethodOfAny()) {
|
if (it.isAbstractMethodOfAny()) {
|
||||||
return@processFunctionsByName
|
return@processFunctionsByName
|
||||||
}
|
}
|
||||||
result += declarationStorage.getIrFunctionSymbol(it, forceTopLevelPrivate = isTopLevelPrivate).owner
|
result += declarationStorage.getIrFunctionSymbol(it).owner
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
scope.processPropertiesByName(name) {
|
scope.processPropertiesByName(name) {
|
||||||
@@ -200,7 +198,7 @@ class Fir2IrLazyClass(
|
|||||||
if (!shouldBuildStub(it.fir)) return@processPropertiesByName
|
if (!shouldBuildStub(it.fir)) return@processPropertiesByName
|
||||||
if (it is FirPropertySymbol && (it.isStatic || it.dispatchReceiverClassLookupTagOrNull() == ownerLookupTag)) {
|
if (it is FirPropertySymbol && (it.isStatic || it.dispatchReceiverClassLookupTagOrNull() == ownerLookupTag)) {
|
||||||
result.addIfNotNull(
|
result.addIfNotNull(
|
||||||
declarationStorage.getIrPropertySymbol(it, forceTopLevelPrivate = isTopLevelPrivate).owner as? IrDeclaration
|
declarationStorage.getIrPropertySymbol(it).owner as? IrDeclaration
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,10 +25,7 @@ import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
|||||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
|
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
|
import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
|
||||||
import org.jetbrains.kotlin.ir.types.IrErrorType
|
|
||||||
import org.jetbrains.kotlin.ir.types.IrType
|
import org.jetbrains.kotlin.ir.types.IrType
|
||||||
import org.jetbrains.kotlin.ir.util.isComposite
|
|
||||||
import org.jetbrains.kotlin.ir.util.isInterface
|
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.name.NameUtils
|
import org.jetbrains.kotlin.name.NameUtils
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||||
@@ -170,8 +167,7 @@ class Fir2IrLazyProperty(
|
|||||||
val signature = signatureComposer.composeAccessorSignature(
|
val signature = signatureComposer.composeAccessorSignature(
|
||||||
fir,
|
fir,
|
||||||
isSetter = false,
|
isSetter = false,
|
||||||
containingClass?.symbol?.toLookupTag(),
|
containingClass?.symbol?.toLookupTag()
|
||||||
forceTopLevelPrivate = symbol.signature.isComposite()
|
|
||||||
)!!
|
)!!
|
||||||
symbolTable.declareSimpleFunction(signature, symbolFactory = { Fir2IrSimpleFunctionSymbol(signature) }) { symbol ->
|
symbolTable.declareSimpleFunction(signature, symbolFactory = { Fir2IrSimpleFunctionSymbol(signature) }) { symbol ->
|
||||||
Fir2IrLazyPropertyAccessor(
|
Fir2IrLazyPropertyAccessor(
|
||||||
@@ -203,8 +199,7 @@ class Fir2IrLazyProperty(
|
|||||||
val signature = signatureComposer.composeAccessorSignature(
|
val signature = signatureComposer.composeAccessorSignature(
|
||||||
fir,
|
fir,
|
||||||
isSetter = true,
|
isSetter = true,
|
||||||
containingClass?.symbol?.toLookupTag(),
|
containingClass?.symbol?.toLookupTag()
|
||||||
forceTopLevelPrivate = symbol.signature.isComposite()
|
|
||||||
)!!
|
)!!
|
||||||
symbolTable.declareSimpleFunction(signature, symbolFactory = { Fir2IrSimpleFunctionSymbol(signature) }) { symbol ->
|
symbolTable.declareSimpleFunction(signature, symbolFactory = { Fir2IrSimpleFunctionSymbol(signature) }) { symbol ->
|
||||||
Fir2IrLazyPropertyAccessor(
|
Fir2IrLazyPropertyAccessor(
|
||||||
|
|||||||
+3
-5
@@ -87,7 +87,6 @@ class FirBasedSignatureComposer(val mangler: FirMangler) {
|
|||||||
fun composeSignature(
|
fun composeSignature(
|
||||||
declaration: FirDeclaration,
|
declaration: FirDeclaration,
|
||||||
containingClass: ConeClassLikeLookupTag? = null,
|
containingClass: ConeClassLikeLookupTag? = null,
|
||||||
forceTopLevelPrivate: Boolean = false,
|
|
||||||
forceExpect: Boolean = false,
|
forceExpect: Boolean = false,
|
||||||
): IdSignature? {
|
): IdSignature? {
|
||||||
if (declaration is FirAnonymousObject || declaration is FirAnonymousFunction) return null
|
if (declaration is FirAnonymousObject || declaration is FirAnonymousFunction) return null
|
||||||
@@ -102,7 +101,7 @@ class FirBasedSignatureComposer(val mangler: FirMangler) {
|
|||||||
calculatePublicSignature(declarationWithParentId)
|
calculatePublicSignature(declarationWithParentId)
|
||||||
}
|
}
|
||||||
|
|
||||||
val resultSignature: IdSignature = if (isTopLevelPrivate(declaration) || forceTopLevelPrivate) {
|
val resultSignature: IdSignature = if (isTopLevelPrivate(declaration)) {
|
||||||
val fileSig = fileSignature ?: declaration.fakeFileSignature(publicSignature)
|
val fileSig = fileSignature ?: declaration.fakeFileSignature(publicSignature)
|
||||||
IdSignature.CompositeSignature(fileSig, publicSignature)
|
IdSignature.CompositeSignature(fileSig, publicSignature)
|
||||||
} else
|
} else
|
||||||
@@ -181,12 +180,11 @@ class FirBasedSignatureComposer(val mangler: FirMangler) {
|
|||||||
fun composeAccessorSignature(
|
fun composeAccessorSignature(
|
||||||
property: FirProperty,
|
property: FirProperty,
|
||||||
isSetter: Boolean,
|
isSetter: Boolean,
|
||||||
containingClass: ConeClassLikeLookupTag? = null,
|
containingClass: ConeClassLikeLookupTag? = null
|
||||||
forceTopLevelPrivate: Boolean = false
|
|
||||||
): IdSignature? {
|
): IdSignature? {
|
||||||
val propSig: IdSignature.CommonSignature
|
val propSig: IdSignature.CommonSignature
|
||||||
val fileSig: IdSignature.FileSignature?
|
val fileSig: IdSignature.FileSignature?
|
||||||
when (val propertySignature = composeSignature(property, containingClass, forceTopLevelPrivate)) {
|
when (val propertySignature = composeSignature(property, containingClass)) {
|
||||||
is IdSignature.CompositeSignature -> {
|
is IdSignature.CompositeSignature -> {
|
||||||
propSig = propertySignature.inner as? IdSignature.CommonSignature ?: return null
|
propSig = propertySignature.inner as? IdSignature.CommonSignature ?: return null
|
||||||
fileSig = propertySignature.container as? IdSignature.FileSignature ?: return null
|
fileSig = propertySignature.container as? IdSignature.FileSignature ?: return null
|
||||||
|
|||||||
Reference in New Issue
Block a user