diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt index 77f01c2a2e6..f6457a9bf22 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt @@ -599,11 +599,9 @@ fun FirFunctionSymbol<*>.isFunctionForExpectTypeFromCastFeature(): Boolean { return true } -fun getActualTargetList(container: FirAnnotationContainer): AnnotationTargetList { - fun CallableId.isMember(): Boolean { - return classId != null || isLocal // TODO: Replace with .containingClass (after fixing) - } +private val FirCallableDeclaration.isMember get() = dispatchReceiverType != null +fun getActualTargetList(container: FirAnnotationContainer): AnnotationTargetList { val annotated = if (container is FirBackingField && !container.propertySymbol.hasBackingField) container.propertyIfBackingField else container @@ -625,7 +623,7 @@ fun getActualTargetList(container: FirAnnotationContainer): AnnotationTargetList } else { TargetLists.T_LOCAL_VARIABLE } - annotated.symbol.callableId.isMember() -> + annotated.isMember -> if (annotated.source?.kind == KtFakeSourceElementKind.PropertyFromParameter) { TargetLists.T_VALUE_PARAMETER_WITH_VAL } else { @@ -648,7 +646,7 @@ fun getActualTargetList(container: FirAnnotationContainer): AnnotationTargetList is FirSimpleFunction -> { when { annotated.isLocal -> TargetLists.T_LOCAL_FUNCTION - annotated.symbol.callableId.isMember() -> TargetLists.T_MEMBER_FUNCTION + annotated.isMember -> TargetLists.T_MEMBER_FUNCTION else -> TargetLists.T_TOP_LEVEL_FUNCTION } }