Revert OPT_IN_MARKER_ON_OVERRIDE limitation #KT-48890 Fixed
This commit is contained in:
-6
@@ -36352,12 +36352,6 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti
|
||||
runTest("compiler/testData/diagnostics/testsWithStdLib/experimental/experimentalIsNotEnabled.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("experimentalOnOverrideWarning.kt")
|
||||
public void testExperimentalOnOverrideWarning() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/testsWithStdLib/experimental/experimentalOnOverrideWarning.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("experimentalSetter.kt")
|
||||
public void testExperimentalSetter() throws Exception {
|
||||
|
||||
-6
@@ -36352,12 +36352,6 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac
|
||||
runTest("compiler/testData/diagnostics/testsWithStdLib/experimental/experimentalIsNotEnabled.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("experimentalOnOverrideWarning.kt")
|
||||
public void testExperimentalOnOverrideWarning() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/testsWithStdLib/experimental/experimentalOnOverrideWarning.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("experimentalSetter.kt")
|
||||
public void testExperimentalSetter() throws Exception {
|
||||
|
||||
-22
@@ -346,28 +346,6 @@ object FirOverrideChecker : FirClassChecker() {
|
||||
reportNotAcceptedOverrideExperimentalities(
|
||||
overriddenExperimentalities, memberSymbol, context, reporter
|
||||
)
|
||||
for (annotation in memberSymbol.fir.annotations) {
|
||||
val annotationType = annotation.annotationTypeRef.coneTypeSafe<ConeClassLikeType>()
|
||||
val lookupTag = annotationType?.lookupTag ?: continue
|
||||
withSuppressedDiagnostics(annotation, context) {
|
||||
val useSiteTarget = annotation.useSiteTarget
|
||||
if (useSiteTarget == null || useSiteTarget == AnnotationUseSiteTarget.PROPERTY) {
|
||||
val experimentality = lookupTag.toFirRegularClassSymbol(session)?.loadExperimentalityForMarkerAnnotation()
|
||||
if (experimentality != null && experimentality !in overriddenExperimentalities && overriddenMemberSymbols.all {
|
||||
val ownerClassSymbol = it.dispatchReceiverClassOrNull()?.toFirRegularClassSymbol(session)
|
||||
ownerClassSymbol == null || !ownerClassSymbol.hasAnnotationItselfOrInParent(context, lookupTag.classId)
|
||||
}
|
||||
) {
|
||||
val factory = if (session.languageVersionSettings.supportsFeature(LanguageFeature.OptInOnOverrideForbidden)) {
|
||||
FirErrors.OPT_IN_MARKER_ON_OVERRIDE
|
||||
} else {
|
||||
FirErrors.OPT_IN_MARKER_ON_OVERRIDE_WARNING
|
||||
}
|
||||
reporter.reportOn(annotation.source, factory, context)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user