[FIR] Add a fallback source element for `TYPE_PARAMETERS_IN_ENUM`
^KT-77149 Fixed
diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirEnumClassSimpleChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirEnumClassSimpleChecker.kt
index b45ae65..ee98d98 100644
--- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirEnumClassSimpleChecker.kt
+++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirEnumClassSimpleChecker.kt
@@ -33,7 +33,7 @@
?.let { reporter.reportOn(it.source, FirErrors.CLASS_IN_SUPERTYPE_FOR_ENUM) }
if (declaration.typeParameters.isNotEmpty()) {
- reporter.reportOn(declaration.typeParameters.firstOrNull()?.source, FirErrors.TYPE_PARAMETERS_IN_ENUM)
+ reporter.reportOn(declaration.typeParameters.firstOrNull()?.source ?: declaration.source, FirErrors.TYPE_PARAMETERS_IN_ENUM)
}
}
}
diff --git a/compiler/testData/diagnostics/tests/localNestedEnumCapturesOuterTypeParameters.fir.fail b/compiler/testData/diagnostics/tests/localNestedEnumCapturesOuterTypeParameters.fir.fail
deleted file mode 100644
index 03f696b..0000000
--- a/compiler/testData/diagnostics/tests/localNestedEnumCapturesOuterTypeParameters.fir.fail
+++ /dev/null
@@ -1,9 +0,0 @@
-java.lang.IllegalArgumentException: source must not be null
- at org.jetbrains.kotlin.diagnostics.KtDiagnosticReportHelpersKt.requireNotNull(KtDiagnosticReportHelpers.kt:213)
- at org.jetbrains.kotlin.diagnostics.KtDiagnosticReportHelpersKt.reportOn(KtDiagnosticReportHelpers.kt:43)
- at org.jetbrains.kotlin.diagnostics.KtDiagnosticReportHelpersKt.reportOn$default(KtDiagnosticReportHelpers.kt:37)
- at org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirEnumClassSimpleChecker.check(FirEnumClassSimpleChecker.kt:36)
- at org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirEnumClassSimpleChecker.check(FirEnumClassSimpleChecker.kt:21)
- at org.jetbrains.kotlin.fir.analysis.checkers.declaration.DeclarationCheckersDiagnosticComponent.visitRegularClass(DeclarationCheckersDiagnosticComponent.kt:275)
- at org.jetbrains.kotlin.fir.analysis.checkers.declaration.DeclarationCheckersDiagnosticComponent.visitRegularClass(DeclarationCheckersDiagnosticComponent.kt:25)
- at org.jetbrains.kotlin.fir.declarations.FirRegularClass.accept(FirRegularClass.kt:49)
diff --git a/compiler/testData/diagnostics/tests/localNestedEnumCapturesOuterTypeParameters.fir.kt b/compiler/testData/diagnostics/tests/localNestedEnumCapturesOuterTypeParameters.fir.kt
index e6fb8df6..9bd0590 100644
--- a/compiler/testData/diagnostics/tests/localNestedEnumCapturesOuterTypeParameters.fir.kt
+++ b/compiler/testData/diagnostics/tests/localNestedEnumCapturesOuterTypeParameters.fir.kt
@@ -5,8 +5,8 @@
abstract class ShorteningProcessor<TElement> {
fun analyzeCollectedElements() = E.A == E.A
- enum class E {
+ <!TYPE_PARAMETERS_IN_ENUM!><!WRONG_MODIFIER_TARGET!>enum<!> class E {
A;
- }
+ }<!>
}
}