FIR IDE: remove copy-pasted code from DeclarationCopyBuilder
This commit is contained in:
committed by
TeamCityServer
parent
a76c5d66eb
commit
47e8b2f9dc
+16
-15
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.idea.fir.low.level.api.api
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.builder.RawFirFragmentForLazyBodiesBuilder
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.FirDeclarationBuilder
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.*
|
||||
import org.jetbrains.kotlin.fir.expressions.FirReturnExpression
|
||||
import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid
|
||||
@@ -58,9 +59,7 @@ object DeclarationCopyBuilder {
|
||||
return buildSimpleFunctionCopy(originalFunction) {
|
||||
body = builtFunction.body
|
||||
symbol = builtFunction.symbol
|
||||
resolvePhase = minOf(originalFunction.resolvePhase, FirResolvePhase.DECLARATIONS)
|
||||
source = builtFunction.source
|
||||
session = state.rootModuleSession
|
||||
initDeclaration(originalFunction, builtFunction, state)
|
||||
}.apply { reassignAllReturnTargets(builtFunction) }
|
||||
}
|
||||
|
||||
@@ -75,9 +74,7 @@ object DeclarationCopyBuilder {
|
||||
declarations.clear()
|
||||
declarations.addAll(builtClass.declarations)
|
||||
symbol = builtClass.symbol
|
||||
resolvePhase = minOf(originalFirClass.resolvePhase, FirResolvePhase.DECLARATIONS)
|
||||
source = builtClass.source
|
||||
session = state.rootModuleSession
|
||||
initDeclaration(originalFirClass, builtClass, state)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,9 +88,7 @@ object DeclarationCopyBuilder {
|
||||
return buildTypeAliasCopy(originalFirTypeAlias) {
|
||||
expandedTypeRef = builtTypeAlias.expandedTypeRef
|
||||
symbol = builtTypeAlias.symbol
|
||||
resolvePhase = minOf(originalFirTypeAlias.resolvePhase, FirResolvePhase.DECLARATIONS)
|
||||
source = builtTypeAlias.source
|
||||
session = state.rootModuleSession
|
||||
initDeclaration(originalFirTypeAlias, builtTypeAlias, state)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,9 +107,7 @@ object DeclarationCopyBuilder {
|
||||
buildPropertyAccessorCopy(originalSetter) {
|
||||
body = builtSetter.body
|
||||
symbol = builtSetter.symbol
|
||||
resolvePhase = minOf(builtSetter.resolvePhase, FirResolvePhase.DECLARATIONS)
|
||||
source = builtSetter.source
|
||||
session = state.rootModuleSession
|
||||
initDeclaration(originalSetter, builtSetter, state)
|
||||
}.apply { reassignAllReturnTargets(builtSetter) }
|
||||
} else {
|
||||
builtSetter
|
||||
@@ -127,12 +120,20 @@ object DeclarationCopyBuilder {
|
||||
getter = builtProperty.getter
|
||||
setter = copySetter
|
||||
|
||||
resolvePhase = minOf(originalProperty.resolvePhase, FirResolvePhase.DECLARATIONS)
|
||||
source = builtProperty.source
|
||||
session = state.rootModuleSession
|
||||
initDeclaration(originalProperty, builtProperty, state)
|
||||
}
|
||||
}
|
||||
|
||||
private fun FirDeclarationBuilder.initDeclaration(
|
||||
originalDeclaration: FirDeclaration,
|
||||
builtDeclaration: FirDeclaration,
|
||||
state: FirModuleResolveState
|
||||
) {
|
||||
resolvePhase = minOf(originalDeclaration.resolvePhase, FirResolvePhase.DECLARATIONS)
|
||||
source = builtDeclaration.source
|
||||
session = state.rootModuleSession
|
||||
}
|
||||
|
||||
internal inline fun <reified T : FirDeclaration> createCopy(
|
||||
fakeKtDeclaration: KtDeclaration,
|
||||
originalFirDeclaration: T,
|
||||
|
||||
Reference in New Issue
Block a user