@@ -174,13 +174,17 @@ private fun doCompletions(file: CompiledFile, cursor: Int, surroundingElement: K
174
174
private fun completeMembers (file : CompiledFile , cursor : Int , receiverExpr : KtExpression ): Sequence <DeclarationDescriptor > {
175
175
// thingWithType.?
176
176
val lexicalScope = file.scopeAtPoint(cursor)
177
+ var descriptors = emptySequence<DeclarationDescriptor >()
177
178
if (lexicalScope != null ) {
178
179
val receiverType = file.typeOfExpression(receiverExpr, lexicalScope)
179
180
if (receiverType != null ) {
180
181
LOG .debug(" Completing members of instance '{}'" , receiverType)
181
182
val members = receiverType.memberScope.getContributedDescriptors().asSequence()
182
183
val extensions = extensionFunctions(lexicalScope).filter { isExtensionFor(receiverType, it) }
183
- return members + extensions
184
+ descriptors = members + extensions
185
+ if (! DescriptorUtils .isCompanionObject(TypeUtils .getClassDescriptor(receiverType))) {
186
+ return descriptors
187
+ }
184
188
}
185
189
}
186
190
// JavaClass.?
@@ -189,7 +193,7 @@ private fun completeMembers(file: CompiledFile, cursor: Int, receiverExpr: KtExp
189
193
LOG .debug(" Completing static members of '{}'" , referenceTarget.fqNameSafe)
190
194
val statics = referenceTarget.staticScope.getContributedDescriptors().asSequence()
191
195
val classes = referenceTarget.unsubstitutedInnerClassesScope.getContributedDescriptors().asSequence()
192
- return statics + classes
196
+ return descriptors + statics + classes
193
197
}
194
198
195
199
LOG .debug(" Can't find member scope for {}" , receiverExpr.text)
0 commit comments