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
@@ -48,6 +48,7 @@ object IdeDescriptorRenderers {
renderDefaultVisibility = false
overrideRenderingPolicy = OverrideRenderingPolicy.RENDER_OVERRIDE
unitReturnType = false
enhancedTypes = true
modifiers = DescriptorRendererModifier.ALL
renderUnabbreviatedType = false
annotationArgumentsRenderingPolicy = AnnotationArgumentsRenderingPolicy.UNLESS_EMPTY
@@ -37,7 +37,7 @@ fun KotlinType.approximateFlexibleTypes(
preferStarForRaw: Boolean = false
): KotlinType {
if (isDynamic()) return this
return approximateNonDynamicFlexibleTypes(preferNotNull, preferStarForRaw)
return unwrapEnhancement().approximateNonDynamicFlexibleTypes(preferNotNull, preferStarForRaw)
}
private fun KotlinType.approximateNonDynamicFlexibleTypes(