diff --git a/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt b/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt index ec9d8d945c4..687d22e5b61 100644 --- a/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt +++ b/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt @@ -541,7 +541,12 @@ fun main(args: Array) { } testClass() { - model("resolve/referenceInJava", extension = "java") + model("resolve/referenceInJava/binaryAndSource", extension = "java") + model("resolve/referenceInJava/sourceOnly", extension = "java") + } + + testClass() { + model("resolve/referenceInJava/binaryAndSource", extension = "java") } testClass() { diff --git a/idea/testData/resolve/referenceInJava/Class.java b/idea/testData/resolve/referenceInJava/binaryAndSource/Class.java similarity index 100% rename from idea/testData/resolve/referenceInJava/Class.java rename to idea/testData/resolve/referenceInJava/binaryAndSource/Class.java diff --git a/idea/testData/resolve/referenceInJava/ClassObjectField.java b/idea/testData/resolve/referenceInJava/binaryAndSource/ClassObjectField.java similarity index 100% rename from idea/testData/resolve/referenceInJava/ClassObjectField.java rename to idea/testData/resolve/referenceInJava/binaryAndSource/ClassObjectField.java diff --git a/idea/testData/resolve/referenceInJava/Constructor.java b/idea/testData/resolve/referenceInJava/binaryAndSource/Constructor.java similarity index 100% rename from idea/testData/resolve/referenceInJava/Constructor.java rename to idea/testData/resolve/referenceInJava/binaryAndSource/Constructor.java diff --git a/idea/testData/resolve/referenceInJava/EnumEntry.java b/idea/testData/resolve/referenceInJava/binaryAndSource/EnumEntry.java similarity index 100% rename from idea/testData/resolve/referenceInJava/EnumEntry.java rename to idea/testData/resolve/referenceInJava/binaryAndSource/EnumEntry.java diff --git a/idea/testData/resolve/referenceInJava/FileFacade.java b/idea/testData/resolve/referenceInJava/binaryAndSource/FileFacade.java similarity index 61% rename from idea/testData/resolve/referenceInJava/FileFacade.java rename to idea/testData/resolve/referenceInJava/binaryAndSource/FileFacade.java index be1f97b33e2..39b0611b82a 100644 --- a/idea/testData/resolve/referenceInJava/FileFacade.java +++ b/idea/testData/resolve/referenceInJava/binaryAndSource/FileFacade.java @@ -4,4 +4,4 @@ public class PackageFacade { } } -// REF: /src//resolve/referenceInJava.dependencies.kt \ No newline at end of file +// REF: /src//resolve/referenceInJava/dependency.dependencies.kt \ No newline at end of file diff --git a/idea/testData/resolve/referenceInJava/Getter.java b/idea/testData/resolve/referenceInJava/binaryAndSource/Getter.java similarity index 100% rename from idea/testData/resolve/referenceInJava/Getter.java rename to idea/testData/resolve/referenceInJava/binaryAndSource/Getter.java diff --git a/idea/testData/resolve/referenceInJava/Method.java b/idea/testData/resolve/referenceInJava/binaryAndSource/Method.java similarity index 100% rename from idea/testData/resolve/referenceInJava/Method.java rename to idea/testData/resolve/referenceInJava/binaryAndSource/Method.java diff --git a/idea/testData/resolve/referenceInJava/ObjectInstance.java b/idea/testData/resolve/referenceInJava/binaryAndSource/ObjectInstance.java similarity index 100% rename from idea/testData/resolve/referenceInJava/ObjectInstance.java rename to idea/testData/resolve/referenceInJava/binaryAndSource/ObjectInstance.java diff --git a/idea/testData/resolve/referenceInJava/PlatformStaticFun.java b/idea/testData/resolve/referenceInJava/binaryAndSource/PlatformStaticFun.java similarity index 100% rename from idea/testData/resolve/referenceInJava/PlatformStaticFun.java rename to idea/testData/resolve/referenceInJava/binaryAndSource/PlatformStaticFun.java diff --git a/idea/testData/resolve/referenceInJava/dependencies.kt b/idea/testData/resolve/referenceInJava/dependency/dependencies.kt similarity index 97% rename from idea/testData/resolve/referenceInJava/dependencies.kt rename to idea/testData/resolve/referenceInJava/dependency/dependencies.kt index 62f969bc364..5dd2a544400 100644 --- a/idea/testData/resolve/referenceInJava/dependencies.kt +++ b/idea/testData/resolve/referenceInJava/dependency/dependencies.kt @@ -47,7 +47,7 @@ interface TraitWithImpl { public class TraitWithDelegatedWithImpl(f: TraitWithImpl) : TraitWithImpl by f -kotlin.jvm.jvmOverloads +@kotlin.jvm.JvmOverloads public fun withJvmOverloads(i: Int, b: Boolean = false, s: String="hello") {} annotation class KAnno(val c: Int = 4, val d: String) diff --git a/idea/testData/resolve/referenceInJava/AnnotationParameterReference.java b/idea/testData/resolve/referenceInJava/sourceOnly/AnnotationParameterReference.java similarity index 100% rename from idea/testData/resolve/referenceInJava/AnnotationParameterReference.java rename to idea/testData/resolve/referenceInJava/sourceOnly/AnnotationParameterReference.java diff --git a/idea/testData/resolve/referenceInJava/AutoGeneratedOverloads.java b/idea/testData/resolve/referenceInJava/sourceOnly/AutoGeneratedOverloads.java similarity index 100% rename from idea/testData/resolve/referenceInJava/AutoGeneratedOverloads.java rename to idea/testData/resolve/referenceInJava/sourceOnly/AutoGeneratedOverloads.java diff --git a/idea/testData/resolve/referenceInJava/ClassObjectStaticField.java b/idea/testData/resolve/referenceInJava/sourceOnly/ClassObjectStaticField.java similarity index 100% rename from idea/testData/resolve/referenceInJava/ClassObjectStaticField.java rename to idea/testData/resolve/referenceInJava/sourceOnly/ClassObjectStaticField.java diff --git a/idea/testData/resolve/referenceInJava/DelegatedMethodFromTraitNoImpl.java b/idea/testData/resolve/referenceInJava/sourceOnly/DelegatedMethodFromTraitNoImpl.java similarity index 100% rename from idea/testData/resolve/referenceInJava/DelegatedMethodFromTraitNoImpl.java rename to idea/testData/resolve/referenceInJava/sourceOnly/DelegatedMethodFromTraitNoImpl.java diff --git a/idea/testData/resolve/referenceInJava/DelegatedMethodFromTraitWithImpl.java b/idea/testData/resolve/referenceInJava/sourceOnly/DelegatedMethodFromTraitWithImpl.java similarity index 100% rename from idea/testData/resolve/referenceInJava/DelegatedMethodFromTraitWithImpl.java rename to idea/testData/resolve/referenceInJava/sourceOnly/DelegatedMethodFromTraitWithImpl.java diff --git a/idea/tests/org/jetbrains/kotlin/idea/resolve/AbstractReferenceResolveInJavaTest.kt b/idea/tests/org/jetbrains/kotlin/idea/resolve/AbstractReferenceResolveInJavaTest.kt index 541ad40dc49..118e88b7932 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/resolve/AbstractReferenceResolveInJavaTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/resolve/AbstractReferenceResolveInJavaTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2015 JetBrains s.r.o. + * Copyright 2010-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,9 +16,11 @@ package org.jetbrains.kotlin.idea.resolve +import org.jetbrains.kotlin.idea.test.JdkAndMockLibraryProjectDescriptor import org.jetbrains.kotlin.idea.test.PluginTestCaseBase -private val FILE_WITH_KOTLIN_CODE = PluginTestCaseBase.getTestDataPathBase() + "/resolve/referenceInJava/dependencies.kt" +private val DIR = "/resolve/referenceInJava/dependency" +private val FILE_WITH_KOTLIN_CODE = PluginTestCaseBase.getTestDataPathBase() + DIR + "/dependencies.kt" abstract class AbstractReferenceResolveInJavaTest : AbstractReferenceResolveTest() { override fun doTest(path: String) { @@ -28,3 +30,12 @@ abstract class AbstractReferenceResolveInJavaTest : AbstractReferenceResolveTest performChecks() } } + +abstract class AbstractReferenceToCompiledKotlinResolveInJavaTest : AbstractReferenceResolveTest() { + override fun doTest(path: String) { + myFixture.configureByFile(path) + performChecks() + } + + override fun getProjectDescriptor() = JdkAndMockLibraryProjectDescriptor(FILE_WITH_KOTLIN_CODE, false) +} diff --git a/idea/tests/org/jetbrains/kotlin/idea/resolve/ReferenceResolveInJavaTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/resolve/ReferenceResolveInJavaTestGenerated.java index 09c3deda3ea..b834de3a461 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/resolve/ReferenceResolveInJavaTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/resolve/ReferenceResolveInJavaTestGenerated.java @@ -27,95 +27,107 @@ import java.util.regex.Pattern; /** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ @SuppressWarnings("all") -@TestMetadata("idea/testData/resolve/referenceInJava") -@TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) public class ReferenceResolveInJavaTestGenerated extends AbstractReferenceResolveInJavaTest { - public void testAllFilesPresentInReferenceInJava() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/resolve/referenceInJava"), Pattern.compile("^(.+)\\.java$"), true); + @TestMetadata("idea/testData/resolve/referenceInJava/binaryAndSource") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class BinaryAndSource extends AbstractReferenceResolveInJavaTest { + public void testAllFilesPresentInBinaryAndSource() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/resolve/referenceInJava/binaryAndSource"), Pattern.compile("^(.+)\\.java$"), true); + } + + @TestMetadata("Class.java") + public void testClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/Class.java"); + doTest(fileName); + } + + @TestMetadata("ClassObjectField.java") + public void testClassObjectField() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/ClassObjectField.java"); + doTest(fileName); + } + + @TestMetadata("Constructor.java") + public void testConstructor() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/Constructor.java"); + doTest(fileName); + } + + @TestMetadata("EnumEntry.java") + public void testEnumEntry() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/EnumEntry.java"); + doTest(fileName); + } + + @TestMetadata("FileFacade.java") + public void testFileFacade() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/FileFacade.java"); + doTest(fileName); + } + + @TestMetadata("Getter.java") + public void testGetter() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/Getter.java"); + doTest(fileName); + } + + @TestMetadata("Method.java") + public void testMethod() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/Method.java"); + doTest(fileName); + } + + @TestMetadata("ObjectInstance.java") + public void testObjectInstance() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/ObjectInstance.java"); + doTest(fileName); + } + + @TestMetadata("PlatformStaticFun.java") + public void testPlatformStaticFun() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/PlatformStaticFun.java"); + doTest(fileName); + } } - @TestMetadata("AnnotationParameterReference.java") - public void testAnnotationParameterReference() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/AnnotationParameterReference.java"); - doTest(fileName); - } + @TestMetadata("idea/testData/resolve/referenceInJava/sourceOnly") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class SourceOnly extends AbstractReferenceResolveInJavaTest { + public void testAllFilesPresentInSourceOnly() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/resolve/referenceInJava/sourceOnly"), Pattern.compile("^(.+)\\.java$"), true); + } - @TestMetadata("AutoGeneratedOverloads.java") - public void testAutoGeneratedOverloads() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/AutoGeneratedOverloads.java"); - doTest(fileName); - } + @TestMetadata("AnnotationParameterReference.java") + public void testAnnotationParameterReference() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/sourceOnly/AnnotationParameterReference.java"); + doTest(fileName); + } - @TestMetadata("Class.java") - public void testClass() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/Class.java"); - doTest(fileName); - } + @TestMetadata("AutoGeneratedOverloads.java") + public void testAutoGeneratedOverloads() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/sourceOnly/AutoGeneratedOverloads.java"); + doTest(fileName); + } - @TestMetadata("ClassObjectField.java") - public void testClassObjectField() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/ClassObjectField.java"); - doTest(fileName); - } + @TestMetadata("ClassObjectStaticField.java") + public void testClassObjectStaticField() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/sourceOnly/ClassObjectStaticField.java"); + doTest(fileName); + } - @TestMetadata("ClassObjectStaticField.java") - public void testClassObjectStaticField() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/ClassObjectStaticField.java"); - doTest(fileName); - } + @TestMetadata("DelegatedMethodFromTraitNoImpl.java") + public void testDelegatedMethodFromTraitNoImpl() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/sourceOnly/DelegatedMethodFromTraitNoImpl.java"); + doTest(fileName); + } - @TestMetadata("Constructor.java") - public void testConstructor() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/Constructor.java"); - doTest(fileName); - } - - @TestMetadata("DelegatedMethodFromTraitNoImpl.java") - public void testDelegatedMethodFromTraitNoImpl() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/DelegatedMethodFromTraitNoImpl.java"); - doTest(fileName); - } - - @TestMetadata("DelegatedMethodFromTraitWithImpl.java") - public void testDelegatedMethodFromTraitWithImpl() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/DelegatedMethodFromTraitWithImpl.java"); - doTest(fileName); - } - - @TestMetadata("EnumEntry.java") - public void testEnumEntry() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/EnumEntry.java"); - doTest(fileName); - } - - @TestMetadata("FileFacade.java") - public void testFileFacade() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/FileFacade.java"); - doTest(fileName); - } - - @TestMetadata("Getter.java") - public void testGetter() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/Getter.java"); - doTest(fileName); - } - - @TestMetadata("Method.java") - public void testMethod() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/Method.java"); - doTest(fileName); - } - - @TestMetadata("ObjectInstance.java") - public void testObjectInstance() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/ObjectInstance.java"); - doTest(fileName); - } - - @TestMetadata("PlatformStaticFun.java") - public void testPlatformStaticFun() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/PlatformStaticFun.java"); - doTest(fileName); + @TestMetadata("DelegatedMethodFromTraitWithImpl.java") + public void testDelegatedMethodFromTraitWithImpl() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/sourceOnly/DelegatedMethodFromTraitWithImpl.java"); + doTest(fileName); + } } } diff --git a/idea/tests/org/jetbrains/kotlin/idea/resolve/ReferenceToCompiledKotlinResolveInJavaTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/resolve/ReferenceToCompiledKotlinResolveInJavaTestGenerated.java new file mode 100644 index 00000000000..6519ee98be1 --- /dev/null +++ b/idea/tests/org/jetbrains/kotlin/idea/resolve/ReferenceToCompiledKotlinResolveInJavaTestGenerated.java @@ -0,0 +1,91 @@ +/* + * Copyright 2010-2016 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.kotlin.idea.resolve; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.JUnit3RunnerWithInners; +import org.jetbrains.kotlin.test.KotlinTestUtils; +import org.jetbrains.kotlin.test.TestMetadata; +import org.junit.runner.RunWith; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("idea/testData/resolve/referenceInJava/binaryAndSource") +@TestDataPath("$PROJECT_ROOT") +@RunWith(JUnit3RunnerWithInners.class) +public class ReferenceToCompiledKotlinResolveInJavaTestGenerated extends AbstractReferenceToCompiledKotlinResolveInJavaTest { + public void testAllFilesPresentInBinaryAndSource() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/resolve/referenceInJava/binaryAndSource"), Pattern.compile("^(.+)\\.java$"), true); + } + + @TestMetadata("Class.java") + public void testClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/Class.java"); + doTest(fileName); + } + + @TestMetadata("ClassObjectField.java") + public void testClassObjectField() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/ClassObjectField.java"); + doTest(fileName); + } + + @TestMetadata("Constructor.java") + public void testConstructor() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/Constructor.java"); + doTest(fileName); + } + + @TestMetadata("EnumEntry.java") + public void testEnumEntry() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/EnumEntry.java"); + doTest(fileName); + } + + @TestMetadata("FileFacade.java") + public void testFileFacade() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/FileFacade.java"); + doTest(fileName); + } + + @TestMetadata("Getter.java") + public void testGetter() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/Getter.java"); + doTest(fileName); + } + + @TestMetadata("Method.java") + public void testMethod() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/Method.java"); + doTest(fileName); + } + + @TestMetadata("ObjectInstance.java") + public void testObjectInstance() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/ObjectInstance.java"); + doTest(fileName); + } + + @TestMetadata("PlatformStaticFun.java") + public void testPlatformStaticFun() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/binaryAndSource/PlatformStaticFun.java"); + doTest(fileName); + } +}