[NI] Write info about hidden descriptor to candidate

This commit is contained in:
Mikhail Zarechenskiy
2017-06-08 16:01:00 +03:00
parent 38d9123a57
commit def0816095
4 changed files with 21 additions and 3 deletions
@@ -17,7 +17,9 @@
package org.jetbrains.kotlin.resolve.calls.tower
import org.jetbrains.kotlin.builtins.createFunctionType
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.descriptors.annotations.Annotations
@@ -39,6 +41,7 @@ import org.jetbrains.kotlin.resolve.calls.tasks.ExplicitReceiverKind
import org.jetbrains.kotlin.resolve.calls.tasks.TracingStrategyImpl
import org.jetbrains.kotlin.resolve.calls.util.CallMaker
import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns
import org.jetbrains.kotlin.resolve.isHiddenInResolution
import org.jetbrains.kotlin.types.*
import org.jetbrains.kotlin.types.expressions.DoubleColonExpressionResolver
import org.jetbrains.kotlin.types.expressions.ExpressionTypingServices
@@ -53,7 +56,8 @@ class KotlinResolutionCallbacksImpl(
val typeApproximator: TypeApproximator,
val kotlinToResolvedCallTransformer: KotlinToResolvedCallTransformer,
val argumentTypeResolver: ArgumentTypeResolver,
val doubleColonExpressionResolver: DoubleColonExpressionResolver
val doubleColonExpressionResolver: DoubleColonExpressionResolver,
val languageVersionSettings: LanguageVersionSettings
): KotlinResolutionCallbacks {
val trace: BindingTrace = topLevelCallContext.trace
@@ -206,4 +210,8 @@ class KotlinResolutionCallbacksImpl(
expressionTypingServices.getTypeInfo(psiCallArgument.collectionLiteralExpression, actualContext)
}
override fun isHiddenInResolution(descriptor: DeclarationDescriptor, isSuperCall: Boolean): Boolean {
return descriptor.isHiddenInResolution(languageVersionSettings, isSuperCall)
}
}
@@ -160,7 +160,8 @@ class PSICallResolver(
}
private fun createLambdaAnalyzer(context: BasicCallResolutionContext) =
KotlinResolutionCallbacksImpl(context, expressionTypingServices, typeApproximator, kotlinToResolvedCallTransformer, argumentTypeResolver, doubleColonExpressionResolver)
KotlinResolutionCallbacksImpl(context, expressionTypingServices, typeApproximator, kotlinToResolvedCallTransformer,
argumentTypeResolver, doubleColonExpressionResolver, languageVersionSettings)
private fun calculateExpectedType(context: BasicCallResolutionContext): UnwrappedType? {
val expectedType = context.expectedType.unwrap()