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