diff --git a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/LookupTrackerTestGenerated.java b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/LookupTrackerTestGenerated.java index 4b1bd5a3648..c7db1b2dbfb 100644 --- a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/LookupTrackerTestGenerated.java +++ b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/LookupTrackerTestGenerated.java @@ -41,6 +41,12 @@ public class LookupTrackerTestGenerated extends AbstractLookupTrackerTest { doTest(fileName); } + @TestMetadata("localDeclarations") + public void testLocalDeclarations() throws Exception { + String fileName = JetTestUtils.navigationMetadata("jps-plugin/testData/incremental/lookupTracker/localDeclarations/"); + doTest(fileName); + } + @TestMetadata("packageDeclarations") public void testPackageDeclarations() throws Exception { String fileName = JetTestUtils.navigationMetadata("jps-plugin/testData/incremental/lookupTracker/packageDeclarations/"); diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/localDeclarations/bar.kt b/jps/jps-plugin/testData/incremental/lookupTracker/localDeclarations/bar.kt new file mode 100644 index 00000000000..ddac0faf273 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/lookupTracker/localDeclarations/bar.kt @@ -0,0 +1 @@ +package bar diff --git a/jps/jps-plugin/testData/incremental/lookupTracker/localDeclarations/locals.kt b/jps/jps-plugin/testData/incremental/lookupTracker/localDeclarations/locals.kt new file mode 100644 index 00000000000..b6c26a2dafb --- /dev/null +++ b/jps/jps-plugin/testData/incremental/lookupTracker/localDeclarations/locals.kt @@ -0,0 +1,49 @@ +package local.declarations + +import bar.* + +/*p:local.declarations*/fun f(p: /*p:local.declarations*/Any) { + p.toString() + + val a = 1 + val b = a + fun localFun() = b + fun /*p:local.declarations*/Int.localExtFun() = /*p:local.declarations p:bar*/localFun() + + interface LocalI { + var a: /*p:local.declarations*/Int + fun foo() + } + + class LocalC : LocalI { + override var a = 1 + + override fun foo() {} + + var b = "bbb" + + fun bar() = b + } + + val o = object { + val a = "aaa" + fun foo(): LocalI = null as LocalI + } + + /*p:local.declarations p:bar*/localFun() + 1./*p:local.declarations p:bar*/localExtFun() + + val c = /*p:local.declarations p:bar*/LocalC() + c.a + c.b + c.foo() + c.bar() + + val i: LocalI = c + i.a + i.foo() + + o.a + val ii = o.foo() + ii.a +}