Fix type of member references without explicit class on LHS

Type of '::foo' for a function foo in a class A should be KFunction0<Unit>, not
KFunction1<A, Unit>. Continue to report an error in this case, to be maybe
supported in the future
This commit is contained in:
Alexander Udalov
2016-04-11 13:29:11 +03:00
parent d8263eb0b8
commit 76d3246514
5 changed files with 38 additions and 33 deletions
@@ -248,7 +248,9 @@ private fun MutableCollection<LookupElement>.addLookupElementsForNullable(factor
fun CallableDescriptor.callableReferenceType(resolutionFacade: ResolutionFacade): FuzzyType? {
if (!CallType.CALLABLE_REFERENCE.descriptorKindFilter.accepts(this)) return null // not supported by callable references
return getReflectionTypeForCandidateDescriptor(this, resolutionFacade.getFrontendService(ReflectionTypes::class.java))?.toFuzzyType(emptyList())
return getReflectionTypeForCandidateDescriptor(
this, resolutionFacade.getFrontendService(ReflectionTypes::class.java), false
)?.toFuzzyType(emptyList())
}
enum class SmartCompletionItemPriority {