[JVM] Forbid non-JvmInline value classes again
This commit is contained in:
committed by
Space
parent
7595f798e1
commit
df1de3a7d3
+2
-2
@@ -32117,7 +32117,7 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti
|
||||
@Test
|
||||
@TestMetadata("recursiveMultiFieldValueClasses.kt")
|
||||
public void testRecursiveMultiFieldValueClasses() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/valueClasses/recursiveMultiFieldValueClasses.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
|
||||
runTest("compiler/testData/diagnostics/tests/valueClasses/recursiveMultiFieldValueClasses.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithUniversal());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -32177,7 +32177,7 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti
|
||||
@Test
|
||||
@TestMetadata("valueClassWithForbiddenUnderlyingTypeMultiField.kt")
|
||||
public void testValueClassWithForbiddenUnderlyingTypeMultiField() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/valueClasses/valueClassWithForbiddenUnderlyingTypeMultiField.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
|
||||
runTest("compiler/testData/diagnostics/tests/valueClasses/valueClassWithForbiddenUnderlyingTypeMultiField.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithUniversal());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+2
-2
@@ -32117,7 +32117,7 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac
|
||||
@Test
|
||||
@TestMetadata("recursiveMultiFieldValueClasses.kt")
|
||||
public void testRecursiveMultiFieldValueClasses() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/valueClasses/recursiveMultiFieldValueClasses.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
|
||||
runTest("compiler/testData/diagnostics/tests/valueClasses/recursiveMultiFieldValueClasses.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithUniversal());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -32177,7 +32177,7 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac
|
||||
@Test
|
||||
@TestMetadata("valueClassWithForbiddenUnderlyingTypeMultiField.kt")
|
||||
public void testValueClassWithForbiddenUnderlyingTypeMultiField() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/valueClasses/valueClassWithForbiddenUnderlyingTypeMultiField.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
|
||||
runTest("compiler/testData/diagnostics/tests/valueClasses/valueClassWithForbiddenUnderlyingTypeMultiField.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithUniversal());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+1
-4
@@ -5,7 +5,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.analysis.jvm.checkers.declaration
|
||||
|
||||
import org.jetbrains.kotlin.config.LanguageFeature
|
||||
import org.jetbrains.kotlin.diagnostics.DiagnosticReporter
|
||||
import org.jetbrains.kotlin.diagnostics.reportOn
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
||||
@@ -24,9 +23,7 @@ object FirJvmInlineApplicabilityChecker : FirRegularClassChecker() {
|
||||
val annotation = declaration.getAnnotationByClassId(JVM_INLINE_ANNOTATION_CLASS_ID)
|
||||
if (annotation != null && !declaration.isInline) {
|
||||
reporter.reportOn(annotation.source, FirJvmErrors.JVM_INLINE_WITHOUT_VALUE_CLASS, context)
|
||||
} else if (annotation == null && declaration.isInline && !declaration.isExpect &&
|
||||
!context.languageVersionSettings.supportsFeature(LanguageFeature.ValueClasses)
|
||||
) {
|
||||
} else if (annotation == null && declaration.isInline && !declaration.isExpect) {
|
||||
reporter.reportOn(
|
||||
declaration.getModifier(KtTokens.VALUE_KEYWORD)?.source,
|
||||
FirJvmErrors.VALUE_CLASS_WITHOUT_JVM_INLINE_ANNOTATION,
|
||||
|
||||
-2346
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user