Render flexible types with enhancement as enhanced in IDE (KT-25622)

Main targets for the fix is completion, parameters info, inlay hints and
override/implement.

Other IDE functions might be affected.

 #KT-24911 Fixed
 #KT-25616 Fixed
 #KT-25622 Fixed
This commit is contained in:
Nikolay Krasko
2018-08-01 17:10:04 +03:00
parent 653d1d00de
commit 759ffafb0a
18 changed files with 95 additions and 3 deletions
@@ -32,6 +32,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
import org.jetbrains.kotlin.idea.core.OptionalParametersHelper
import org.jetbrains.kotlin.idea.core.resolveCandidates
import org.jetbrains.kotlin.idea.resolve.ResolutionFacade
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
import org.jetbrains.kotlin.idea.util.ShadowedDeclarationsFilter
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.load.java.NULLABILITY_ANNOTATIONS
@@ -248,6 +249,7 @@ abstract class KotlinParameterInfoWithCallHandlerBase<TArgumentList : KtElement,
override fun getParametersForDocumentation(item: FunctionDescriptor, context: ParameterInfoContext) = emptyArray<Any>()
private val RENDERER = DescriptorRenderer.SHORT_NAMES_IN_TYPES.withOptions {
enhancedTypes = true
renderUnabbreviatedType = false
}
@@ -70,6 +70,7 @@ class ImportAwareClassifierNamePolicy(
fun getInlayHintsTypeRenderer(bindingContext: BindingContext, context: KtElement) =
DescriptorRenderer.COMPACT_WITH_SHORT_TYPES.withOptions {
enhancedTypes = true
textFormat = RenderingFormat.PLAIN
renderUnabbreviatedType = false
classifierNamePolicy = ImportAwareClassifierNamePolicy(bindingContext, context)