Load Class<?> as KClass<*> for Java annotations parameters

This commit is contained in:
Denis Zharkov
2015-04-15 19:55:47 +03:00
parent 0abc63261d
commit f5111180c3
53 changed files with 804 additions and 33 deletions
@@ -175,6 +175,87 @@ public class JetDiagnosticsTestWithStdLibGenerated extends AbstractJetDiagnostic
}
}
@TestMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations/javaAnnotationsWithKClassParameter")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class JavaAnnotationsWithKClassParameter extends AbstractJetDiagnosticsTestWithStdLib {
public void testAllFilesPresentInJavaAnnotationsWithKClassParameter() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/diagnostics/testsWithStdLib/annotations/javaAnnotationsWithKClassParameter"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("annotationAsArgument.kt")
public void testAnnotationAsArgument() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations/javaAnnotationsWithKClassParameter/annotationAsArgument.kt");
doTest(fileName);
}
@TestMetadata("arg.kt")
public void testArg() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations/javaAnnotationsWithKClassParameter/arg.kt");
doTest(fileName);
}
@TestMetadata("argAndOtherDefault.kt")
public void testArgAndOtherDefault() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations/javaAnnotationsWithKClassParameter/argAndOtherDefault.kt");
doTest(fileName);
}
@TestMetadata("argArray.kt")
public void testArgArray() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations/javaAnnotationsWithKClassParameter/argArray.kt");
doTest(fileName);
}
@TestMetadata("argWithDefault.kt")
public void testArgWithDefault() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations/javaAnnotationsWithKClassParameter/argWithDefault.kt");
doTest(fileName);
}
@TestMetadata("argWithDefaultAndOther.kt")
public void testArgWithDefaultAndOther() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations/javaAnnotationsWithKClassParameter/argWithDefaultAndOther.kt");
doTest(fileName);
}
@TestMetadata("twoArgs.kt")
public void testTwoArgs() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations/javaAnnotationsWithKClassParameter/twoArgs.kt");
doTest(fileName);
}
@TestMetadata("value.kt")
public void testValue() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations/javaAnnotationsWithKClassParameter/value.kt");
doTest(fileName);
}
@TestMetadata("valueAndOtherDefault.kt")
public void testValueAndOtherDefault() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations/javaAnnotationsWithKClassParameter/valueAndOtherDefault.kt");
doTest(fileName);
}
@TestMetadata("valueArray.kt")
public void testValueArray() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations/javaAnnotationsWithKClassParameter/valueArray.kt");
doTest(fileName);
}
@TestMetadata("valueWithDefault.kt")
public void testValueWithDefault() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations/javaAnnotationsWithKClassParameter/valueWithDefault.kt");
doTest(fileName);
}
@TestMetadata("valueWithDefaultAndOther.kt")
public void testValueWithDefaultAndOther() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations/javaAnnotationsWithKClassParameter/valueWithDefaultAndOther.kt");
doTest(fileName);
}
}
@TestMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@@ -90,6 +90,51 @@ public class BlackBoxAgainstJavaCodegenTestGenerated extends AbstractBlackBoxCod
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxAgainstJava/annotations/retentionInJava.kt");
doTestAgainstJava(fileName);
}
@TestMetadata("compiler/testData/codegen/boxAgainstJava/annotations/kClassMapping")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class KClassMapping extends AbstractBlackBoxCodegenTest {
public void testAllFilesPresentInKClassMapping() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/boxAgainstJava/annotations/kClassMapping"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("arrayClassParameter.kt")
public void testArrayClassParameter() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxAgainstJava/annotations/kClassMapping/arrayClassParameter.kt");
doTestAgainstJava(fileName);
}
@TestMetadata("arrayClassParameterOnJavaClass.kt")
public void testArrayClassParameterOnJavaClass() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxAgainstJava/annotations/kClassMapping/arrayClassParameterOnJavaClass.kt");
doTestAgainstJava(fileName);
}
@TestMetadata("classParameter.kt")
public void testClassParameter() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxAgainstJava/annotations/kClassMapping/classParameter.kt");
doTestAgainstJava(fileName);
}
@TestMetadata("classParameterOnJavaClass.kt")
public void testClassParameterOnJavaClass() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxAgainstJava/annotations/kClassMapping/classParameterOnJavaClass.kt");
doTestAgainstJava(fileName);
}
@TestMetadata("varargClassParameter.kt")
public void testVarargClassParameter() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxAgainstJava/annotations/kClassMapping/varargClassParameter.kt");
doTestAgainstJava(fileName);
}
@TestMetadata("varargClassParameterOnJavaClass.kt")
public void testVarargClassParameterOnJavaClass() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxAgainstJava/annotations/kClassMapping/varargClassParameterOnJavaClass.kt");
doTestAgainstJava(fileName);
}
}
}
@TestMetadata("compiler/testData/codegen/boxAgainstJava/callableReference")
@@ -351,6 +351,18 @@ public class LoadJavaTestGenerated extends AbstractLoadJavaTest {
doTestCompiledJava(fileName);
}
@TestMetadata("ClassObjectInParamRaw.java")
public void testClassObjectInParamRaw() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledJava/annotations/ClassObjectInParamRaw.java");
doTestCompiledJava(fileName);
}
@TestMetadata("ClassObjectInParamVariance.java")
public void testClassObjectInParamVariance() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledJava/annotations/ClassObjectInParamVariance.java");
doTestCompiledJava(fileName);
}
@TestMetadata("CustomAnnotation.java")
public void testCustomAnnotation() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledJava/annotations/CustomAnnotation.java");
@@ -3357,6 +3357,18 @@ public class JvmRuntimeDescriptorLoaderTestGenerated extends AbstractJvmRuntimeD
doTest(fileName);
}
@TestMetadata("ClassObjectInParamRaw.java")
public void testClassObjectInParamRaw() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledJava/annotations/ClassObjectInParamRaw.java");
doTest(fileName);
}
@TestMetadata("ClassObjectInParamVariance.java")
public void testClassObjectInParamVariance() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledJava/annotations/ClassObjectInParamVariance.java");
doTest(fileName);
}
@TestMetadata("CustomAnnotation.java")
public void testCustomAnnotation() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledJava/annotations/CustomAnnotation.java");