[FIR] Make own accept methods of FirTypeParameterRef inheritors

This change is necessary in order to make `FirElement` abstract class. To do it we need to remove all `accept` and `transform` methods from fir interfaces. So we have to make sure that all fir element implementations have their `accept` and `transform` implementations in their super classes. In particular this change makes 'accept' and 'transform' methods in `FirConstructedClassTypeParameterRef` and `FirConstructedClassTypeParameterRef` base classes.
This commit is contained in:
Arseniy Terekhov
2023-07-19 14:10:05 +03:00
committed by Space Team
parent 4d85cc8aa6
commit be9d2953b2
21 changed files with 166 additions and 30 deletions
@@ -40,6 +40,8 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
val callableDeclaration by sealedElement(Declaration, memberDeclaration)
val typeParameterRef by element(Declaration)
val typeParameter by element(Declaration, typeParameterRef, declaration)
val constructedClassTypeParameterRef by element(Declaration, typeParameterRef)
val outerClassTypeParameterRef by element(Declaration, typeParameterRef)
val variable by sealedElement(Declaration, callableDeclaration, statement)
val valueParameter by element(Declaration, variable, controlFlowGraphOwner)
@@ -31,10 +31,10 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
defaultFalse("isPrimary", withGetter = true)
}
impl(typeParameterRef, "FirOuterClassTypeParameterRef") {
impl(outerClassTypeParameterRef) {
publicImplementation()
}
impl(typeParameterRef, "FirConstructedClassTypeParameterRef")
impl(constructedClassTypeParameterRef)
noImpl(declarationStatus)
noImpl(resolvedDeclarationStatus)