From c5d21e1f4578fef64357a59e5b9d0a88c63dde58 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Tue, 3 Mar 2015 14:54:28 +0300 Subject: [PATCH] Fixed KT-6673 Completion: no properties from outside class inside anonymous object #KT-6673 Fixed --- .../kotlin/idea/util/implicitReceiversUtils.kt | 11 ++++++----- .../basic/common/InsideAnonymousClass.kt | 14 ++++++++++++++ .../completion/JSBasicCompletionTestGenerated.java | 6 ++++++ .../JvmBasicCompletionTestGenerated.java | 6 ++++++ 4 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 idea/testData/completion/basic/common/InsideAnonymousClass.kt diff --git a/idea/ide-common/src/org/jetbrains/kotlin/idea/util/implicitReceiversUtils.kt b/idea/ide-common/src/org/jetbrains/kotlin/idea/util/implicitReceiversUtils.kt index d9b45e462af..b2b408e704e 100644 --- a/idea/ide-common/src/org/jetbrains/kotlin/idea/util/implicitReceiversUtils.kt +++ b/idea/ide-common/src/org/jetbrains/kotlin/idea/util/implicitReceiversUtils.kt @@ -16,12 +16,13 @@ package org.jetbrains.kotlin.idea.util -import org.jetbrains.kotlin.resolve.scopes.JetScope -import org.jetbrains.kotlin.descriptors.ReceiverParameterDescriptor -import org.jetbrains.kotlin.descriptors.DeclarationDescriptor -import java.util.LinkedHashSet import org.jetbrains.kotlin.descriptors.ClassDescriptor +import org.jetbrains.kotlin.descriptors.DeclarationDescriptor +import org.jetbrains.kotlin.descriptors.ReceiverParameterDescriptor +import org.jetbrains.kotlin.resolve.DescriptorUtils +import org.jetbrains.kotlin.resolve.scopes.JetScope import java.util.HashSet +import java.util.LinkedHashSet public fun JetScope.getImplicitReceiversWithInstance(): List { // we use a set to workaround a bug with receiver for default object present twice in the result of getImplicitReceiversHierarchy() @@ -32,7 +33,7 @@ public fun JetScope.getImplicitReceiversWithInstance(): List + } + } +} + +// EXIST: xxx1 +// EXIST: xxx2 +// EXIST: xxx3 +// EXIST: x diff --git a/idea/tests/org/jetbrains/kotlin/completion/JSBasicCompletionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/completion/JSBasicCompletionTestGenerated.java index 27f4fc04eff..01c1da18caf 100644 --- a/idea/tests/org/jetbrains/kotlin/completion/JSBasicCompletionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/completion/JSBasicCompletionTestGenerated.java @@ -577,6 +577,12 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes doTest(fileName); } + @TestMetadata("InsideAnonymousClass.kt") + public void testInsideAnonymousClass() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/InsideAnonymousClass.kt"); + doTest(fileName); + } + @TestMetadata("JavaPackage.kt") public void testJavaPackage() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/JavaPackage.kt"); diff --git a/idea/tests/org/jetbrains/kotlin/completion/JvmBasicCompletionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/completion/JvmBasicCompletionTestGenerated.java index d8993275d13..4e008f49d6c 100644 --- a/idea/tests/org/jetbrains/kotlin/completion/JvmBasicCompletionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/completion/JvmBasicCompletionTestGenerated.java @@ -577,6 +577,12 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT doTest(fileName); } + @TestMetadata("InsideAnonymousClass.kt") + public void testInsideAnonymousClass() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/InsideAnonymousClass.kt"); + doTest(fileName); + } + @TestMetadata("JavaPackage.kt") public void testJavaPackage() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/JavaPackage.kt");