[FIR] Get rid of FirTypedDeclaration

`FirTypedDeclaration` has only one inheritor (`FirCallableDeclaration`),
  so there is no much sense to keep this class
This commit is contained in:
Dmitriy Novozhilov
2022-03-29 12:26:42 +04:00
committed by teamcity
parent ae0ce57b2c
commit 5a3b397552
24 changed files with 35 additions and 124 deletions
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY
*/
sealed class FirCallableDeclaration : FirTypedDeclaration() {
sealed class FirCallableDeclaration : FirMemberDeclaration() {
abstract override val source: KtSourceElement?
abstract override val annotations: List<FirAnnotation>
abstract override val moduleData: FirModuleData
@@ -29,7 +29,7 @@ sealed class FirCallableDeclaration : FirTypedDeclaration() {
abstract override val attributes: FirDeclarationAttributes
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract override val returnTypeRef: FirTypeRef
abstract val returnTypeRef: FirTypeRef
abstract val receiverTypeRef: FirTypeRef?
abstract val deprecation: DeprecationsPerUseSite?
abstract override val symbol: FirCallableSymbol<out FirCallableDeclaration>
@@ -44,7 +44,7 @@ sealed class FirCallableDeclaration : FirTypedDeclaration() {
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
@@ -56,7 +56,7 @@ sealed class FirCallableDeclaration : FirTypedDeclaration() {
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
abstract fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
abstract fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
}
@@ -1,50 +0,0 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.fir.declarations
import org.jetbrains.kotlin.KtSourceElement
import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.fir.visitors.*
/*
* This file was generated automatically
* DO NOT MODIFY IT MANUALLY
*/
sealed class FirTypedDeclaration : FirMemberDeclaration() {
abstract override val source: KtSourceElement?
abstract override val annotations: List<FirAnnotation>
abstract override val symbol: FirBasedSymbol<out FirDeclaration>
abstract override val moduleData: FirModuleData
abstract override val resolvePhase: FirResolvePhase
abstract override val origin: FirDeclarationOrigin
abstract override val attributes: FirDeclarationAttributes
abstract override val typeParameters: List<FirTypeParameterRef>
abstract override val status: FirDeclarationStatus
abstract val returnTypeRef: FirTypeRef
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitTypedDeclaration(this, data)
@Suppress("UNCHECKED_CAST")
override fun <E: FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
transformer.transformTypedDeclaration(this, data) as E
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
abstract fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirTypedDeclaration
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirTypedDeclaration
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirTypedDeclaration
abstract fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirTypedDeclaration
}
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
@@ -162,9 +161,7 @@ abstract class FirDefaultVisitor<out R, in D> : FirVisitor<R, D>() {
override fun visitTypeParametersOwner(typeParametersOwner: FirTypeParametersOwner, data: D): R = visitTypeParameterRefsOwner(typeParametersOwner, data)
override fun visitTypedDeclaration(typedDeclaration: FirTypedDeclaration, data: D): R = visitMemberDeclaration(typedDeclaration, data)
override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): R = visitTypedDeclaration(callableDeclaration, data)
override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): R = visitMemberDeclaration(callableDeclaration, data)
override fun visitEnumEntry(enumEntry: FirEnumEntry, data: D): R = visitVariable(enumEntry, data)
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
@@ -162,9 +161,7 @@ abstract class FirDefaultVisitorVoid : FirVisitorVoid() {
override fun visitTypeParametersOwner(typeParametersOwner: FirTypeParametersOwner) = visitTypeParameterRefsOwner(typeParametersOwner)
override fun visitTypedDeclaration(typedDeclaration: FirTypedDeclaration) = visitMemberDeclaration(typedDeclaration)
override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration) = visitTypedDeclaration(callableDeclaration)
override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration) = visitMemberDeclaration(callableDeclaration)
override fun visitEnumEntry(enumEntry: FirEnumEntry) = visitVariable(enumEntry)
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
@@ -217,10 +216,6 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
return transformElement(anonymousInitializer, data)
}
open fun transformTypedDeclaration(typedDeclaration: FirTypedDeclaration, data: D): FirTypedDeclaration {
return transformElement(typedDeclaration, data)
}
open fun transformCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): FirCallableDeclaration {
return transformElement(callableDeclaration, data)
}
@@ -769,10 +764,6 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
return transformAnonymousInitializer(anonymousInitializer, data)
}
final override fun visitTypedDeclaration(typedDeclaration: FirTypedDeclaration, data: D): FirTypedDeclaration {
return transformTypedDeclaration(typedDeclaration, data)
}
final override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): FirCallableDeclaration {
return transformCallableDeclaration(callableDeclaration, data)
}
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
@@ -184,8 +183,6 @@ abstract class FirVisitor<out R, in D> {
open fun visitAnonymousInitializer(anonymousInitializer: FirAnonymousInitializer, data: D): R = visitElement(anonymousInitializer, data)
open fun visitTypedDeclaration(typedDeclaration: FirTypedDeclaration, data: D): R = visitElement(typedDeclaration, data)
open fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): R = visitElement(callableDeclaration, data)
open fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): R = visitElement(typeParameterRef, data)
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
@@ -216,10 +215,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
visitElement(anonymousInitializer)
}
open fun visitTypedDeclaration(typedDeclaration: FirTypedDeclaration) {
visitElement(typedDeclaration)
}
open fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration) {
visitElement(callableDeclaration)
}
@@ -768,10 +763,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
visitAnonymousInitializer(anonymousInitializer)
}
final override fun visitTypedDeclaration(typedDeclaration: FirTypedDeclaration, data: Nothing?) {
visitTypedDeclaration(typedDeclaration)
}
final override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: Nothing?) {
visitCallableDeclaration(callableDeclaration)
}
@@ -737,10 +737,6 @@ open class FirRenderer(builder: StringBuilder, protected val mode: RenderMode =
print("\$subj\$")
}
override fun visitTypedDeclaration(typedDeclaration: FirTypedDeclaration) {
visitDeclaration(typedDeclaration)
}
override fun visitValueParameter(valueParameter: FirValueParameter) {
valueParameter.renderDeclarationData()
valueParameter.annotations.renderAnnotations()
@@ -31,8 +31,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
val typeParametersOwner by sealedElement(Declaration, typeParameterRefsOwner)
val memberDeclaration by sealedElement(Declaration, declaration, typeParameterRefsOwner)
val anonymousInitializer by element(Declaration, declaration, controlFlowGraphOwner)
val typedDeclaration by sealedElement(Declaration, memberDeclaration)
val callableDeclaration by sealedElement(Declaration, typedDeclaration)
val callableDeclaration by sealedElement(Declaration, memberDeclaration)
val typeParameterRef by element(Declaration)
val typeParameter by element(Declaration, typeParameterRef, declaration)
@@ -79,11 +79,8 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
shouldBeAbstractClass()
}
typedDeclaration.configure {
+field("returnTypeRef", typeRef, withReplace = true).withTransform()
}
callableDeclaration.configure {
+field("returnTypeRef", typeRef, withReplace = true).withTransform()
+field("receiverTypeRef", typeRef, nullable = true, withReplace = true).withTransform()
+field("deprecation", deprecationsPerUseSiteType, nullable = true).withReplace().apply { isMutable = true }
+symbol("FirCallableSymbol", "out FirCallableDeclaration")