diff --git a/idea/testData/resolve/referenceWithLib/delegatedPropertyWithTypeParameters.kt b/idea/testData/resolve/referenceWithLib/delegatedPropertyWithTypeParameters.kt new file mode 100644 index 00000000000..9585defba43 --- /dev/null +++ b/idea/testData/resolve/referenceWithLib/delegatedPropertyWithTypeParameters.kt @@ -0,0 +1,13 @@ +package test + +import dependency.* + +class A + +class B { + var a by A() +} + +// MULTIRESOLVE +// REF: (for T in dependency).get(R,jet.PropertyMetadata) +// REF: (for T in dependency).set(R,jet.PropertyMetadata,jet.Int) diff --git a/idea/testData/resolve/referenceWithLib/delegatedPropertyWithTypeParametersSrc/delegatedPropertyWithTypeParametersDependency.kt b/idea/testData/resolve/referenceWithLib/delegatedPropertyWithTypeParametersSrc/delegatedPropertyWithTypeParametersDependency.kt new file mode 100644 index 00000000000..91649b7f3af --- /dev/null +++ b/idea/testData/resolve/referenceWithLib/delegatedPropertyWithTypeParametersSrc/delegatedPropertyWithTypeParametersDependency.kt @@ -0,0 +1,8 @@ +package dependency + +fun T.get(thisRef: R, desc: PropertyMetadata): Int { + return 3 +} + +fun T.set(thisRef: R, desc: PropertyMetadata, value: Int) { +} diff --git a/idea/testData/resolve/referenceWithLib/iteratorWithTypeParameter.kt b/idea/testData/resolve/referenceWithLib/iteratorWithTypeParameter.kt new file mode 100644 index 00000000000..77906ab5a0b --- /dev/null +++ b/idea/testData/resolve/referenceWithLib/iteratorWithTypeParameter.kt @@ -0,0 +1,13 @@ +package test + +import dependency.* + +fun foo(f: Foo) { + for (elem in f) { + } +} + +// MULTIRESOLVE +// REF: (for dependency.Foo in dependency).iterator() +// REF: (for dependency.FooIterator in dependency).hasNext() +// REF: (for dependency.FooIterator in dependency).next() diff --git a/idea/testData/resolve/referenceWithLib/iteratorWithTypeParameterSrc/iteratorWithTypeParameterDependency.kt b/idea/testData/resolve/referenceWithLib/iteratorWithTypeParameterSrc/iteratorWithTypeParameterDependency.kt new file mode 100644 index 00000000000..bf33c2d5141 --- /dev/null +++ b/idea/testData/resolve/referenceWithLib/iteratorWithTypeParameterSrc/iteratorWithTypeParameterDependency.kt @@ -0,0 +1,11 @@ +package dependency + +class Foo { +} + +class FooIterator { +} + +fun Foo.iterator() = FooIterator() +fun FooIterator.hasNext() = false +fun FooIterator.next() = throw IllegalStateException() diff --git a/idea/testData/resolve/referenceWithLib/setWithTypeParameters.kt b/idea/testData/resolve/referenceWithLib/setWithTypeParameters.kt new file mode 100644 index 00000000000..74981e89670 --- /dev/null +++ b/idea/testData/resolve/referenceWithLib/setWithTypeParameters.kt @@ -0,0 +1,9 @@ +package test + +import dependency.set + +fun foo(a: List) { + a["bar"] = 3 +} + +// REF: (for jet.List in dependency).set(jet.String,T) diff --git a/idea/testData/resolve/referenceWithLib/setWithTypeParametersSrc/setWithTypeParametersDependency.kt b/idea/testData/resolve/referenceWithLib/setWithTypeParametersSrc/setWithTypeParametersDependency.kt new file mode 100644 index 00000000000..597ff0baf2b --- /dev/null +++ b/idea/testData/resolve/referenceWithLib/setWithTypeParametersSrc/setWithTypeParametersDependency.kt @@ -0,0 +1,4 @@ +package dependency + +fun List.set(s: String, b: T) { +} diff --git a/idea/tests/org/jetbrains/jet/resolve/ReferenceResolveWithLibTestGenerated.java b/idea/tests/org/jetbrains/jet/resolve/ReferenceResolveWithLibTestGenerated.java index cc9760fb6a1..8785c4b24b5 100644 --- a/idea/tests/org/jetbrains/jet/resolve/ReferenceResolveWithLibTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/resolve/ReferenceResolveWithLibTestGenerated.java @@ -36,6 +36,11 @@ public class ReferenceResolveWithLibTestGenerated extends AbstractReferenceResol JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("idea/testData/resolve/referenceWithLib"), Pattern.compile("^(.+)\\.kt$"), false); } + @TestMetadata("delegatedPropertyWithTypeParameters.kt") + public void testDelegatedPropertyWithTypeParameters() throws Exception { + doTest("idea/testData/resolve/referenceWithLib/delegatedPropertyWithTypeParameters.kt"); + } + @TestMetadata("fakeOverride.kt") public void testFakeOverride() throws Exception { doTest("idea/testData/resolve/referenceWithLib/fakeOverride.kt"); @@ -46,9 +51,19 @@ public class ReferenceResolveWithLibTestGenerated extends AbstractReferenceResol doTest("idea/testData/resolve/referenceWithLib/fakeOverride2.kt"); } + @TestMetadata("iteratorWithTypeParameter.kt") + public void testIteratorWithTypeParameter() throws Exception { + doTest("idea/testData/resolve/referenceWithLib/iteratorWithTypeParameter.kt"); + } + @TestMetadata("sameNameInLib.kt") public void testSameNameInLib() throws Exception { doTest("idea/testData/resolve/referenceWithLib/sameNameInLib.kt"); } + @TestMetadata("setWithTypeParameters.kt") + public void testSetWithTypeParameters() throws Exception { + doTest("idea/testData/resolve/referenceWithLib/setWithTypeParameters.kt"); + } + }