FIR: Add some absent "replace" methods for callable declarations
It's necessary to avoid copying lambdas in LambdaAnalyzerImpl
This commit is contained in:
@@ -29,6 +29,8 @@ interface FirCallableDeclaration<F : FirCallableDeclaration<F>> : FirTypedDeclar
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitCallableDeclaration(this, data)
|
||||
|
||||
fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
|
||||
override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration<F>
|
||||
|
||||
fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration<F>
|
||||
|
||||
@@ -37,6 +37,8 @@ interface FirFunction<F : FirFunction<F>> : FirCallableDeclaration<F>, FirTarget
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitFunction(this, data)
|
||||
|
||||
fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
||||
|
||||
override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirFunction<F>
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirFunction<F>
|
||||
|
||||
+9
@@ -103,6 +103,15 @@ class FirAnonymousFunctionImpl(
|
||||
returnTypeRef = newReturnTypeRef
|
||||
}
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
|
||||
receiverTypeRef = newReceiverTypeRef
|
||||
}
|
||||
|
||||
override fun replaceValueParameters(newValueParameters: List<FirValueParameter>) {
|
||||
valueParameters.clear()
|
||||
valueParameters.addAll(newValueParameters)
|
||||
}
|
||||
|
||||
override fun replaceTypeRef(newTypeRef: FirTypeRef) {
|
||||
typeRef = newTypeRef
|
||||
}
|
||||
|
||||
@@ -105,4 +105,13 @@ open class FirConstructorImpl(
|
||||
override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) {
|
||||
returnTypeRef = newReturnTypeRef
|
||||
}
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
|
||||
receiverTypeRef = newReceiverTypeRef
|
||||
}
|
||||
|
||||
override fun replaceValueParameters(newValueParameters: List<FirValueParameter>) {
|
||||
valueParameters.clear()
|
||||
valueParameters.addAll(newValueParameters)
|
||||
}
|
||||
}
|
||||
|
||||
+4
@@ -111,4 +111,8 @@ class FirDefaultSetterValueParameter(
|
||||
override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) {
|
||||
returnTypeRef = newReturnTypeRef
|
||||
}
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
|
||||
receiverTypeRef = newReceiverTypeRef
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,4 +109,6 @@ class FirEnumEntryImpl(
|
||||
override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) {
|
||||
returnTypeRef = newReturnTypeRef
|
||||
}
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
||||
}
|
||||
|
||||
+7
@@ -89,4 +89,11 @@ class FirErrorFunctionImpl(
|
||||
override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) {
|
||||
returnTypeRef = newReturnTypeRef
|
||||
}
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
||||
|
||||
override fun replaceValueParameters(newValueParameters: List<FirValueParameter>) {
|
||||
valueParameters.clear()
|
||||
valueParameters.addAll(newValueParameters)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,4 +106,6 @@ class FirFieldImpl(
|
||||
override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) {
|
||||
returnTypeRef = newReturnTypeRef
|
||||
}
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
||||
}
|
||||
|
||||
+4
@@ -60,4 +60,8 @@ abstract class FirModifiableConstructor : FirPureAbstractElement(), FirConstruct
|
||||
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
|
||||
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
|
||||
|
||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
|
||||
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
||||
}
|
||||
|
||||
+4
@@ -50,4 +50,8 @@ interface FirModifiableFunction<F : FirFunction<F>> : FirFunction<F>, FirAbstra
|
||||
override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
|
||||
override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
|
||||
override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
||||
}
|
||||
|
||||
+2
@@ -57,4 +57,6 @@ interface FirModifiableVariable<F : FirVariable<F>> : FirVariable<F>, FirAbstra
|
||||
override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
|
||||
override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
}
|
||||
|
||||
+9
@@ -113,4 +113,13 @@ open class FirPropertyAccessorImpl(
|
||||
override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) {
|
||||
returnTypeRef = newReturnTypeRef
|
||||
}
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
|
||||
receiverTypeRef = newReceiverTypeRef
|
||||
}
|
||||
|
||||
override fun replaceValueParameters(newValueParameters: List<FirValueParameter>) {
|
||||
valueParameters.clear()
|
||||
valueParameters.addAll(newValueParameters)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,4 +134,8 @@ class FirPropertyImpl(
|
||||
override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) {
|
||||
returnTypeRef = newReturnTypeRef
|
||||
}
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
|
||||
receiverTypeRef = newReceiverTypeRef
|
||||
}
|
||||
}
|
||||
|
||||
+9
@@ -114,4 +114,13 @@ open class FirSimpleFunctionImpl(
|
||||
override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) {
|
||||
returnTypeRef = newReturnTypeRef
|
||||
}
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
|
||||
receiverTypeRef = newReceiverTypeRef
|
||||
}
|
||||
|
||||
override fun replaceValueParameters(newValueParameters: List<FirValueParameter>) {
|
||||
valueParameters.clear()
|
||||
valueParameters.addAll(newValueParameters)
|
||||
}
|
||||
}
|
||||
|
||||
+4
@@ -111,4 +111,8 @@ open class FirValueParameterImpl(
|
||||
override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) {
|
||||
returnTypeRef = newReturnTypeRef
|
||||
}
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
|
||||
receiverTypeRef = newReceiverTypeRef
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user