Option for rendering types with enhancement
This commit is contained in:
@@ -182,6 +182,7 @@ interface DescriptorRendererOptions {
|
||||
var classWithPrimaryConstructor: Boolean
|
||||
var verbose: Boolean
|
||||
var unitReturnType: Boolean
|
||||
var enhancedTypes: Boolean
|
||||
var withoutReturnType: Boolean
|
||||
var normalizedVisibilities: Boolean
|
||||
var renderDefaultVisibility: Boolean
|
||||
|
||||
@@ -78,6 +78,7 @@ internal class DescriptorRendererOptionsImpl : DescriptorRendererOptions {
|
||||
override var verbose by property(false)
|
||||
override var unitReturnType by property(true)
|
||||
override var withoutReturnType by property(false)
|
||||
override var enhancedTypes by property(false)
|
||||
override var normalizedVisibilities by property(false)
|
||||
override var renderDefaultVisibility by property(true)
|
||||
override var uninferredTypeParameterAsName by property(false)
|
||||
|
||||
@@ -19,7 +19,6 @@ package org.jetbrains.kotlin.types
|
||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRendererOptions
|
||||
import org.jetbrains.kotlin.resolve.scopes.MemberScope
|
||||
|
||||
interface TypeWithEnhancement {
|
||||
val origin: UnwrappedType
|
||||
@@ -53,8 +52,12 @@ class FlexibleTypeWithEnhancement(
|
||||
override fun makeNullableAsSpecified(newNullability: Boolean): UnwrappedType
|
||||
= origin.makeNullableAsSpecified(newNullability).wrapEnhancement(enhancement.unwrap().makeNullableAsSpecified(newNullability))
|
||||
|
||||
override fun render(renderer: DescriptorRenderer, options: DescriptorRendererOptions): String
|
||||
= origin.render(renderer, options)
|
||||
override fun render(renderer: DescriptorRenderer, options: DescriptorRendererOptions): String {
|
||||
if (options.enhancedTypes) {
|
||||
return renderer.renderType(enhancement)
|
||||
}
|
||||
return origin.render(renderer, options)
|
||||
}
|
||||
|
||||
override val delegate: SimpleType get() = origin.delegate
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user