[FIR] Properly setup java parser version for CLI pipeline with light tree
^KT-56549 Fixed
This commit is contained in:
committed by
Space Team
parent
f836d16dc6
commit
e0fa1e64b9
@@ -518,6 +518,8 @@ fun createProjectEnvironment(
|
||||
project.registerService(MetadataFinderFactory::class.java, finderFactory)
|
||||
project.registerService(VirtualFileFinderFactory::class.java, finderFactory)
|
||||
|
||||
project.setupHighestLanguageLevel()
|
||||
|
||||
return ProjectEnvironmentWithCoreEnvironmentEmulation(
|
||||
project,
|
||||
localFileSystem,
|
||||
|
||||
+6
@@ -766,6 +766,12 @@ public class FirLightTreeBlackBoxModernJdkCodegenTestGenerated extends AbstractF
|
||||
runTest("compiler/testData/codegen/boxModernJdk/testsWithJava17/sealed/javaSealedInterface.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kotlinExhaustiveWhenOnJavaSealedClass.kt")
|
||||
public void testKotlinExhaustiveWhenOnJavaSealedClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxModernJdk/testsWithJava17/sealed/kotlinExhaustiveWhenOnJavaSealedClass.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("permittedSubclassesOfSealedKotlinClass.kt")
|
||||
public void testPermittedSubclassesOfSealedKotlinClass() throws Exception {
|
||||
|
||||
+12
@@ -340,6 +340,12 @@ public class FirPsiBlackBoxModernJdkCodegenTestGenerated extends AbstractFirPsiB
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxModernJdk/testsWithJava17/records"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("binaryRecord.kt")
|
||||
public void testBinaryRecord() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxModernJdk/testsWithJava17/records/binaryRecord.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("bytecodeShapeForJava.kt")
|
||||
public void testBytecodeShapeForJava() throws Exception {
|
||||
@@ -760,6 +766,12 @@ public class FirPsiBlackBoxModernJdkCodegenTestGenerated extends AbstractFirPsiB
|
||||
runTest("compiler/testData/codegen/boxModernJdk/testsWithJava17/sealed/javaSealedInterface.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kotlinExhaustiveWhenOnJavaSealedClass.kt")
|
||||
public void testKotlinExhaustiveWhenOnJavaSealedClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxModernJdk/testsWithJava17/sealed/kotlinExhaustiveWhenOnJavaSealedClass.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("permittedSubclassesOfSealedKotlinClass.kt")
|
||||
public void testPermittedSubclassesOfSealedKotlinClass() throws Exception {
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
$TESTDATA_DIR$/javaSealedClass/SealedJava.java
|
||||
$TESTDATA_DIR$/javaSealedClass/SubSealedAJava.java
|
||||
$TESTDATA_DIR$/javaSealedClass/SubSealedBJava.java
|
||||
$TESTDATA_DIR$/javaSealedClass/javaSealedClass.kt
|
||||
-d
|
||||
$TEMP_DIR$
|
||||
-language-version
|
||||
2.0
|
||||
@@ -0,0 +1,2 @@
|
||||
warning: language version 2.0 is experimental, there are no backwards compatibility guarantees for new language and library features
|
||||
OK
|
||||
@@ -0,0 +1 @@
|
||||
public abstract sealed class SealedJava permits SubSealedAJava, SubSealedBJava {}
|
||||
@@ -0,0 +1 @@
|
||||
public final class SubSealedAJava extends SealedJava {}
|
||||
@@ -0,0 +1 @@
|
||||
public non-sealed class SubSealedBJava extends SealedJava {}
|
||||
@@ -0,0 +1,4 @@
|
||||
fun test(sj: SealedJava) = when (sj) {
|
||||
is SubSealedAJava -> "O"
|
||||
is SubSealedBJava -> "K"
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// ISSUE: KT-56549
|
||||
|
||||
// FILE: SealedJava.java
|
||||
public abstract sealed class SealedJava permits SubSealedAJava, SubSealedBJava {}
|
||||
|
||||
// FILE: SubSealedAJava.java
|
||||
public final class SubSealedAJava extends SealedJava {}
|
||||
|
||||
// FILE: SubSealedBJava.java
|
||||
public non-sealed class SubSealedBJava extends SealedJava {}
|
||||
|
||||
// FILE: main.kt
|
||||
fun test(sj: SealedJava) = when (sj) {
|
||||
is SubSealedAJava -> "O"
|
||||
is SubSealedBJava -> "K"
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return test(SubSealedAJava()) + test(SubSealedBJava())
|
||||
}
|
||||
+6
@@ -766,6 +766,12 @@ public class IrBlackBoxModernJdkCodegenTestGenerated extends AbstractIrBlackBoxC
|
||||
runTest("compiler/testData/codegen/boxModernJdk/testsWithJava17/sealed/javaSealedInterface.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kotlinExhaustiveWhenOnJavaSealedClass.kt")
|
||||
public void testKotlinExhaustiveWhenOnJavaSealedClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxModernJdk/testsWithJava17/sealed/kotlinExhaustiveWhenOnJavaSealedClass.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("permittedSubclassesOfSealedKotlinClass.kt")
|
||||
public void testPermittedSubclassesOfSealedKotlinClass() throws Exception {
|
||||
|
||||
@@ -680,6 +680,11 @@ public class CliTestGenerated extends AbstractCliTest {
|
||||
runTest("compiler/testData/cli/jvm/irSupported.args");
|
||||
}
|
||||
|
||||
@TestMetadata("javaSealedClass.args")
|
||||
public void testJavaSealedClass() throws Exception {
|
||||
runTest("compiler/testData/cli/jvm/javaSealedClass.args");
|
||||
}
|
||||
|
||||
@TestMetadata("javaSrcWrongPackage.args")
|
||||
public void testJavaSrcWrongPackage() throws Exception {
|
||||
runTest("compiler/testData/cli/jvm/javaSrcWrongPackage.args");
|
||||
|
||||
Reference in New Issue
Block a user