diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolutionStages.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolutionStages.kt index 00d50426111..c3cb35d869f 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolutionStages.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolutionStages.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.fir.resolve.calls +import org.jetbrains.kotlin.KtFakeSourceElementKind import org.jetbrains.kotlin.config.LanguageFeature import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.fir.declarations.* @@ -510,6 +511,9 @@ internal object DiscriminateSynthetics : CheckerStage() { if (candidate.symbol is SyntheticSymbol) { sink.reportDiagnostic(ResolvedWithSynthetic) } + if (candidate.symbol is FirPropertySymbol && candidate.symbol.source?.kind is KtFakeSourceElementKind.EnumGeneratedDeclaration) { + sink.reportDiagnostic(ResolvedWithSynthetic) + } } } diff --git a/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.fir.kt b/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.fir.kt deleted file mode 100644 index e7e05da76f6..00000000000 --- a/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.fir.kt +++ /dev/null @@ -1,8 +0,0 @@ -// !LANGUAGE: +EnumEntries -// FIR_DUMP - -enum class Ambiguous { - first, entries; -} - -val e = Ambiguous.entries diff --git a/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.fir.txt b/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.fir.txt index 7e3c1c7ed47..7a448a4c208 100644 --- a/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.fir.txt +++ b/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.fir.txt @@ -1,4 +1,4 @@ -FILE: enumEntriesAmbiguity.fir.kt +FILE: enumEntriesAmbiguity.kt public final enum class Ambiguous : R|kotlin/Enum| { private constructor(): R|Ambiguous| { super|>() @@ -16,5 +16,5 @@ FILE: enumEntriesAmbiguity.fir.kt public get(): R|kotlin/enums/EnumEntries| } - public final val e: = Q|Ambiguous|.# - public get(): + public final val e: R|Ambiguous| = Q|Ambiguous|.R|/Ambiguous.entries| + public get(): R|Ambiguous| diff --git a/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.kt b/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.kt index 357e3c82601..c1aa3eb8338 100644 --- a/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.kt +++ b/compiler/testData/diagnostics/tests/enum/enumEntriesAmbiguity.kt @@ -1,3 +1,4 @@ +// FIR_IDENTICAL // !LANGUAGE: +EnumEntries // FIR_DUMP