Generate function type parameter annotations and type annotations on their bounds into bytecode

Generate type parameter annotation by default for `-Xjvm-target 1.8` and above

 #KT-46539
 #KT-13228
 #KT-46545 Fixed
This commit is contained in:
Mikhael Bogdanov
2021-05-04 09:41:26 +02:00
committed by TeamCityServer
parent 209ec68591
commit cbe3c66156
23 changed files with 691 additions and 2 deletions
@@ -130,6 +130,11 @@ public class AsmLikeInstructionListingTestGenerated extends AbstractAsmLikeInstr
runTest("compiler/testData/codegen/asmLike/typeAnnotations/defaultArgs.kt");
}
@TestMetadata("dontEmit.kt")
public void testDontEmit() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/dontEmit.kt");
}
@TestMetadata("enumClassConstructor.kt")
public void testEnumClassConstructor() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/enumClassConstructor.kt");
@@ -145,6 +150,11 @@ public class AsmLikeInstructionListingTestGenerated extends AbstractAsmLikeInstr
runTest("compiler/testData/codegen/asmLike/typeAnnotations/extension.kt");
}
@TestMetadata("functionTypeParameter.kt")
public void testFunctionTypeParameter() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/functionTypeParameter.kt");
}
@TestMetadata("implicit.kt")
public void testImplicit() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/implicit.kt");
@@ -180,6 +190,11 @@ public class AsmLikeInstructionListingTestGenerated extends AbstractAsmLikeInstr
runTest("compiler/testData/codegen/asmLike/typeAnnotations/property.kt");
}
@TestMetadata("propertyTypeParameter.kt")
public void testPropertyTypeParameter() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/propertyTypeParameter.kt");
}
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/simple.kt");
@@ -199,5 +214,15 @@ public class AsmLikeInstructionListingTestGenerated extends AbstractAsmLikeInstr
public void testSyntheticAccessors() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/syntheticAccessors.kt");
}
@TestMetadata("typeParameter.kt")
public void testTypeParameter() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/typeParameter.kt");
}
@TestMetadata("typeParameter16.kt")
public void testTypeParameter16() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/typeParameter16.kt");
}
}
}
@@ -372,6 +372,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class TypeAnnotations extends AbstractLightAnalysisModeTest {
@TestMetadata("methodTypeParameters.kt")
public void ignoreMethodTypeParameters() throws Exception {
runTest("compiler/testData/codegen/box/annotations/typeAnnotations/methodTypeParameters.kt");
}
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM, testDataFilePath);
}
@@ -385,6 +390,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/annotations/typeAnnotations/checkingNotincorporatedInputTypes.kt");
}
@TestMetadata("functionTypeParameterBound.kt")
public void testFunctionTypeParameterBound() throws Exception {
runTest("compiler/testData/codegen/box/annotations/typeAnnotations/functionTypeParameterBound.kt");
}
@TestMetadata("implicitReturn.kt")
public void testImplicitReturn() throws Exception {
runTest("compiler/testData/codegen/box/annotations/typeAnnotations/implicitReturn.kt");
@@ -130,6 +130,11 @@ public class IrAsmLikeInstructionListingTestGenerated extends AbstractIrAsmLikeI
runTest("compiler/testData/codegen/asmLike/typeAnnotations/defaultArgs.kt");
}
@TestMetadata("dontEmit.kt")
public void testDontEmit() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/dontEmit.kt");
}
@TestMetadata("enumClassConstructor.kt")
public void testEnumClassConstructor() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/enumClassConstructor.kt");
@@ -145,6 +150,11 @@ public class IrAsmLikeInstructionListingTestGenerated extends AbstractIrAsmLikeI
runTest("compiler/testData/codegen/asmLike/typeAnnotations/extension.kt");
}
@TestMetadata("functionTypeParameter.kt")
public void testFunctionTypeParameter() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/functionTypeParameter.kt");
}
@TestMetadata("implicit.kt")
public void testImplicit() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/implicit.kt");
@@ -180,6 +190,11 @@ public class IrAsmLikeInstructionListingTestGenerated extends AbstractIrAsmLikeI
runTest("compiler/testData/codegen/asmLike/typeAnnotations/property.kt");
}
@TestMetadata("propertyTypeParameter.kt")
public void testPropertyTypeParameter() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/propertyTypeParameter.kt");
}
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/simple.kt");
@@ -199,5 +214,15 @@ public class IrAsmLikeInstructionListingTestGenerated extends AbstractIrAsmLikeI
public void testSyntheticAccessors() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/syntheticAccessors.kt");
}
@TestMetadata("typeParameter.kt")
public void testTypeParameter() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/typeParameter.kt");
}
@TestMetadata("typeParameter16.kt")
public void testTypeParameter16() throws Exception {
runTest("compiler/testData/codegen/asmLike/typeAnnotations/typeParameter16.kt");
}
}
}