K2: discriminate synthetic 'Enum.entries' during resolve
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
// !LANGUAGE: +EnumEntries
|
||||
// FIR_DUMP
|
||||
|
||||
enum class Ambiguous {
|
||||
first, entries;
|
||||
}
|
||||
|
||||
val e = Ambiguous.<!OVERLOAD_RESOLUTION_AMBIGUITY!>entries<!>
|
||||
@@ -1,4 +1,4 @@
|
||||
FILE: enumEntriesAmbiguity.fir.kt
|
||||
FILE: enumEntriesAmbiguity.kt
|
||||
public final enum class Ambiguous : R|kotlin/Enum<Ambiguous>| {
|
||||
private constructor(): R|Ambiguous| {
|
||||
super<R|kotlin/Enum<Ambiguous>|>()
|
||||
@@ -16,5 +16,5 @@ FILE: enumEntriesAmbiguity.fir.kt
|
||||
public get(): R|kotlin/enums/EnumEntries<Ambiguous>|
|
||||
|
||||
}
|
||||
public final val e: <ERROR TYPE REF: Ambiguity: entries, [/Ambiguous.entries, /Ambiguous.entries]> = Q|Ambiguous|.<Ambiguity: entries, [/Ambiguous.entries, /Ambiguous.entries]>#
|
||||
public get(): <ERROR TYPE REF: Ambiguity: entries, [/Ambiguous.entries, /Ambiguous.entries]>
|
||||
public final val e: R|Ambiguous| = Q|Ambiguous|.R|/Ambiguous.entries|
|
||||
public get(): R|Ambiguous|
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +EnumEntries
|
||||
// FIR_DUMP
|
||||
|
||||
|
||||
Reference in New Issue
Block a user