Fixed KT-6673 Completion: no properties from outside class inside anonymous object

#KT-6673 Fixed
This commit is contained in:
Valentin Kipyatkov
2015-03-03 14:54:28 +03:00
parent 5e66727ff6
commit c5d21e1f45
4 changed files with 32 additions and 5 deletions
@@ -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<ReceiverParameterDescriptor> {
// 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<ReceiverParameterDe
while (current != null) {
withInstance.add(current)
val classDescriptor = current as? ClassDescriptor
if (classDescriptor != null && !classDescriptor.isInner()) break
if (classDescriptor != null && !classDescriptor.isInner() && !DescriptorUtils.isLocal(classDescriptor)) break
current = current!!.getContainingDeclaration()
}