[FIR] Report conflicts for data class generated members

^KT-59880
This commit is contained in:
Nikolay Lunyak
2023-10-10 12:37:19 +03:00
committed by Space Team
parent afc22728fa
commit bc2eb546b4
5 changed files with 12 additions and 9 deletions
@@ -63,7 +63,7 @@ private fun FirBasedSymbol<*>.isCollectable(): Boolean {
return when (this) {
// - see tests with `fun () {}`.
// you can't redeclare something that has no name.
is FirNamedFunctionSymbol -> source?.kind !is KtFakeSourceElementKind && name != SpecialNames.NO_NAME_PROVIDED
is FirNamedFunctionSymbol -> isCollectableAccordingToSource && name != SpecialNames.NO_NAME_PROVIDED
is FirRegularClassSymbol -> name != SpecialNames.NO_NAME_PROVIDED
// - see testEnumValuesValueOf.
// it generates a static function that has
@@ -76,6 +76,9 @@ private fun FirBasedSymbol<*>.isCollectable(): Boolean {
}
}
private val FirNamedFunctionSymbol.isCollectableAccordingToSource: Boolean
get() = source?.kind !is KtFakeSourceElementKind || source?.kind == KtFakeSourceElementKind.DataClassGeneratedMembers
private val FirBasedSymbol<*>.resolvedStatus
get() = when (this) {
is FirCallableSymbol<*> -> resolvedStatus