[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 <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 {
transformAnnotations(transformer, data)
imports.transformInplace(transformer, data)
declarations.transformInplace(transformer, data)
transformDeclarations(transformer, data)
return this
}
@@ -50,6 +50,11 @@ internal class FirFileImpl(
return this
}
override fun <D> transformDeclarations(transformer: FirTransformer<D>, data: D): FirFileImpl {
declarations.transformInplace(transformer, data)
return this
}
override fun replaceResolvePhase(newResolvePhase: FirResolvePhase) {
resolvePhase = newResolvePhase
}
@@ -390,7 +390,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
file.configure {
+fieldList(import)
+declarations
+declarations.withTransform()
+stringField("name")
+field("packageFqName", fqNameType)
}