[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
@@ -622,13 +622,13 @@ class FirExpressionsResolveTransformer(transformer: FirBodyResolveTransformer) :
}
override fun transformAnnotationCall(annotationCall: FirAnnotationCall, data: ResolutionMode): CompositeTransformResult<FirStatement> {
if (annotationCall.resolved) return annotationCall.compose()
if (annotationCall.resolveStatus == FirAnnotationResolveStatus.Resolved) return annotationCall.compose()
dataFlowAnalyzer.enterAnnotationCall(annotationCall)
return withFirArrayOfCallTransformer {
(annotationCall.transformChildren(transformer, data) as FirAnnotationCall).also {
// TODO: it's temporary incorrect solution until we design resolve and completion for annotation calls
it.argumentList.transformArguments(integerLiteralTypeApproximator, null)
it.replaceResolved(true)
it.replaceResolveStatus(FirAnnotationResolveStatus.Resolved)
dataFlowAnalyzer.exitAnnotationCall(it)
}.compose()
}