[FIR] Replace resolved flag with resolve status enum for annotation calls

This commit is contained in:
Dmitriy Novozhilov
2020-06-02 17:25:27 +03:00
parent 4f1b7b38b2
commit 73b738b7ff
9 changed files with 26 additions and 10 deletions
@@ -95,6 +95,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
default("argumentList") {
value = "FirEmptyArgumentList"
}
default("resolveStatus", "FirAnnotationResolveStatus.Unresolved")
useTypes(emptyArgumentListType)
}
@@ -70,8 +70,6 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
value = "annotationTypeRef"
withGetter = true
}
defaultFalse("resolved")
}
impl(arrayOfCall)
@@ -413,7 +413,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
annotationCall.configure {
+field("useSiteTarget", annotationUseSiteTargetType, nullable = true)
+field("annotationTypeRef", typeRef).withTransform()
+booleanField("resolved", withReplace = true)
+field("resolveStatus", annotationResolveStatusType, withReplace = true)
}
arraySetCall.configure {
@@ -83,3 +83,4 @@ val dslBuilderAnnotationType = generatedType("builder", "FirBuilderDsl")
val firImplementationDetailType = generatedType("FirImplementationDetail")
val declarationOriginType = generatedType("declarations", "FirDeclarationOrigin")
val declarationAttributesType = generatedType("declarations", "FirDeclarationAttributes")
val annotationResolveStatusType = generatedType("expressions", "FirAnnotationResolveStatus")