diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java index 4b7ff3e564f..b158a191d74 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java @@ -41913,6 +41913,24 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InheritingDifferentOptInLevels.kt"); } + @Test + @TestMetadata("InnerAndNestedClasses.kt") + public void testInnerAndNestedClasses() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerAndNestedClasses.kt"); + } + + @Test + @TestMetadata("InnerClasses.kt") + public void testInnerClasses() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerClasses.kt"); + } + + @Test + @TestMetadata("NestedClasses.kt") + public void testNestedClasses() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/NestedClasses.kt"); + } + @Test @TestMetadata("NotApiMarkerAsArgument.kt") public void testNotApiMarkerAsArgument() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java index 79542609bcb..f5beb5d7695 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java @@ -41913,6 +41913,24 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InheritingDifferentOptInLevels.kt"); } + @Test + @TestMetadata("InnerAndNestedClasses.kt") + public void testInnerAndNestedClasses() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerAndNestedClasses.kt"); + } + + @Test + @TestMetadata("InnerClasses.kt") + public void testInnerClasses() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerClasses.kt"); + } + + @Test + @TestMetadata("NestedClasses.kt") + public void testNestedClasses() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/NestedClasses.kt"); + } + @Test @TestMetadata("NotApiMarkerAsArgument.kt") public void testNotApiMarkerAsArgument() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java index 06b71551413..bcce93e2c88 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java @@ -39639,6 +39639,24 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InheritingDifferentOptInLevels.kt"); } + @Test + @TestMetadata("InnerAndNestedClasses.kt") + public void testInnerAndNestedClasses() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerAndNestedClasses.kt"); + } + + @Test + @TestMetadata("InnerClasses.kt") + public void testInnerClasses() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerClasses.kt"); + } + + @Test + @TestMetadata("NestedClasses.kt") + public void testNestedClasses() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/NestedClasses.kt"); + } + @Test @TestMetadata("NotApiMarkerAsArgument.kt") public void testNotApiMarkerAsArgument() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java index 71b93b4f106..bfd87ab1a67 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java @@ -39759,6 +39759,24 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InheritingDifferentOptInLevels.kt"); } + @Test + @TestMetadata("InnerAndNestedClasses.kt") + public void testInnerAndNestedClasses() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerAndNestedClasses.kt"); + } + + @Test + @TestMetadata("InnerClasses.kt") + public void testInnerClasses() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerClasses.kt"); + } + + @Test + @TestMetadata("NestedClasses.kt") + public void testNestedClasses() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/NestedClasses.kt"); + } + @Test @TestMetadata("NotApiMarkerAsArgument.kt") public void testNotApiMarkerAsArgument() throws Exception { diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerAndNestedClasses.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerAndNestedClasses.kt new file mode 100644 index 00000000000..b96e7a4873f --- /dev/null +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerAndNestedClasses.kt @@ -0,0 +1,20 @@ +// FIR_IDENTICAL + +@RequiresOptIn +annotation class Api + +@SubclassOptInRequired(Api::class) +open class B { + open class C + open inner class L +} + +class E() : B() +class K() : B.C() + +fun test() { + with(B()) { + class Local : B.L() + } +} + diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerClasses.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerClasses.kt new file mode 100644 index 00000000000..c8e2cb367f5 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerClasses.kt @@ -0,0 +1,22 @@ +// FIR_IDENTICAL + +@RequiresOptIn +annotation class Boom + +@RequiresOptIn +annotation class Boom2 + +@SubclassOptInRequired(Boom::class) +open class B { + @SubclassOptInRequired(Boom2::class) + open inner class C +} + + +fun test() { + with(B()) { + @OptIn(Boom2::class) + class Local : B.C() {} + } +} + diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/NestedClasses.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/NestedClasses.kt new file mode 100644 index 00000000000..edafc6da6b9 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/NestedClasses.kt @@ -0,0 +1,19 @@ +// FIR_IDENTICAL + +@RequiresOptIn +annotation class Boom + +@RequiresOptIn +annotation class Boom2 + +@SubclassOptInRequired(Boom::class) +open class B { + @SubclassOptInRequired(Boom2::class) + open class C + + @OptIn(Boom2::class) + class C2 : C() +} + +@OptIn(Boom2::class) +class E2 : B.C() {} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java index 8cf1218b19e..e386c710eb5 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java @@ -41913,6 +41913,24 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InheritingDifferentOptInLevels.kt"); } + @Test + @TestMetadata("InnerAndNestedClasses.kt") + public void testInnerAndNestedClasses() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerAndNestedClasses.kt"); + } + + @Test + @TestMetadata("InnerClasses.kt") + public void testInnerClasses() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/InnerClasses.kt"); + } + + @Test + @TestMetadata("NestedClasses.kt") + public void testNestedClasses() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/annotations/subclassOptInRequired/NestedClasses.kt"); + } + @Test @TestMetadata("NotApiMarkerAsArgument.kt") public void testNotApiMarkerAsArgument() throws Exception {