[FIR] Add transformDeclarations to FirFile

This commit is contained in:
Dmitriy Novozhilov
2020-04-28 11:27:41 +03:00
parent 4b580b4e06
commit bad4497970
3 changed files with 9 additions and 2 deletions
@@ -34,4 +34,6 @@ abstract class FirFile : FirPureAbstractElement(), FirAnnotationContainer, FirDe
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase) abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirFile abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirFile
abstract fun <D> transformDeclarations(transformer: FirTransformer<D>, data: D): FirFile
} }
@@ -41,7 +41,7 @@ internal class FirFileImpl(
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirFileImpl { override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirFileImpl {
transformAnnotations(transformer, data) transformAnnotations(transformer, data)
imports.transformInplace(transformer, data) imports.transformInplace(transformer, data)
declarations.transformInplace(transformer, data) transformDeclarations(transformer, data)
return this return this
} }
@@ -50,6 +50,11 @@ internal class FirFileImpl(
return this return this
} }
override fun <D> transformDeclarations(transformer: FirTransformer<D>, data: D): FirFileImpl {
declarations.transformInplace(transformer, data)
return this
}
override fun replaceResolvePhase(newResolvePhase: FirResolvePhase) { override fun replaceResolvePhase(newResolvePhase: FirResolvePhase) {
resolvePhase = newResolvePhase resolvePhase = newResolvePhase
} }
@@ -390,7 +390,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
file.configure { file.configure {
+fieldList(import) +fieldList(import)
+declarations +declarations.withTransform()
+stringField("name") +stringField("name")
+field("packageFqName", fqNameType) +field("packageFqName", fqNameType)
} }