[compiler] introduce dedicated Fir declaration for dangling modifier lists (KTIJ-23008)
ensure fir annotations are included in FirDanglingModifierList and resolved, dedicated DanglingTopLevelModifierListStructureElement exists for top level lists only, class level lists are processed by containing structure element
This commit is contained in:
+1
@@ -118,6 +118,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
val errorExpression by element(Expression, expression, diagnosticHolder)
|
||||
val errorFunction by element(Declaration, function, diagnosticHolder)
|
||||
val errorProperty by element(Declaration, variable, diagnosticHolder)
|
||||
val danglingModifierList by element(Declaration, declaration, diagnosticHolder)
|
||||
val qualifiedAccessExpression by element(Expression, expression, qualifiedAccess)
|
||||
val qualifiedErrorAccessExpression by element(Expression, expression, diagnosticHolder)
|
||||
val propertyAccessExpression by element(Expression, qualifiedAccessExpression)
|
||||
|
||||
+1
@@ -43,6 +43,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
}
|
||||
|
||||
impl(anonymousObject)
|
||||
impl(danglingModifierList)
|
||||
noImpl(anonymousObjectExpression)
|
||||
|
||||
impl(typeAlias)
|
||||
|
||||
+4
@@ -456,6 +456,10 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
+field("dispatchReceiverType", coneSimpleKotlinTypeType, nullable = true)
|
||||
}
|
||||
|
||||
danglingModifierList.configure {
|
||||
+symbol("FirDanglingModifierSymbol")
|
||||
}
|
||||
|
||||
file.configure {
|
||||
+field("annotationsContainer", fileAnnotationsContainer).withTransform()
|
||||
+field("packageDirective", packageDirective)
|
||||
|
||||
Reference in New Issue
Block a user