[FIR] Generate copy builder for FirTypeParameter
This commit is contained in:
committed by
teamcity
parent
430ea414a9
commit
ae0bc1c078
+21
@@ -69,3 +69,24 @@ inline fun buildTypeParameter(init: FirTypeParameterBuilder.() -> Unit): FirType
|
|||||||
}
|
}
|
||||||
return FirTypeParameterBuilder().apply(init).build()
|
return FirTypeParameterBuilder().apply(init).build()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OptIn(ExperimentalContracts::class)
|
||||||
|
inline fun buildTypeParameterCopy(original: FirTypeParameter, init: FirTypeParameterBuilder.() -> Unit): FirTypeParameter {
|
||||||
|
contract {
|
||||||
|
callsInPlace(init, kotlin.contracts.InvocationKind.EXACTLY_ONCE)
|
||||||
|
}
|
||||||
|
val copyBuilder = FirTypeParameterBuilder()
|
||||||
|
copyBuilder.source = original.source
|
||||||
|
copyBuilder.moduleData = original.moduleData
|
||||||
|
copyBuilder.resolvePhase = original.resolvePhase
|
||||||
|
copyBuilder.origin = original.origin
|
||||||
|
copyBuilder.attributes = original.attributes.copy()
|
||||||
|
copyBuilder.name = original.name
|
||||||
|
copyBuilder.symbol = original.symbol
|
||||||
|
copyBuilder.containingDeclarationSymbol = original.containingDeclarationSymbol
|
||||||
|
copyBuilder.variance = original.variance
|
||||||
|
copyBuilder.isReified = original.isReified
|
||||||
|
copyBuilder.bounds.addAll(original.bounds)
|
||||||
|
copyBuilder.annotations.addAll(original.annotations)
|
||||||
|
return copyBuilder.apply(init).build()
|
||||||
|
}
|
||||||
|
|||||||
+4
@@ -91,6 +91,10 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
|
|||||||
withCopy()
|
withCopy()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
builder(typeParameter) {
|
||||||
|
withCopy()
|
||||||
|
}
|
||||||
|
|
||||||
builder(field) {
|
builder(field) {
|
||||||
parents += declarationBuilder
|
parents += declarationBuilder
|
||||||
default("resolvePhase", "FirResolvePhase.DECLARATIONS")
|
default("resolvePhase", "FirResolvePhase.DECLARATIONS")
|
||||||
|
|||||||
Reference in New Issue
Block a user