diff --git a/compiler/testData/loadJava/compiledKotlinWithStdlib/platformNames/functionName.kt b/compiler/testData/loadJava/compiledKotlinWithStdlib/platformNames/functionName.kt new file mode 100644 index 00000000000..448399092c3 --- /dev/null +++ b/compiler/testData/loadJava/compiledKotlinWithStdlib/platformNames/functionName.kt @@ -0,0 +1,18 @@ +package test + +import kotlin.platform.* + +annotation class A(val s: String) + +[platformName("bar")] +A("1") +fun foo() = "foo" + +A("2") +var v: Int = 1 + [platformName("vget")] + [A("3")] + get + [platformName("vset")] + [A("4")] + set diff --git a/compiler/testData/loadJava/compiledKotlinWithStdlib/platformNames/functionName.txt b/compiler/testData/loadJava/compiledKotlinWithStdlib/platformNames/functionName.txt new file mode 100644 index 00000000000..cc95346f136 --- /dev/null +++ b/compiler/testData/loadJava/compiledKotlinWithStdlib/platformNames/functionName.txt @@ -0,0 +1,12 @@ +package test + +test.A(s = "2": kotlin.String) internal var v: kotlin.Int + kotlin.platform.platformName(name = "vget": kotlin.String) test.A(s = "3": kotlin.String) internal fun (): kotlin.Int + kotlin.platform.platformName(name = "vset": kotlin.String) test.A(s = "4": kotlin.String) internal fun (/*0*/ : kotlin.Int): kotlin.Unit +test.A(s = "1": kotlin.String) kotlin.platform.platformName(name = "bar": kotlin.String) internal fun foo(): kotlin.String + +internal final annotation class A : kotlin.Annotation { + /*primary*/ public constructor A(/*0*/ s: kotlin.String) + internal final val s: kotlin.String + internal final fun (): kotlin.String +} diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java index 3a28cd481c2..ed9b8c8b6ec 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java @@ -101,17 +101,25 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir { } protected void doTestCompiledKotlin(@NotNull String ktFileName) throws Exception { + doTestCompiledKotlin(ktFileName, ConfigurationKind.JDK_ONLY); + } + + protected void doTestCompiledKotlinWithStdlib(@NotNull String ktFileName) throws Exception { + doTestCompiledKotlin(ktFileName, ConfigurationKind.ALL); + } + + protected void doTestCompiledKotlin(@NotNull String ktFileName, @NotNull ConfigurationKind configurationKind) throws Exception { File ktFile = new File(ktFileName); File txtFile = new File(ktFileName.replaceFirst("\\.kt$", ".txt")); AnalyzeExhaust exhaust = compileKotlinToDirAndGetAnalyzeExhaust(Collections.singletonList(ktFile), tmpdir, getTestRootDisposable(), - ConfigurationKind.JDK_ONLY); + configurationKind); PackageViewDescriptor packageFromSource = exhaust.getModuleDescriptor().getPackage(TEST_PACKAGE_FQNAME); assert packageFromSource != null; junit.framework.Assert.assertEquals("test", packageFromSource.getName().asString()); PackageViewDescriptor packageFromBinary = LoadDescriptorUtil.loadTestPackageAndBindingContextFromJavaRoot( - tmpdir, getTestRootDisposable(), ConfigurationKind.JDK_ONLY).first; + tmpdir, getTestRootDisposable(), configurationKind).first; for (DeclarationDescriptor descriptor : packageFromBinary.getMemberScope().getAllDescriptors()) { if (descriptor instanceof ClassDescriptor) { diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java index 8c4f6b9a33e..ee863c05b7d 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java @@ -30,7 +30,7 @@ import org.jetbrains.jet.jvm.compiler.AbstractLoadJavaTest; /** This class is generated by {@link org.jetbrains.jet.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ @SuppressWarnings("all") -@InnerTestClasses({LoadJavaTestGenerated.CompiledJava.class, LoadJavaTestGenerated.CompiledJavaAndKotlin.class, LoadJavaTestGenerated.CompiledJavaCompareWithKotlin.class, LoadJavaTestGenerated.CompiledJavaIncludeObjectMethods.class, LoadJavaTestGenerated.CompiledKotlin.class, LoadJavaTestGenerated.JavaAgainstKotlin.class, LoadJavaTestGenerated.KotlinAgainstCompiledJavaWithKotlin.class, LoadJavaTestGenerated.SourceJava.class}) +@InnerTestClasses({LoadJavaTestGenerated.CompiledJava.class, LoadJavaTestGenerated.CompiledJavaAndKotlin.class, LoadJavaTestGenerated.CompiledJavaCompareWithKotlin.class, LoadJavaTestGenerated.CompiledJavaIncludeObjectMethods.class, LoadJavaTestGenerated.CompiledKotlin.class, LoadJavaTestGenerated.CompiledKotlinWithStdlib.class, LoadJavaTestGenerated.JavaAgainstKotlin.class, LoadJavaTestGenerated.KotlinAgainstCompiledJavaWithKotlin.class, LoadJavaTestGenerated.SourceJava.class}) public class LoadJavaTestGenerated extends AbstractLoadJavaTest { @TestMetadata("compiler/testData/loadJava/compiledJava") @InnerTestClasses({CompiledJava.Annotations.class, CompiledJava.ProtectedPackage.class, CompiledJava.ProtectedStatic.class, CompiledJava.Sam.class, CompiledJava.SignaturePropagation.class, CompiledJava.Static.class}) @@ -3014,6 +3014,34 @@ public class LoadJavaTestGenerated extends AbstractLoadJavaTest { } } + @TestMetadata("compiler/testData/loadJava/compiledKotlinWithStdlib") + @InnerTestClasses({CompiledKotlinWithStdlib.PlatformNames.class}) + public static class CompiledKotlinWithStdlib extends AbstractLoadJavaTest { + public void testAllFilesPresentInCompiledKotlinWithStdlib() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("compiler/testData/loadJava/compiledKotlinWithStdlib"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("compiler/testData/loadJava/compiledKotlinWithStdlib/platformNames") + public static class PlatformNames extends AbstractLoadJavaTest { + public void testAllFilesPresentInPlatformNames() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("compiler/testData/loadJava/compiledKotlinWithStdlib/platformNames"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("functionName.kt") + public void testFunctionName() throws Exception { + doTestCompiledKotlinWithStdlib("compiler/testData/loadJava/compiledKotlinWithStdlib/platformNames/functionName.kt"); + } + + } + + public static Test innerSuite() { + TestSuite suite = new TestSuite("CompiledKotlinWithStdlib"); + suite.addTestSuite(CompiledKotlinWithStdlib.class); + suite.addTestSuite(PlatformNames.class); + return suite; + } + } + @TestMetadata("compiler/testData/loadJava/javaAgainstKotlin") @InnerTestClasses({JavaAgainstKotlin.SamAdapters.class, JavaAgainstKotlin.SignaturePropagation.class, JavaAgainstKotlin.Visibility.class}) public static class JavaAgainstKotlin extends AbstractLoadJavaTest { @@ -3201,6 +3229,7 @@ public class LoadJavaTestGenerated extends AbstractLoadJavaTest { suite.addTest(CompiledJavaCompareWithKotlin.innerSuite()); suite.addTestSuite(CompiledJavaIncludeObjectMethods.class); suite.addTest(CompiledKotlin.innerSuite()); + suite.addTest(CompiledKotlinWithStdlib.innerSuite()); suite.addTest(JavaAgainstKotlin.innerSuite()); suite.addTestSuite(KotlinAgainstCompiledJavaWithKotlin.class); suite.addTestSuite(SourceJava.class); diff --git a/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt b/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt index b92163e44b6..7a303555553 100644 --- a/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt +++ b/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt @@ -199,6 +199,7 @@ fun main(args: Array) { model("loadJava/compiledJavaCompareWithKotlin", extension = "java", testMethod = "doTestCompiledJavaCompareWithKotlin") model("loadJava/compiledJavaIncludeObjectMethods", extension = "java", testMethod = "doTestCompiledJavaIncludeObjectMethods") model("loadJava/compiledKotlin", testMethod = "doTestCompiledKotlin") + model("loadJava/compiledKotlinWithStdlib", testMethod = "doTestCompiledKotlinWithStdlib") model("loadJava/javaAgainstKotlin", extension = "txt", testMethod = "doTestJavaAgainstKotlin") model("loadJava/kotlinAgainstCompiledJavaWithKotlin", extension = "kt", testMethod = "doTestKotlinAgainstCompiledJavaWithKotlin", recursive = false) model("loadJava/sourceJava", extension = "java", testMethod = "doTestSourceJava")