diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirSymbolDeclarationOverridesProvider.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirSymbolDeclarationOverridesProvider.kt index c7d3631ec54..21c448b58d0 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirSymbolDeclarationOverridesProvider.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirSymbolDeclarationOverridesProvider.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.analysis.api.fir.components import org.jetbrains.kotlin.fir.analysis.checkers.toRegularClassSymbol import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.utils.superConeTypes +import org.jetbrains.kotlin.fir.java.declarations.FirJavaField import org.jetbrains.kotlin.fir.resolve.ScopeSession import org.jetbrains.kotlin.fir.scopes.* import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol @@ -57,7 +58,7 @@ internal class KtFirSymbolDeclarationOverridesProvider( private fun FirTypeScope.processCallableByName(declaration: FirDeclaration) = when (declaration) { is FirSimpleFunction -> processFunctionsByName(declaration.name) { } is FirProperty -> processPropertiesByName(declaration.name) { } - else -> error { "Invalid FIR symbol to process: ${declaration::class}" } + else -> Unit } private fun FirTypeScope.processAllOverriddenDeclarations( @@ -72,7 +73,7 @@ internal class KtFirSymbolDeclarationOverridesProvider( processor.invoke(symbol.fir) ProcessorAction.NEXT } - else -> error { "Invalid FIR symbol to process: ${declaration::class}" } + else -> ProcessorAction.STOP } private fun FirTypeScope.processDirectOverriddenDeclarations( @@ -87,7 +88,7 @@ internal class KtFirSymbolDeclarationOverridesProvider( processor.invoke(symbol.fir) ProcessorAction.NEXT } - else -> error { "Invalid FIR symbol to process: ${declaration::class}" } + else -> ProcessorAction.STOP } private inline fun processOverrides( diff --git a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/components/OverriddenDeclarationProviderTestGenerated.java b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/components/OverriddenDeclarationProviderTestGenerated.java index 8a22d38c0a4..7b0418617ef 100644 --- a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/components/OverriddenDeclarationProviderTestGenerated.java +++ b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/components/OverriddenDeclarationProviderTestGenerated.java @@ -66,6 +66,12 @@ public class OverriddenDeclarationProviderTestGenerated extends AbstractOverridd runTest("analysis/analysis-api/testData/components/overridenDeclarations/multipleInterfaces.kt"); } + @Test + @TestMetadata("onEnumEntry.kt") + public void testOnEnumEntry() throws Exception { + runTest("analysis/analysis-api/testData/components/overridenDeclarations/onEnumEntry.kt"); + } + @Test @TestMetadata("sequenceOfOverrides.kt") public void testSequenceOfOverrides() throws Exception { diff --git a/analysis/analysis-api/testData/components/overridenDeclarations/onEnumEntry.kt b/analysis/analysis-api/testData/components/overridenDeclarations/onEnumEntry.kt new file mode 100644 index 00000000000..023cb702907 --- /dev/null +++ b/analysis/analysis-api/testData/components/overridenDeclarations/onEnumEntry.kt @@ -0,0 +1,3 @@ +enum class MyEnum { + MyEntry +} \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/overridenDeclarations/onEnumEntry.txt b/analysis/analysis-api/testData/components/overridenDeclarations/onEnumEntry.txt new file mode 100644 index 00000000000..be9e7f5f5d6 --- /dev/null +++ b/analysis/analysis-api/testData/components/overridenDeclarations/onEnumEntry.txt @@ -0,0 +1,2 @@ +ALL: +DIRECT: