From 745bed74b251d723f6e3ce5be5ffca73e26f4e5a Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Tue, 14 Jul 2015 12:48:11 +0300 Subject: [PATCH] Minor fix in partial body resolve --- .../kotlin/resolve/lazy/PartialBodyResolveFilter.kt | 2 ++ .../ClassInitializerHasNoValue.dump | 11 +++++++++++ .../partialBodyResolve/ClassInitializerHasNoValue.kt | 9 +++++++++ .../idea/resolve/PartialBodyResolveTestGenerated.java | 6 ++++++ 4 files changed, 28 insertions(+) create mode 100644 idea/testData/resolve/partialBodyResolve/ClassInitializerHasNoValue.dump create mode 100644 idea/testData/resolve/partialBodyResolve/ClassInitializerHasNoValue.kt diff --git a/idea/ide-common/src/org/jetbrains/kotlin/resolve/lazy/PartialBodyResolveFilter.kt b/idea/ide-common/src/org/jetbrains/kotlin/resolve/lazy/PartialBodyResolveFilter.kt index 37c122657b4..d24c58ee33f 100644 --- a/idea/ide-common/src/org/jetbrains/kotlin/resolve/lazy/PartialBodyResolveFilter.kt +++ b/idea/ide-common/src/org/jetbrains/kotlin/resolve/lazy/PartialBodyResolveFilter.kt @@ -552,6 +552,8 @@ class PartialBodyResolveFilter( true } + is JetClassInitializer -> false + else -> true } } diff --git a/idea/testData/resolve/partialBodyResolve/ClassInitializerHasNoValue.dump b/idea/testData/resolve/partialBodyResolve/ClassInitializerHasNoValue.dump new file mode 100644 index 00000000000..beeecf55bac --- /dev/null +++ b/idea/testData/resolve/partialBodyResolve/ClassInitializerHasNoValue.dump @@ -0,0 +1,11 @@ +Resolve target: fun foo(): kotlin.Int +---------------------------------------------- +class C { + init { + foo() + /* STATEMENT DELETED: bar() */ + } +} + +fun foo() = 1 +fun bar() = 2 diff --git a/idea/testData/resolve/partialBodyResolve/ClassInitializerHasNoValue.kt b/idea/testData/resolve/partialBodyResolve/ClassInitializerHasNoValue.kt new file mode 100644 index 00000000000..70322619994 --- /dev/null +++ b/idea/testData/resolve/partialBodyResolve/ClassInitializerHasNoValue.kt @@ -0,0 +1,9 @@ +class C { + init { + foo() + bar() + } +} + +fun foo() = 1 +fun bar() = 2 \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/resolve/PartialBodyResolveTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/resolve/PartialBodyResolveTestGenerated.java index cb3f15221fb..a0a08e82022 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/resolve/PartialBodyResolveTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/resolve/PartialBodyResolveTestGenerated.java @@ -65,6 +65,12 @@ public class PartialBodyResolveTestGenerated extends AbstractPartialBodyResolveT doTest(fileName); } + @TestMetadata("ClassInitializerHasNoValue.kt") + public void testClassInitializerHasNoValue() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/resolve/partialBodyResolve/ClassInitializerHasNoValue.kt"); + doTest(fileName); + } + @TestMetadata("DeclarationsBefore.kt") public void testDeclarationsBefore() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/resolve/partialBodyResolve/DeclarationsBefore.kt");