K2: discriminate synthetic 'Enum.entries' during resolve
This commit is contained in:
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.resolve.calls
|
package org.jetbrains.kotlin.fir.resolve.calls
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.KtFakeSourceElementKind
|
||||||
import org.jetbrains.kotlin.config.LanguageFeature
|
import org.jetbrains.kotlin.config.LanguageFeature
|
||||||
import org.jetbrains.kotlin.descriptors.Modality
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
@@ -510,6 +511,9 @@ internal object DiscriminateSynthetics : CheckerStage() {
|
|||||||
if (candidate.symbol is SyntheticSymbol) {
|
if (candidate.symbol is SyntheticSymbol) {
|
||||||
sink.reportDiagnostic(ResolvedWithSynthetic)
|
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>| {
|
public final enum class Ambiguous : R|kotlin/Enum<Ambiguous>| {
|
||||||
private constructor(): R|Ambiguous| {
|
private constructor(): R|Ambiguous| {
|
||||||
super<R|kotlin/Enum<Ambiguous>|>()
|
super<R|kotlin/Enum<Ambiguous>|>()
|
||||||
@@ -16,5 +16,5 @@ FILE: enumEntriesAmbiguity.fir.kt
|
|||||||
public get(): R|kotlin/enums/EnumEntries<Ambiguous>|
|
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 final val e: R|Ambiguous| = Q|Ambiguous|.R|/Ambiguous.entries|
|
||||||
public get(): <ERROR TYPE REF: Ambiguity: entries, [/Ambiguous.entries, /Ambiguous.entries]>
|
public get(): R|Ambiguous|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
// FIR_IDENTICAL
|
||||||
// !LANGUAGE: +EnumEntries
|
// !LANGUAGE: +EnumEntries
|
||||||
// FIR_DUMP
|
// FIR_DUMP
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user