[LL FIR] LLFirAnnotationArgumentsLazyResolver: add missed checks for context receivers
This commit is contained in:
committed by
Space Team
parent
fe4ead751f
commit
7048184acf
+6
-7
@@ -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)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user