[LL FIR] LLFirAnnotationArgumentsLazyResolver: add missed checks for context receivers

This commit is contained in:
Dmitrii Gridin
2024-02-19 16:14:13 +01:00
committed by Space Team
parent fe4ead751f
commit 7048184acf
2 changed files with 12 additions and 7 deletions
@@ -43,9 +43,7 @@ internal object LLFirAnnotationArgumentsLazyResolver : LLFirLazyResolver(FirReso
checkAnnotationsAreResolved(target, receiverParameter.typeRef) checkAnnotationsAreResolved(target, receiverParameter.typeRef)
} }
for (contextReceiver in target.contextReceivers) { checkAnnotationsAreResolved(target.contextReceivers, target)
checkAnnotationsAreResolved(target, contextReceiver.typeRef)
}
} }
is FirTypeParameter -> { is FirTypeParameter -> {
@@ -54,15 +52,16 @@ internal object LLFirAnnotationArgumentsLazyResolver : LLFirLazyResolver(FirReso
} }
} }
is FirClass -> { is FirRegularClass -> {
for (typeRef in target.superTypeRefs) { for (typeRef in target.superTypeRefs) {
checkAnnotationsAreResolved(target, typeRef) checkAnnotationsAreResolved(target, typeRef)
} }
checkAnnotationsAreResolved(target.contextReceivers, target)
} }
is FirTypeAlias -> { is FirScript -> checkAnnotationsAreResolved(target.contextReceivers, target)
checkAnnotationsAreResolved(target, target.expandedTypeRef) is FirTypeAlias -> checkAnnotationsAreResolved(target, target.expandedTypeRef)
}
} }
} }
} }
@@ -214,6 +214,12 @@ internal fun checkAnnotationsAreResolved(owner: FirAnnotationContainer, typeRef:
typeRef.accept(AnnotationChecker, owner) typeRef.accept(AnnotationChecker, owner)
} }
internal fun checkAnnotationsAreResolved(contextReceivers: List<FirContextReceiver>, owner: FirDeclaration) {
for (contextReceiver in contextReceivers) {
checkAnnotationsAreResolved(owner, contextReceiver.typeRef)
}
}
internal fun FirAbstractBodyResolveTransformerDispatcher.checkAnnotationCallIsResolved( internal fun FirAbstractBodyResolveTransformerDispatcher.checkAnnotationCallIsResolved(
symbol: FirBasedSymbol<*>, symbol: FirBasedSymbol<*>,
annotationCall: FirAnnotationCall, annotationCall: FirAnnotationCall,