Improve support for TYPE_USE default qualifiers

- Apply default qualifiers to type arguments if they contain TYPE_USE
in applicability list
- Read TYPE_USE placed default qualifier annotations

 #KT-19592 Fixed
 #KT-20016 In Progress
This commit is contained in:
Denis Zharkov
2017-09-08 15:15:55 +03:00
parent 69665e7560
commit 71f85812d6
11 changed files with 402 additions and 48 deletions
@@ -56,11 +56,23 @@ public class ForeignJava8AnnotationsTestGenerated extends AbstractForeignJava8An
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/foreignAnnotationsJava8/tests/jsr305"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true);
}
@TestMetadata("defaultAnnotationAppliedToType.kt")
public void testDefaultAnnotationAppliedToType() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/foreignAnnotationsJava8/tests/jsr305/defaultAnnotationAppliedToType.kt");
doTest(fileName);
}
@TestMetadata("springNullableWithTypeUse.kt")
public void testSpringNullableWithTypeUse() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/foreignAnnotationsJava8/tests/jsr305/springNullableWithTypeUse.kt");
doTest(fileName);
}
@TestMetadata("typeArguments.kt")
public void testTypeArguments() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/foreignAnnotationsJava8/tests/jsr305/typeArguments.kt");
doTest(fileName);
}
}
@TestMetadata("compiler/testData/foreignAnnotationsJava8/tests/typeEnhancement")
@@ -56,11 +56,23 @@ public class JavacForeignJava8AnnotationsTestGenerated extends AbstractJavacFore
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/foreignAnnotationsJava8/tests/jsr305"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true);
}
@TestMetadata("defaultAnnotationAppliedToType.kt")
public void testDefaultAnnotationAppliedToType() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/foreignAnnotationsJava8/tests/jsr305/defaultAnnotationAppliedToType.kt");
doTest(fileName);
}
@TestMetadata("springNullableWithTypeUse.kt")
public void testSpringNullableWithTypeUse() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/foreignAnnotationsJava8/tests/jsr305/springNullableWithTypeUse.kt");
doTest(fileName);
}
@TestMetadata("typeArguments.kt")
public void testTypeArguments() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/foreignAnnotationsJava8/tests/jsr305/typeArguments.kt");
doTest(fileName);
}
}
@TestMetadata("compiler/testData/foreignAnnotationsJava8/tests/typeEnhancement")