[FIR] Make FirImport an abstract class
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 `FirImport` abstract class in order to preserve `accept` and `transform` methods after removing them from fir interfaces.
This commit is contained in:
committed by
Space Team
parent
ec985b1ffe
commit
4d85cc8aa6
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.fir.declarations
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
||||
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnosticHolder
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
@@ -19,7 +18,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirErrorImport : FirPureAbstractElement(), FirImport, FirDiagnosticHolder {
|
||||
abstract class FirErrorImport : FirImport(), FirDiagnosticHolder {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val importedFqName: FqName?
|
||||
abstract override val isAllUnder: Boolean
|
||||
|
||||
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
@@ -16,12 +17,12 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
interface FirImport : FirElement {
|
||||
override val source: KtSourceElement?
|
||||
val importedFqName: FqName?
|
||||
val isAllUnder: Boolean
|
||||
val aliasName: Name?
|
||||
val aliasSource: KtSourceElement?
|
||||
abstract class FirImport : FirPureAbstractElement(), FirElement {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract val importedFqName: FqName?
|
||||
abstract val isAllUnder: Boolean
|
||||
abstract val aliasName: Name?
|
||||
abstract val aliasSource: KtSourceElement?
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitImport(this, data)
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.fir.declarations
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -18,7 +17,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirResolvedImport : FirPureAbstractElement(), FirImport {
|
||||
abstract class FirResolvedImport : FirImport() {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val importedFqName: FqName?
|
||||
abstract override val isAllUnder: Boolean
|
||||
|
||||
-1
@@ -9,7 +9,6 @@ package org.jetbrains.kotlin.fir.declarations.builder
|
||||
|
||||
import kotlin.contracts.*
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.FirImport
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirImportImpl
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
package org.jetbrains.kotlin.fir.declarations.impl
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.fir.declarations.FirImport
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -25,7 +24,7 @@ internal class FirImportImpl(
|
||||
override val isAllUnder: Boolean,
|
||||
override val aliasName: Name?,
|
||||
override val aliasSource: KtSourceElement?,
|
||||
) : FirPureAbstractElement(), FirImport {
|
||||
) : FirImport() {
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirImportImpl {
|
||||
|
||||
+1
@@ -509,6 +509,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
+booleanField("isAllUnder")
|
||||
+field("aliasName", nameType, nullable = true)
|
||||
+field("aliasSource", sourceElementType, nullable = true)
|
||||
shouldBeAbstractClass()
|
||||
}
|
||||
|
||||
resolvedImport.configure {
|
||||
|
||||
Reference in New Issue
Block a user