FIR: extract initializing of containingClassAttr into fun
This commit is contained in:
+4
-12
@@ -1019,9 +1019,7 @@ class DeclarationsConverter(
|
|||||||
null, session, FirDeclarationOrigin.Source, returnType, propertyVisibility
|
null, session, FirDeclarationOrigin.Source, returnType, propertyVisibility
|
||||||
).also {
|
).also {
|
||||||
it.status = defaultAccessorStatus()
|
it.status = defaultAccessorStatus()
|
||||||
currentDispatchReceiverType()?.lookupTag?.let { lookupTag ->
|
it.initContainingClassAttr()
|
||||||
it.containingClassAttr = lookupTag
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// NOTE: We still need the setter even for a val property so we can report errors (e.g., VAL_WITH_SETTER).
|
// NOTE: We still need the setter even for a val property so we can report errors (e.g., VAL_WITH_SETTER).
|
||||||
this.setter = convertedAccessors.find { it.isSetter }
|
this.setter = convertedAccessors.find { it.isSetter }
|
||||||
@@ -1030,9 +1028,7 @@ class DeclarationsConverter(
|
|||||||
null, session, FirDeclarationOrigin.Source, returnType, propertyVisibility
|
null, session, FirDeclarationOrigin.Source, returnType, propertyVisibility
|
||||||
).also {
|
).also {
|
||||||
it.status = defaultAccessorStatus()
|
it.status = defaultAccessorStatus()
|
||||||
currentDispatchReceiverType()?.lookupTag?.let { lookupTag ->
|
it.initContainingClassAttr()
|
||||||
it.containingClassAttr = lookupTag
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else null
|
} else null
|
||||||
|
|
||||||
@@ -1176,9 +1172,7 @@ class DeclarationsConverter(
|
|||||||
.also { accessor ->
|
.also { accessor ->
|
||||||
accessor.annotations += modifiers.annotations
|
accessor.annotations += modifiers.annotations
|
||||||
accessor.status = status
|
accessor.status = status
|
||||||
currentDispatchReceiverType()?.lookupTag?.let { lookupTag ->
|
accessor.initContainingClassAttr()
|
||||||
accessor.containingClassAttr = lookupTag
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val target = FirFunctionTarget(labelName = null, isLambda = false)
|
val target = FirFunctionTarget(labelName = null, isLambda = false)
|
||||||
@@ -1207,9 +1201,7 @@ class DeclarationsConverter(
|
|||||||
context.firFunctionTargets.removeLast()
|
context.firFunctionTargets.removeLast()
|
||||||
}.also {
|
}.also {
|
||||||
target.bind(it)
|
target.bind(it)
|
||||||
currentDispatchReceiverType()?.lookupTag?.let { lookupTag ->
|
it.initContainingClassAttr()
|
||||||
it.containingClassAttr = lookupTag
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -357,9 +357,7 @@ open class RawFirBuilder(
|
|||||||
this.contractDescription = it
|
this.contractDescription = it
|
||||||
}
|
}
|
||||||
}.also {
|
}.also {
|
||||||
currentDispatchReceiverType()?.lookupTag?.let { lookupTag ->
|
it.initContainingClassAttr()
|
||||||
it.containingClassAttr = lookupTag
|
|
||||||
}
|
|
||||||
accessorTarget.bind(it)
|
accessorTarget.bind(it)
|
||||||
this@RawFirBuilder.context.firFunctionTargets.removeLast()
|
this@RawFirBuilder.context.firFunctionTargets.removeLast()
|
||||||
}
|
}
|
||||||
@@ -382,9 +380,7 @@ open class RawFirBuilder(
|
|||||||
it.extractAnnotationsFrom(this)
|
it.extractAnnotationsFrom(this)
|
||||||
}
|
}
|
||||||
it.status = status
|
it.status = status
|
||||||
currentDispatchReceiverType()?.lookupTag?.let { lookupTag ->
|
it.initContainingClassAttr()
|
||||||
it.containingClassAttr = lookupTag
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
|
|||||||
+5
@@ -1140,6 +1140,11 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected fun FirCallableDeclaration<*>.initContainingClassAttr() {
|
||||||
|
val currentDispatchReceiverType = currentDispatchReceiverType() ?: return
|
||||||
|
containingClassAttr = currentDispatchReceiverType.lookupTag
|
||||||
|
}
|
||||||
|
|
||||||
private fun FirVariable<*>.toQualifiedAccess(): FirQualifiedAccessExpression = buildQualifiedAccessExpression {
|
private fun FirVariable<*>.toQualifiedAccess(): FirQualifiedAccessExpression = buildQualifiedAccessExpression {
|
||||||
calleeReference = buildResolvedNamedReference {
|
calleeReference = buildResolvedNamedReference {
|
||||||
source = this@toQualifiedAccess.source
|
source = this@toQualifiedAccess.source
|
||||||
|
|||||||
Reference in New Issue
Block a user