JVM IR: do not serialize metadata for actualized optional expectations

Optional-expectation annotations which have an actual counterpart should
have never been serialized to the kotlin_module's proto. See for example
the original (correct) implementation in the old JVM backend in
`PackageCodegenImpl.addDescriptorToOptionalAnnotationsIfNeeded`.

 #KT-55611 Fixed
This commit is contained in:
Alexander Udalov
2022-12-27 22:56:18 +01:00
committed by Space Team
parent 11504fda18
commit 7a9c59aeb5
11 changed files with 84 additions and 0 deletions
@@ -85,6 +85,11 @@ public class IncrementalMultiplatformJvmCompilerRunnerTestGenerated extends Abst
runTest("jps/jps-plugin/testData/incremental/mpp/jvmOnly/multifilePartChanged/");
}
@TestMetadata("optionalExpectationWithActual")
public void testOptionalExpectationWithActual() throws Exception {
runTest("jps/jps-plugin/testData/incremental/mpp/jvmOnly/optionalExpectationWithActual/");
}
@TestMetadata("jps/jps-plugin/testData/incremental/mpp/jvmOnly/multifilePartChanged")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@@ -97,5 +102,18 @@ public class IncrementalMultiplatformJvmCompilerRunnerTestGenerated extends Abst
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/mpp/jvmOnly/multifilePartChanged"), Pattern.compile("^([^\\.]+)$"), null, true);
}
}
@TestMetadata("jps/jps-plugin/testData/incremental/mpp/jvmOnly/optionalExpectationWithActual")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class OptionalExpectationWithActual extends AbstractIncrementalMultiplatformJvmCompilerRunnerTest {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
}
public void testAllFilesPresentInOptionalExpectationWithActual() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/mpp/jvmOnly/optionalExpectationWithActual"), Pattern.compile("^([^\\.]+)$"), null, true);
}
}
}
}